Home - MIC-TEAM/wellseecoding-front GitHub Wiki

๐Ÿ’ป ์›ฐ์‹œ์ฝ”๋”ฉ ํ”„๋ก ํŠธ์—”๋“œ ํ˜‘์—… ๊ทœ์น™

7์›” 27์ผ | ํ”„๋ก ํŠธ์—”๋“œ ํšŒ์˜๋ก ์ •๋ฆฌ

๐Ÿ›  ๊ธฐ์ˆ ์Šคํƒ

  • React(Next.js)
  • Typescript
  • redux
  • redux-saga
  • axios
  • emotion.js
  • yarn

๐Ÿท ๋ธŒ๋Ÿฐ์น˜ ์ „๋žต

Git-flow

  • main : ์ œํ’ˆ ์ถœ์‹œ ๋ฒ„์ „
  • develop : ๋‹ค์Œ ๋ฒ„์ „ ๊ฐœ๋ฐœ
  • feature/{Task๋ฒˆํ˜ธ} : ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ
  • hotfix : ๋ผ์ด๋ธŒ(master) ๊ธด๊ธ‰ ๋ฒ„๊ทธ ์ˆ˜์ •

์ฒ˜์Œ์—๋Š” master์™€ develop ๋ธŒ๋žœ์น˜๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก  develop ๋ธŒ๋žœ์น˜๋Š” master์—์„œ๋ถ€ํ„ฐ ์‹œ์ž‘๋œ ๋ธŒ๋žœ์น˜์ž…๋‹ˆ๋‹ค. develop ๋ธŒ๋žœ์น˜์—์„œ๋Š” ์ƒ์‹œ๋กœ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•œ ์ปค๋ฐ‹๋“ค์ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ์ž‘์—…์ด ์žˆ๋Š” ๊ฒฝ์šฐ develop ๋ธŒ๋žœ์น˜์—์„œ feature ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. feature ๋ธŒ๋žœ์น˜๋Š” ์–ธ์ œ๋‚˜ develop ๋ธŒ๋žœ์น˜์—์„œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ์ž‘์—…์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค๋ฉด feature ๋ธŒ๋žœ์น˜๋Š” develop ๋ธŒ๋žœ์น˜๋กœ merge ๋ฉ๋‹ˆ๋‹ค.

develop์— ์ด๋ฒˆ ๋ฒ„์ „์— ํฌํ•จ๋˜๋Š” ๋ชจ๋“  ๊ธฐ๋Šฅ์ด merge ๋˜์—ˆ๋‹ค๋ฉด QA๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด develop ๋ธŒ๋žœ์น˜์—์„œ๋ถ€ํ„ฐ release ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. QA๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋ฐœ์ƒํ•œ ๋ฒ„๊ทธ๋“ค์€ release ๋ธŒ๋žœ์น˜์— ์ˆ˜์ •๋ฉ๋‹ˆ๋‹ค. QA๋ฅผ ๋ฌด์‚ฌํžˆ ํ†ต๊ณผํ–ˆ๋‹ค๋ฉด release ๋ธŒ๋žœ์น˜๋ฅผ master์™€ develop ๋ธŒ๋žœ์น˜๋กœ merge ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ์ถœ์‹œ๋œ master ๋ธŒ๋žœ์น˜์—์„œ ๋ฒ„์ „ ํƒœ๊ทธ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ ์ž๋ฃŒ : https://techblog.woowahan.com/2553/

๐Ÿ“ƒ Commit ๋ฉ”์‹œ์ง€ ๊ทœ์น™

  • add : ์ฝ”๋“œ๋‚˜ ํ…Œ์ŠคํŠธ, ์˜ˆ์ œ, ๋ฌธ์„œ ๋“ฑ์˜ ์ถ”๊ฐ€์— ๋Œ€ํ•œ ์ปค๋ฐ‹
  • feat : ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ปค๋ฐ‹
  • docs : ๋ฌธ์„œ ์ˆ˜์ •์— ๋Œ€ํ•œ ์ปค๋ฐ‹
  • fix : ์ˆ˜์ •์— ๋Œ€ํ•œ ์ปค๋ฐ‹
  • refactor : ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง์— ๋Œ€ํ•œ ์ปค๋ฐ‹
  • test : ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋Œ€ํ•œ ์ปค๋ฐ‹
  • Remove : ์‚ญ์ œ์— ๋Œ€ํ•œ ์ปค๋ฐ‹
  • update : (ex) Update A to B | a๋ฅผ b๋กœ ์—…๋ฐ์ดํŠธ์— ๋Œ€ํ•œ ์ปค๋ฐ‹

๐Ÿ“ ๋””๋ ‰ํ† ๋ฆฌ & ํŒŒ์ผ ๊ด€๋ฆฌ

  • ์ด๋Ÿฐ ์‹์œผ๋กœ ํ•œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ํด๋”๋ช…์„ ์ปดํฌ๋„ŒํŠธ ์ด๋ฆ„์œผ๋กœ ํ•˜๊ณ  index์™€ style๋กœ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹จ, pages ํด๋”๋‚ด ์ปดํฌ๋„ŒํŠธ๋Š” jsx์™€ style์„ ๋ถ„๋ฆฌํ•˜์ง€ ์•Š๊ณ  ํ•˜๋‚˜์˜ ํŽ˜์ด์ง€ ์ปดํฌ๋„ŒํŠธ์— ๊ตฌํ˜„ (url ์ƒ์„ฑ ์ด์Šˆ)

๐Ÿ—‚ ๋„ค์ด๋ฐ ๊ทœ์น™

Components

  • ํŒŒ์Šค์นผ ์ผ€์ด์Šค ๊ธฐ๋ฒ• : ์ฒซ ๊ธ€์ž ๋Œ€๋ฌธ์ž, ์ค‘๊ฐ„ ํฌ์ธํŠธ ๋‹จ์–ด๋„ ๋Œ€๋ฌธ์ž
  • ๋””๋ ‰ํ† ๋ฆฌ ๊ฒฝ๋กœ : Header/Back.tsx, Header/Alarm.tsx ์ด๋Ÿฐ ์‹์œผ๋กœ ์ปดํฌ๋„ŒํŠธ๋Š” ์ „๋ถ€ ์ฒซ๊ธ€์ž ๋Œ€๋ฌธ์ž๋กœ ์ƒ์„ฑํ•˜๊ธฐ.

(ex) HeaderTitle, FooterMenu

Pages

  • ์Šค๋„ค์ดํฌ ๊ธฐ๋ฒ• : ์ฒซ ๊ธ€์ž ์†Œ๋ฌธ์ž๋กœ
  • ๋””๋ ‰ํ† ๋ฆฌ ๊ฒฝ๋กœ : login ํด๋” ์•ˆ์— ์—ฌ๋Ÿฌ ํŒŒ์ผ์ด ๋“ค์–ด์žˆ์„ ๊ฒฝ์šฐ, login/index.tsx , login/login_error.tsx ์ด๋Ÿฐ์‹์œผ๋กœ ์ƒ์„ฑํ•˜๊ธฐ.

(ex) login_error, login_succses

โญ๏ธ ์ •๋ฆฌ โญ๏ธ

๋งŒ์•ฝ ์ปดํฌ๋„ŒํŠธ์™€ ํŽ˜์ด์ง€ ์ž‘์—…์„ ํ•  ๋•Œ ํ•จ๊ป˜ํ•ด์š” ํŽ˜์ด์ง€ (together) ๊ด€๋ จ ๋œ ์ž‘์—…์„ ํ•  ๊ฒƒ์ด๋ฉด

pages ๊ฒฝ์šฐ : ์†Œ๋ฌธ์ž

(์˜ˆ์‹œ)

  • pages/together.tsx

์ปดํฌ๋„ŒํŠธ ๊ฒฝ์šฐ : ํŒŒ์Šค์นผ ์ผ€์ด์Šค

(์˜ˆ์‹œ)

  • components/Together/Content.tsx
  • components/Together/TitleBox.tsx

์ด๋Ÿฐ ์‹์œผ๋กœ ์ƒ์„ฑํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

Object Styles Convention

  • ์นด๋ฉœ ๊ธฐ๋ฒ• : ์ฒซ ๊ธ€์ž ์†Œ๋ฌธ์ž, ์ค‘๊ฐ„ ํฌ์ธํŠธ ๋‹จ์–ด๋ถ€ํ„ฐ ๋Œ€๋ฌธ์ž

(ex) hotpink, hotpinkHoverOrFocus, hotpinkWithBlackBackground

๐Ÿ™†๐Ÿปโ€โ™€๏ธ ํ˜‘์—…ํˆด ๋„ค์ด๋ฐ ๊ทœ์น™

ํŠธ๋ ๋กœ ์ผ๊ฐ๋ฒˆํ˜ธ

  • [wsc-001] PR ํ…Œ์ŠคํŠธ

๋ธŒ๋žœ์น˜๋ช…

  • feature/wsc-001

PR ์ œ๋ชฉ

  • [wsc-001] PR ํ…Œ์ŠคํŠธ

๐Ÿ‘ฉ๐Ÿปโ€๐ŸŽค emotion ์ž‘์—…

์ด๋Ÿฐ์‹์œผ๋กœ ์ž‘์—…ํ•˜๊ธฐ. ์ด๋ ‡๊ฒŒ ์ž‘์—…ํ•˜๋ฉด ์ข‹์€์  ์•Œ์•„๋ดค์Šต๋‹ˆ๋‹ค.

  • tsx ์•ˆ์—์„œ ์ด๊ฒŒ ์–ด๋–ค ํƒœ๊ทธ์ธ์ง€ ๋ฐ”๋กœ ์•Œ ์ˆ˜ ์žˆ๋‹ค๋Š” ์  (styled-components ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” ์ปดํฌ๋„ŒํŠธ ์ด๋ฆ„์— div๋‚˜ p๋ฅผ ์จ๋†“์ง€ ์•Š์œผ๋ฉด ์ด๊ฒŒ ์–ด๋–ค ํƒœ๊ทธ์ธ์ง€ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.)

์ฐธ๊ณ ์ž๋ฃŒ : https://www.howdy-mj.me/css/emotion.js-intro/