๋งบ๊ณ ๐Ÿ‡ 2์ฐจ ํ”„๋กœ์ ํŠธ ํšŒ๊ณ ๋ก

์ฝ”๋”ฉํ•˜๋Š”๋ถ•์–ดยท2021๋…„ 8์›” 1์ผ
0

(Front+Back) ํŒ€ ํ”„๋กœ์ ํŠธ - Metgo

๋ชฉ๋ก ๋ณด๊ธฐ
10/10
post-thumbnail

์ €๋ฒˆ ํ”„๋กœ์ ํŠธ๋•Œ์™€ ์˜ท์ด ๋˜‘๊ฐ™๋„ค์š”. ๋œป๋ฐ–์˜ ๋‹จ๋ฒŒ์‹ ์‚ฌํ–‰


๐Ÿ‡ Team '๋งบ๊ณ (Metgo)'

๐Ÿ‘‰๐Ÿป ํ”„๋กœ์ ํŠธ 'Metgo' Github
๐Ÿ‘‰๐Ÿป ํ”„๋กœ์ ํŠธ 'Metgo' ์ „์ฒด ์‹œ์—ฐ ๋™์˜์ƒ

๐Ÿ”จ Front๊ฐ€ ์‚ฌ์šฉํ•œ ๊ธฐ์ˆ 

  • HTML
  • React
  • Javascript, JSX
  • Styled-Component



๐Ÿ‡ ์ˆจ ๋Œ๋ฆด ํ‹ˆ๋„ ์—†์ด ๋ฐ”๋กœ ์‹œ์ž‘๋œ 2์ฐจ ํ”„๋กœ์ ํŠธ

1์ฐจ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•˜์ž๋งˆ์ž ๋ฐ”๋กœ 2์ฐจ ํ”„๋กœ์ ํŠธ๊ฐ€ ์‹œ์ž‘๋˜์—ˆ๋‹ค. ์ •๋ง ์‰ด ํ‹ˆ๋„ ์—†์ด ๋ฐ”๋กœ ์‹œ์ž‘๋œ ํ”„๋กœ์ ํŠธ๋ผ์„œ ์ฒด๋ ฅ์ , ์ •์‹ ์ ์œผ๋กœ๋„ ๋งŽ์ด ์ง€์ณ์žˆ์—ˆ๊ณ  ๊ทธ๋Ÿฐ ์™€์ค‘์—์„œ ๋‚ด๊ฐ€ ์ž˜ ํ•  ์ˆ˜ ์žˆ์„์ง€ ์ž์‹ ์ด ์—†์—ˆ๋‹ค.
์ž๋ฆฌ๋ฅผ ์˜ฎ๊ธฐ๋Š” ๋‚ ์ด๋ผ ์ •์‹ ์—†์ด ์ง์„ ์‹ธ๊ณ  ์žˆ๋Š” ์™€์ค‘์— ํŒ€ ๋ฐœํ‘œ๊ฐ€ ๋‚ฌ๋‹ค. ์‚ฌ์ „์Šคํ„ฐ๋””๋ฅผ ํ•จ๊ป˜ ํ•œ ์ •์ค€๋‹˜, ์˜์—ฐ๋‹˜๊ณผ ๊ฐ™์€ ํ”„๋ก ํŠธ ์กฐ๊ฐ€ ๋˜์—ˆ๋‹ค! ๋ฐฑ์—”๋“œ๋ถ„๋“ค์€ 1์ฐจ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•จ๊ป˜ ํ•œ ๊นƒ๋งˆ์Šคํ„ฐ ํƒœ์˜๋‹˜, ๋งค์ผ ์šฐ๋ฆฌ ์ž๋ฆฌ๋กœ ๋†€๋Ÿฌ์˜ค์‹œ๋˜ ์ค€์˜๋‹˜, ์ธ์Šคํƒ€๊ทธ๋žจ ํด๋ก  ์ฝ”๋”ฉ๋•Œ ๋กœ๊ทธ์ธ/ํšŒ์›๊ฐ€์ž… ์—ฐ๊ฒฐํ•ด๋ณด๊ธฐ ์ง๊ฟ์ด์—ˆ๋˜ ์‹ ์žฌ๋‹˜์ด ๊ฐ™์€ ํŒ€์ด ๋˜์—ˆ๊ณ  ์ด๋ ‡๊ฒŒ ์ด 6๋ช…์ด 2์ฃผ๋™์•ˆ ์šฐ์—ฌ๊ณก์ ˆ์„ ๊ฒช์œผ๋ฉฐ 2์ฐจ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

Front โค๏ธ ์„ฑ์ •์ค€, ์ด์˜์—ฐ, ์ด์œค๊ฒฝ
Back โค๏ธ ์ด์‹ ์žฌ, ๊น€ํƒœ์˜, ์ตœ์ค€์˜



๐Ÿ‡ ์ˆจ์€ ๊ณ ์ˆ˜ ์ฐพ๊ธฐ ์‚ฌ์ดํŠธ

์šฐ๋ฆฌ ํŒ€์€ ์‹ ์žฌ๋‹˜์ด ๋ฐœํ‘œํ•œ ์‚ฌ์ดํŠธ์ธ '์ˆจ๊ณ ' ๋ฅผ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค!
๊ณ ์ˆ˜์™€ ํšŒ์›์˜ ๋กœ์ง์ด ๋‹ฌ๋ผ์„œ ํฅ๋ฏธ๋กญ์ง€๋งŒ ๊ฝค ๊นŒ๋‹ค๋กœ์šด ํ”„๋กœ์ ํŠธ๊ฐ€ ๋  ๊ฒƒ ๊ฐ™์€.....!!!! ํ•˜์ง€๋งŒ ์ƒ‰๋‹ค๋ฅธ ๋„์ „์ด๋ผ์„œ ๊ธฐ๋Œ€๊ฐ€ ๋˜๋Š” ํ”„๋กœ์ ํŠธ์˜€๋‹ค.

๊ทธ๋ ‡๊ฒŒ ์ฒซ ์Šคํ”„๋ฆฐํŠธ ๋ฏธํŒ…์„ ์ง„ํ–‰ํ•˜๊ณ ์žˆ๋Š”๋ฐ...


ใ…‹ใ…‹ใ…‹ใ…‹ ์‚ฌ์ดํŠธ์— ๊ฐ€์ž…ํ•ด์„œ ๋‘˜๋Ÿฌ๋ณด๊ณ ์žˆ๋Š”๋ฐ ๋ˆ„๊ฐ€ ๊ฒฌ์  ์‹ ์ฒญ ์˜ดใ…‹ใ…‹ใ…‹ใ…‹


๋‘˜๋Ÿฌ๋ณด๋‹ˆ ๋ถˆํ•„์š”ํ•œ ํŽ˜์ด์ง€๊ฐ€ ์ƒ๊ฐ๋ณด๋‹ค ๋งŽ์•˜๋‹ค. ๊ทธ๋ž˜์„œ ํŒ€ ํšŒ์˜๋ฅผ ํ†ตํ•ด ๋กœ์ง์— ํ•„์š”ํ•œ ํŽ˜์ด์ง€๋งŒ ์ถ”๋ ค๋ƒˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ธฐ์กด ์‚ฌ์ดํŠธ์™€ ๋ ˆ์ด์•„์›ƒ์ด ๋„ˆ๋ฌด ๋˜‘๊ฐ™์€๊ฑฐ๋ณด๋‹จ ์šฐ๋ฆฌ๊ฐ€ ์ƒˆ๋กœ ๊ตฌ์ƒํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์˜๊ฒฌ์ด ๋ชจ์—ฌ์„œ ๊ธฐ์กด ๋ ˆ์ด์•„์›ƒ์˜ ํ‹€์€ ๊ฐ€์ ธ๊ฐ€๋˜ ์ „์ฒด์ ์ธ ๋Š๋‚Œ์€ ์ƒˆ๋กญ๊ฒŒ ํ•˜๊ธฐ๋กœ ์ •ํ–ˆ๋‹ค.
ํผ์Šค๋„ ์ปฌ๋Ÿฌ๋Š” ๋ณด๋ผ์ƒ‰์œผ๋กœ ์ •ํ•ด์กŒ๊ณ , ๊ฐ์ž์˜ ํŒŒํŠธ๋„ ๋ถ„๋‹ดํ–ˆ๋‹ค.


๐Ÿšฉ ๊ฐ์ž ๋งก์€ ์—ญํ• !

์ •์ค€ : ๋กœ๊ทธ์ธ/ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€, Nav ํŽ˜์ด์ง€, CheckForm ํŽ˜์ด์ง€, โœจํ”„๋ก ํŠธ์˜ ์‹ค์งˆ์ ์ธ ๋ฆฌ๋”
์˜์—ฐ : ๊ณ ์ˆ˜ ๋งˆ์ด ํŽ˜์ด์ง€, ํšŒ์› ๋งˆ์ด ํŽ˜์ด์ง€
์œค๊ฒฝ : ๋ฉ”์ธ ํŽ˜์ด์ง€, ๊ณ ์ˆ˜ ์ฐพ๊ธฐ ๋ฆฌ์ŠคํŠธ ํŽ˜์ด์ง€

๐Ÿ‘‰๐Ÿป ๋‚ด๊ฐ€ ๋งก์€ ๋ถ€๋ถ„

๋ฉ”์ธ ํŽ˜์ด์ง€

  • CSS ๋ ˆ์ด์•„์›ƒ
  • service ์ด๋ฏธ์ง€ ์Šฌ๋ผ์ด๋“œ
  • ๋ฉ”์ธ ํŽ˜์ด์ง€์˜ header ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๊ฐ€ ์›€์ง์ด๋„๋ก ๊ตฌํ˜„
  • ๊ฐ๊ฐ์˜ category๋ฅผ ํด๋ฆญ์‹œ ๊ฐ์ž ๋‹ค๋ฅธ ์Šฌ๋ผ์ด๋“œ ์ด๋ฏธ์ง€ ์ถœ๋ ฅ๋˜๊ฒŒ ํ•˜๊ธฐ

๊ณ ์ˆ˜ ์ฐพ๊ธฐ ๋ฆฌ์ŠคํŠธ ํŽ˜์ด์ง€

  • CSS ๋ ˆ์ด์•„์›ƒ
  • ๊ณ ์ˆ˜ ๋ฆฌ์ŠคํŠธ ์ถœ๋ ฅ
  • ๋ณ„์  ๊ธฐ๋Šฅ์€ ๊ณต์šฉ Component ์žฌํ™œ์šฉ



๐Ÿ‡ ๋‚˜์˜ ํŽ˜์ด์Šค๋ฅผ ์œ ์ง€ํ•˜์ž!


๋Œ€๋žต ํ•˜๋ฃจ 20์‹œ๊ฐ„ ๊ฐ€๋Ÿ‰์„ ์ฝ”๋”ฉํ•˜๋Š๋ผ ์ง€์ณ์žˆ๋Š” ๋‚ด ๋ชจ์Šต..

ํ”„๋กœ์ ํŠธ์˜ ์—ฐ์†์ด๋ผ ๋‹ค๋“ค ์ง€์ณ์žˆ์—ˆ๊ณ  ํ•จ์ˆ˜ํ˜• React, Styled-Component๋ผ๋Š” ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•ด์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋”์šฑ๋” ๋ถ€๋‹ด์ด ์ปธ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋๋‚˜๋ฉด ๋ฐ”๋กœ ๊ธฐ์—…ํ˜‘์—…์„ ์ง„ํ–‰ํ•œ๋‹ค. ์Šค์Šค๋กœ์˜ ์ปจ๋””์…˜์„ ์กฐ์ ˆํ•˜๋Š”๊ฒŒ ์ค‘์š”ํ•˜๋‹ค๊ณ  ํŒ๋‹จํ–ˆ๋‹ค. (์•„ํ”„๋ฉด ๋‚˜๋งŒ ์†ํ•ด. ํŒ€์›๋“คํ•œํ… ๋ฏผํใ… )
๊ทธ๋ฆฌ๊ณ  ๋‚˜๋Š” 1์ฐจ ํ”„๋กœ์ ํŠธ๋•Œ ํ•ด๋ณด์ง€ ์•Š์€ ํŒŒํŠธ๋ฅผ ๋งก๊ณ  ์‹ถ์—ˆ๋‹ค. ๋‹คํ–‰ํžˆ ํŒ€์›๋“ค๊ณผ ์„œ๋กœ ์›ํ•˜๋Š” ํŽ˜์ด์ง€๊ฐ€ ๊ฒน์น˜์ง€ ์•Š์•˜๋‹ค.
์šฐ์„  ๋ฉ”์ธ ํŽ˜์ด์ง€๋ถ€ํ„ฐ ๊ตฌํ˜„์„ ์‹œ์ž‘ํ–ˆ๋‹ค. ๊ธฐ์กด์˜ ์ˆจ๊ณ  ์‚ฌ์ดํŠธ๋Š” ๋ ˆ์ด์•„์›ƒ์ด ํ‰๋ฒ”ํ–ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ œ์ผ ์ฒ˜์Œ ๋ณด๋Š” ํŽ˜์ด์ง€๊ฐ€ ๋ฉ”์ธ ํŽ˜์ด์ง€๋‹ค. ๋„ค์ด๋ฒ„, ๋‹ค์Œ, ๊ตฌ๊ธ€๊ณผ ๊ฐ™์€ ์‚ฌ์ดํŠธ๋“ค๋„ ์ œ์ผ ๋จผ์ € ๋– ์˜ค๋ฅด๊ฒŒ ๋ฉ”์ธ ํŽ˜์ด์ง€์˜ ๋ ˆ์ด์•„์›ƒ์ด๋‹ค. ๊ทธ๋ž˜์„œ ๋‚˜๋Š” ์šฐ๋ฆฌ ์‚ฌ์ดํŠธ๋„ ์‚ฌ์šฉ์ž๋“ค์˜ ๊ธฐ์–ต์— ๋‚จ์„ ๋งŒํผ ์•„๊ธฐ์ž๊ธฐํ•˜๊ณ  ์˜ˆ์œ ๋ฉ”์ธ์ด๋ฉด ์ข‹๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์–ด์„œ CSS์— ๊ณต์„ ๋งŽ์ด ๋“ค์˜€๋‹ค.
๊ณ ์ˆ˜ ์ฐพ๊ธฐ ๋ฆฌ์ŠคํŠธ ํŽ˜์ด์ง€๋Š” ์ •์ค€๋‹˜์ด ๊ตฌํ˜„ํ•˜์‹  CheckForm ํŽ˜์ด์ง€์—์„œ ์„ ํƒ๋œ ๊ณ ์ˆ˜ ๋ฆฌ์ŠคํŠธ๋“ค์„ ์ถœ๋ ฅ ํ•ด์ฃผ๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋ ต์ง€ ์•Š์•˜๋‹ค. ๊ทธ๋ž˜์„œ header์— token์„ ๋„ฃ๋Š” ๋ฐฉ๋ฒ•๊ณผ useEffect๋ฅผ ์‚ฌ์šฉํ•œ ํ•จ์ˆ˜, ์ƒˆ๋กœ์šด ํ•จ์ˆ˜ํ˜• React์˜ ๊ธฐ๋Šฅ์„ ์ตํžˆ๋Š” ๋ฐ์— ์ฃผ๋ ฅํ–ˆ๋‹ค. ๊ทธ๋™์•ˆ์€ classํ˜• React์™€ Scss๋ฅผ ์‚ฌ์šฉํ•˜์˜€๊ธฐ ๋•Œ๋ฌธ์— ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ๋กœ 1์ฐจ๋•Œ์™€ ๊ฐ™์€ ํ€„๋ฆฌํ‹ฐ์˜ ์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๊ณ ์ƒ์„ ๋งŽ์ด ํ–ˆ๋‹ค. Git๋„ ์ฒ˜์Œ ์จ๋ณด๋Š” rebase๋กœ ์ง„ํ–‰์„ ํ•ด์„œ ๋ชน์‹œ ์–ด๋ ค์› ๋‹คใ… .ใ… 
๊ทธ๋ž˜๋„ ํŒ€์›๋“ค์ด ํ•˜๋“œ์บ๋ฆฌ ํ•ด์ค€ ๋•๋ถ„์— ๋ฌด์‚ฌํžˆ ํ”„๋กœ์ ํŠธ๋ฅผ ๋๋งˆ์น  ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

git rebase๊ฐ€ ์•ˆ๋ผ์„œ ๋น„์ƒ์‚ฌํƒœ์ธ ์‚ฌ๋žŒ๋“ค.. ์›…์„ฑ์›…์„ฑ


Thanks to๐Ÿ’•


๋งˆ์ง€๋ง‰๋‚ ๊นŒ์ง€ ์ตœ์„ ์„ ๋‹คํ•˜๊ณ ์žˆ๋Š” ๋งบ๊ณ  ํŒ€...!!


๋ฌด์ง€๊ฐœ์•ก์ž=์šฐ๋ฆฌ ํŒ€ Front ~~ (a.k.a ๊ด€์ข…)

โ˜‚๏ธํŒ€์„ ์‹ค์งˆ์ ์œผ๋กœ ์ด๋Œ์–ด์ฃผ์‹  ์ •์ค€๋‹˜, ๊ธฐ๋Šฅ ๊ตฌํ˜„์ด ๋ง‰ํž๋•Œ๋งˆ๋‹ค ๊ฐ™์ด ๊ณ ๋ฏผํ•ด์ฃผ์‹  ์˜์—ฐ๋‹˜, ์–ด๋ ค์šด ๋ฐ์ดํ„ฐ ๋กœ์ง๋„ ์ฒ™์ฒ™ ํ•ด๋‚ด์‹  ์‹ ์žฌ๋‹˜, rebase๊ฐ€ ๊ผฌ์ผ๋•Œ๋งˆ๋‹ค ๋„์›€์„ ์ฃผ์‹  ๋“ ๋“ ํ•œ ๊นƒ๋งˆ์Šคํ„ฐ ํƒœ์˜๋‹˜, ๋งค์ผ ํšŒ์˜ ์ง„ํ–‰์„ ๋„์™€์ฃผ์‹œ๊ณ  ๋…ธ์…˜ ์ •๋ฆฌ๋ฅผ ํ•ด์ฃผ์‹  ์ค€์˜๋‹˜โ˜‚๏ธ

ํ”„๋กœ์ ํŠธ ์ค‘์—” ๋ˆ„๊ตฌ๋‚˜ ์˜ˆ๋ฏผํ•˜๊ณ  ํž˜๋“คํ…๋ฐ ์‹ซ์€ ๊ธฐ์ƒ‰ ํ•˜๋‚˜ ์—†์ด ํ•ญ์ƒ ์›ƒ๋Š” ์–ผ๊ตด๋กœ ์ฆ๊ฒ๊ฒŒ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ์…”์„œ ์ •๋ง ๊ฐ์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค!!!


๋งค์ผ ๋ฐค 10์‹œ ํ‡ด๊ทผํ•˜๋˜ ์„ ๋ฆ‰์—ญ.. ๊ทธ๋ฆฌ์šธ๊ฑฐ์—์š” ใ… 

2๊ฐœ์˜ ๋Œ“๊ธ€

comment-user-thumbnail
2021๋…„ 8์›” 2์ผ

์œผ์•„๋‹›! ๊ฐ‘์ž๊ธฐ ๋งˆ๋ฌด๋ฆฌ๋˜๋Š” ๋Š๋‚Œ์€ ์ œ๋Š๋‚Œ ๋ฟ์ธ๊ฐ€์š”!!!

1๊ฐœ์˜ ๋‹ต๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด