ํ”„๋กœ์ ํŠธ/TRIP SHARE

TripShare ํŒ€ ํ”„๋กœ์ ํŠธ - ๊ธฐํš ์ตœ์ข…, ๊ฐœ๋ฐœ ์‹œ์ž‘

๊ฐ€์šค์ด 2024. 5. 3. 10:49

Intro


๋“œ๋””์–ด ๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ–ˆ๋‹ค..!

๋””์ž์ด๋„ˆ ๋ฉ˜ํ† ๋‹˜๊ป˜ ํ”ผ๋“œ๋ฐฑ์„ ์™•์ฐฝ ๋ฐ›๊ณ .. ์šฐ๋ฆฌ๋Š” ๊ธฐ๋Šฅ ๋ช…์„ธ๋„ ์ƒ์„ธํžˆ ์ž‘์„ฑํ–ˆ๊ณ  ๋””์ž์ธ๋„ ๋‚˜๋ฆ„ ์™„๋ฒฝํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ๋งŽ์ด ํ˜ผ๋‚˜๊ณ (?)..

๋งŽ์€ ํŒ์„ ๋ฐ›๊ณ  ๋‹ค์‹œ ๊ธฐํš์— ๋ถˆํƒœ์› ๋‹ค.

์ด๋Ÿฐ ๋‹จ๊ธฐ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” MVP๋ฅผ ์ˆ˜๋ฆฝํ•ด์•ผ ํ•œ๋‹ค๊ณ  ํ•˜์…จ๊ณ  ์šฐ๋ฆฌ๊ฐ€ ๊ธฐํšํ•œ ํ”„๋กœ์ ํŠธ์—” ๋งŽ์€ ๊ธฐ๋Šฅ๋“ค์ด ์žˆ์—ˆ๋Š”๋ฐ MVP ์„ค์ • ๋•๋ถ„์— ํ•ต์‹ฌ ๊ธฐ๋Šฅ์„ ์šฐ์„ ์ˆœ์œ„๋กœ ๋‘๊ณ  ๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

 

ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ ์ƒํ™ฉ


๊ธฐ๋Šฅ ์ƒ์„ธ ๋ช…์„ธ

 

๋…ธ์…˜์— ๊ฐ ํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ๋ณ„๋กœ ๋‚˜๋ˆ„์–ด ๊ผผ๊ผผํžˆ ์ž‘์„ฑํ–ˆ์—ˆ๋Š”๋ฐ ๊ฒŒ์‹œ๊ธ€ ๋‚ ์งœ ํ‘œ๊ธฐ๋Š” ์–ด๋–ป๊ฒŒ ์ •ํ•  ๊ฒƒ์ธ์ง€, ํ™ˆ์—๋Š” ์ถ”์ฒœ ๊ฒŒ์‹œ๊ธ€์ด ๋ช‡ ๊ฐœ๊นŒ์ง€ ๋ณด์ผ ๊ฒƒ์ธ์ง€, ์ œ๋ชฉ ๊ธ€์ž ์ˆ˜๋Š” ์ œํ•œ์„ ๋‘˜ ๊ฒƒ์ธ์ง€ ๋“ฑ... ๋†“์นœ ๋ถ€๋ถ„๋“ค์ด ๋งŽ์•˜๋‹ค.

๊ธฐํš, ๋””์ž์ธ, ๊ฐœ๋ฐœ๊นŒ์ง€ ๋ชจ๋‘ ์ž‘์—…ํ•˜๋Š” ๊ฒŒ ์ฒ˜์Œ์ด๋ผ ๋ฏธ์ˆ™ํ•œ ๋ถ€๋ถ„๋“ค์ด ๋งŽ์•˜๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

ํŒ€์›๋ถ„๋“ค๊ณผ ํƒญ ๋ณ„๋กœ ๋‚˜๋ˆ ์„œ ์ƒ์„ธ ๋ช…์„ธ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค.

์œ„ ๋ถ€๋ถ„๋“ค์„ ํ˜ผ์ž ์ž„์˜๋กœ ์ •ํ•  ์ˆ˜๋Š” ์—†์œผ๋‹ˆ Figma์˜ ๋Œ“๊ธ€ ๊ธฐ๋Šฅ์„ ์ ๊ทน ํ™œ์šฉํ•˜์˜€๋‹ค.

 

 

๋Œ“๊ธ€ ๊ธฐ๋Šฅ์€ ์—ฌ๋Ÿฌ๋ชจ๋กœ ๋งŽ์ด ์“ฐ์˜€๋‹ค.

์šฐ๋ฆฌ ํŒ€์—” ๋””์ž์ธ์— ๊ฐ๊ฐ์ด ์žˆ์œผ์‹  ๋ถ„์ด ๋‘ ๋ถ„์ด ๊ณ„์…จ๋Š”๋ฐ (์•„์ฃผ ๋“ ๋“ ํ–ˆ๋‹ค.)

๋‘ ๋ถ„์ด์„œ ์ „์ฒด์ ์ธ ๋””์ž์ธ์„ ๋งŒ๋“ค์–ด์ฃผ์…จ๊ณ  ์„ธ๋ถ€ ๋””์ž์ธ์€ Figma ๋Œ“๊ธ€ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ ์˜๊ฒฌ์„ ์ฃผ๊ณ  ๋ฐ›์œผ๋ฉฐ ์™„์„ฑํ–ˆ๋‹ค.

 

 

 

ํ”„๋กœ์ ํŠธ ์„ธํŒ…

๋“œ๋””์–ด ๊ฐœ๋ฐœ..!!์„ ๋“ค์–ด๊ฐ€๊ธฐ ์ „์— ์—ฌ๋Ÿฌ ๊ทœ์น™๋“ค์„ ์„ค์ •ํ•˜์˜€๋‹ค.

ํ•จ๊ป˜ ์ž‘์—…ํ•˜๋Š” ์ฝ”๋“œ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ž˜๋ชปํ•˜๋‹ค๊ฐ€๋Š” ์ฝ”๋“œ์— ๊ฐœ์„ฑ์ด ๋“œ๋Ÿฌ๋‚  ์ˆ˜ ์žˆ๋‹ค..

์‚ฌ๋žŒ๋งˆ๋‹ค ์ฝ”๋“œ๋ฅผ ์งœ๋Š” ๋ฐฉ์‹, ๋ณ€์ˆ˜ ๋„ค์ด๋ฐ ๋“ฑ์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

(๋‚˜๋Š” ํŠนํžˆ ๊ทธ๋Ÿฐ ๊ฑธ ์ž˜ ๋ชป๋ด์„œ...) ๊ฐœ๋ฐœ์— ๋“ค์–ด๊ฐ€๊ธฐ ์ „์— ํŒ€์›๋“ค๊ณผ ๊ฐœ๋ฐœ ๊ทœ์น™์„ ์„ค์ •ํ–ˆ๋‹ค.

๊ฐœ๋ฐœ ๊ทœ์น™์ด๋ผ ํ•˜๋ฉด ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ ๊ธฐ์ค€, ๋ณ€์ˆ˜ ๋„ค์ด๋ฐ, merge ๊ธฐ์ค€, ์ฝ”๋“œ prettier ์„ค์ •, ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์ปจ๋ฒค์…˜ ๋“ฑ๋“ฑ ์ด๋Ÿฌํ•œ ๋‚ด์šฉ๋“ค์ด๋‹ค.

๋‚ด๊ฐ€ ์ƒ๊ฐํ•˜์ง€ ๋ชปํ–ˆ๋˜ ๋ถ€๋ถ„๋“ค๋„ ํŒ€์›๋ถ„๋“ค์ด '์ด๋Ÿฐ ๊ฒƒ๋„ ์ •ํ•ด์•ผ ํ•˜์ง€ ์•Š๋‚˜์š”?' ๋จผ์ € ์ œ์•ˆํ•ด์ฃผ์…”์„œ ๋” ๊ผผ๊ผผํ•˜๊ฒŒ ๊ทœ์น™์„ ์„ค์ •ํ–ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

 

  • prettier ์„ค์ •

์ด ๋ถ€๋ถ„์€ prettier์— ์•„์ง ๋ฏธ์ˆ™ํ•œ(?) ํŒ€์›๋“ค๋„ ์žˆ์–ด์„œ ๋‚ด๊ฐ€ ๋งก์•„์„œ ๊ทœ์น™์„ ์„ค์ •ํ–ˆ๋‹ค.

๋“ค์—ฌ์“ฐ๊ธฐ, ํ•œ์ค„ ์ œํ•œ ๊ธธ์ด ์ •๋„ ์–˜๊ธฐํ•˜๊ณ  ์ ์šฉํ–ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐ ์„ธํŒ…์„ ํ•จ๊ป˜ ํ•˜๋ฉด์„œ prettier ์„ค์ •๊นŒ์ง€ ๋งˆ์ณค๋‹ค.

 

  • ๋„ค์ด๋ฐ

๋ณ€์ˆ˜๋ช…์€ camelCase, ์ƒ์ˆ˜๋Š” UPPER_CASE, ๋ณ€์ˆ˜๊ฐ€ boolean์ผ ๊ฒฝ์šฐ is๋ฅผ ์•ž์— ๋ถ™์ด๊ธฐ ๋“ฑ๋“ฑ

๊ฑฐ๊ธฐ์— ํด๋”๋ช… ๋„ค์ด๋ฐ ๋ฃฐ๊นŒ์ง€ ์„ค์ •ํ–ˆ๋‹ค.

 

  • ๋ธŒ๋žœ์น˜ ๋‚˜๋ˆ„๊ธฐ

ํ•œ ๋ถ„์€ ๊ฐ์ž ๋ธŒ๋žœ์น˜๋ฅผ ๋”ฐ๋กœ ๊ฐ€์ง€๊ณ ์„œ (์ด๋ฆ„์œผ๋กœ ์ƒ์„ฑ) ๊ณ„์† ๊ทธ ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…ํ•˜์˜€๋‹ค๊ณ  ํ•˜์…จ๊ณ , ๋‚˜์™€ ๋‹ค๋ฅธ ๋ถ„์€ ๊ธฐ๋Šฅ ๋ณ„๋กœ ๋ธŒ๋žœ์น˜ ๋‚˜๋ˆ„๊ณ  ํ•ด๋‹น ๊ธฐ๋Šฅ์ด ์™„๋ฃŒ๋˜๊ณ  merge ํ›„ ๋ธŒ๋žœ์น˜ ์‚ญ์ œํ•˜๋Š” ๋ฃฐ๋กœ ์ž‘์—…ํ•˜์˜€๋˜ ๊ฒฝํ—˜์ด ์žˆ์–ด์„œ ์ด ๋ถ€๋ถ„์€ ๋‹คํ•จ๊ป˜ ์–˜๊ธฐํ•˜๋ฉด์„œ ๊ธฐ๋Šฅ ๋ณ„๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒŒ ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค ํŒ๋‹จํ•˜์—ฌ ํ›„์ž์˜ ๋ฃฐ๋กœ ์ •ํ–ˆ๋‹ค.

๋ธŒ๋žœ์น˜ ๋„ค์ด๋ฐ ๋ฃฐ๋„ ์ •ํ–ˆ๋‹ค publishing/~~~, feature/~~~, design/~~~, bug/~~~ ์ด๋Ÿฐ์‹์œผ๋กœ ๊ทœ์น™์„ ์ •ํ–ˆ๋‹ค.

 

  • Pull Request

์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด์„œ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋”๋ผ๋„ ์ฝ”๋“œ๋ฆฌ๋ทฐ๋„ ํ•จ๊ป˜ ์ง„ํ–‰ํ–ˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ merge ๊ธฐ์ค€์„ ๋‘ ๋ช…์ด์ƒ ok ์‚ฌ์ธ์„ ๋ฐ›์•˜์„ ๊ฒฝ์šฐ์—๋งŒ ๋จธ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ •ํ–ˆ๋‹ค.

๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ์ฝ”๋“œ๋ฅผ ์ฝ์–ด๋ณด๋Š” ์ž‘์—… ๋˜ํ•œ ์ค‘์š”ํ•œ ๊ฒฝํ—˜์ด๊ณ  ํ˜น์‹œ ๋†“์นœ ๋ถ€๋ถ„(์˜คํƒ€๋‚˜ ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜ ๋“ฑ)์„ 3์ž์˜ ์ž…์žฅ์—์„œ ๋ดค์„ ๋•Œ ๋” ํŒŒ์•…์ด ์‰ฌ์šธ ์ˆ˜ ์žˆ๊ธฐ ๋–„๋ฌธ์ด๋‹ค.

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋ธŒ๋žœ์น˜์—์„œ ๋ชจ๋“  ์ž‘์—…์ด ๋๋‚˜๊ณ  dev๋กœ pull request ์‹œ, ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ๋ณด๊ธฐ ์‰ฝ๊ฒŒ ์–ด๋–ค ๊ธฐ๋Šฅ์„ ์ˆ˜์ •ํ–ˆ๋Š”์ง€ ๊ผผ๊ผผํ•˜๊ฒŒ ์ž‘์„ฑํ•˜๋„๋ก ํ•˜์˜€๋‹ค.

ํŒ€์› ์ค‘ ํ•œ ๋ถ„์ด Pull Request Template๋ฅผ ๋งŒ๋“ค์–ด์ฃผ์…”์„œ ์–‘์‹์— ๋งž์ถฐ pr์„ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ์–ด์„œ ํŽธํ–ˆ๋‹ค.

 

  • ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์ปจ๋ฒค์…˜

https://velog.io/@archivvonjang/Git-Commit-Message-Convention

 

[Git] Commit Message Convention

Git์„ ํ˜‘์—…์— ์•Œ๋งž๊ฒŒ, ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์— ์œ ์šฉํ•˜๊ฒŒ, ๊น”๋”ํ•œ ๊ฐ€๋…์„ฑ์„ ๊ฐ€์ง€๋„๋ก ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ข‹์€ ์ปค๋ฐ‹ ์„ธ๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค. ๊ทธ๋Ÿฌ๊ธฐ ์œ„ํ•ด์„œ ์ปค๋ฐ‹ ์ปจ๋ฒค์…˜์„ ์ •๋ฆฌํ•˜์˜€๋‹ค.

velog.io

์œ„์˜ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ข‹์€ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋ฅผ ์“ธ ์ˆ˜ ์žˆ๊ฒŒ ๊ธฐ์ค€์„ ์„ค์ •ํ–ˆ๋‹ค.

 

 

๋งˆ๋ฌด๋ฆฌ


ํ”„๋กœ์ ํŠธ ์„ธํŒ…๋„ ๋๋‚ฌ๊ณ  ์ด์ œ ๋ณธ๊ฒฉ์ ์œผ๋กœ ๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ–ˆ๋‹ค.

ํ•˜๋ฃจ์— ๋ฏธํŒ…์„ ๋‘์‹œ๊ฐ„ ๋„˜๊ฒŒ ํ•œ ์ ๋„ ์žˆ์—ˆ๊ณ .. ํšŒ์˜๋ฅผ ์ง„์งœ ๋งŽ์ด ํ–ˆ๋Š”๋ฐ ๊ทธ ๋•๋ถ„์—”๊ฐ€ ๋‚˜๋ฆ„ ์ฒด๊ณ„๊ฐ€ ์žกํžŒ ๊ฒƒ ๊ฐ™์•„์„œ? ๋งˆ์Œ์€ ์•ˆ์ •์ ์ด์—ˆ๋‹ค.

๊ฐœ๋ฐœ์„ ๋Šฆ๊ฒŒ ์‹œ์ž‘ํ•ด์„œ ๋‹ค๋“ค ์กฐ๊ธˆ ์กฐ๊ธ‰ํ•œ ๋งˆ์Œ์ด ์žˆ์ง€๋งŒ ๊ทธ๋ž˜๋„ ๋‹ค๋“ค ์—ด์‹ฌํžˆ ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ข‹์€ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ฌ ๊ฑฐ๋ผ ์ƒ๊ฐ๋œ๋‹ค.