Skip to content

Team Rule

anniemon edited this page Nov 22, 2021 · 35 revisions

์ž‘์—… ๊ทœ์น™

  • ์ž‘์—…์‹œ๊ฐ„:
์›” - ๊ธˆ โ‡’ 10์‹œ โ€” 12์‹œ,  1์‹œ โ€” 6์‹œ,  8์‹œ๋ฐ˜ โ€” 12์‹œ
ํ†  (12/4, 12/18) โ‡’ 10์‹œ โ€” 12์‹œ, 2์‹œ โ€” 6์‹œ
ํ†  (11/27, 12/11) โ‡’ 2์‹œ โ€” 6์‹œ
  • ์‰ฌ๋Š” ์‹œ๊ฐ„: ์ž‘์—…์ค‘์—๋Š” 2์‹œ๊ฐ„ ๋งˆ๋‹ค 10๋ถ„ ํœด์‹, ์ ์‹ฌ์‹œ๊ฐ„ 12์‹œ-1์‹œ, ์ €๋…์‹œ๊ฐ„ 6์‹œ-8์‹œ ๋ฐ˜
  • ํœด์ผ: ์ผ์š”์ผ์€ ์ž์œจ
  • ํšŒ์˜ ์‹œ๊ฐ„: ์•„์นจ 10์‹œ โ‡’ ํšŒ์˜ ๋ฐ ์ฝ”๋“œ ๋ฆฌ๋ทฐ, PR, ๋งˆ์ผ์Šคํ†ค, ํƒœ์Šคํฌ์นด๋“œ

์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๊ทœ์น™

  • ์˜๊ฒฌ์ด ๊ฐˆ๋ฆด ๊ฒฝ์šฐ ์ตœ์†Œ 30๋ถ„ ํ† ์˜ ๋’ค์— ํŒ€์žฅ์ด ์ตœ์ข… ๊ฒฐ์ •ํ•œ๋‹ค(๋ฌผ๋ฆฌ๐Ÿ‘Š๐Ÿป).

์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ๊ทœ์น™

์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋Š” ์ œ๋ชฉ๊ณผ ๋ณธ๋ฌธ์œผ๋กœ ๋‚˜๋ˆ„์–ด ์ง‘๋‹ˆ๋‹ค. ํ•œ ์ค„๋งŒ ์ž‘์„ฑํ•ด๋„ ์„ค๋ช…์ด ์ถฉ๋ถ„ํ•˜๋‹ค๋ฉด ์ œ๋ชฉ๋งŒ์œผ๋กœ๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์–ด๋–ค ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์žˆ๋Š”์ง€ ๋งฅ๋ฝ๊ณผ ์„ค๋ช…์ด ํ•„์š”ํ•˜๋‹ค๋ฉด ๋ณธ๋ฌธ์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ์ œ๋ชฉ๊ณผ ๋ณธ๋ฌธ์„ ์ž‘์„ฑํ•˜๋Š” ๊ทœ์น™์ž…๋‹ˆ๋‹ค.

์ œ๋ชฉ๊ณผ ๋ณธ๋ฌธ์„ ํ•œ ์ค„ ๋„์›Œ ๋ถ„๋ฆฌํ•ด ์ฃผ์„ธ์š”. ์ œ๋ชฉ์€ ์˜๋ฌธ ๊ธฐ์ค€ 50์ž ์ด๋‚ด๋กœ ์ ์–ด์ฃผ์„ธ์š”. ์ œ๋ชฉ ์ฒซ ๋‹จ์–ด๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ์ ์–ด์ฃผ์„ธ์š”. ์ œ๋ชฉ ๋์— . ๋Š” ๊ธˆ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ œ๋ชฉ์€ ๋ช…๋ น์–ด๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋ณธ๋ฌธ์€ 50์ž๋งˆ๋‹ค ์ค„์„ ๋ฐ”๊ฟ”์ฃผ์„ธ์š”. ๋ณธ๋ฌธ์€ ์–ด๋–ป๊ฒŒ ๋ณ€๊ฒฝํ–ˆ๋Š”์ง€ ๋ณด๋‹ค ๋ฌด์—‡์„ ๋ณ€๊ฒฝํ–ˆ๋Š”์ง€, ์™œ ๋ณ€๊ฒฝํ–ˆ๋Š”์ง€ ์— ๋งž์ถ”์–ด ์ž‘์„ฑํ•˜์„ธ์š”.

์˜ˆ์‹œ

FEAT: Add get data api function
!BREAKING CHANGE: change API arguments
  1. ์‚ฌ์šฉํ•  ๋‹จ์–ด์˜ ๋ชฉ๋ก (๋Œ€๋ฌธ์ž๋กœ ์ž‘์„ฑ)
    • ADD(๊ธฐ๋Šฅ์˜ ์ถ”๊ฐ€)
    • FIX(์—๋Ÿฌ ์ˆ˜์ •)
    • MERGE(๋ณ‘ํ•ฉ)
    • REMOVE(์‚ญ์ œ)
    • UPDATE(๋ฌธ์„œ ํŒŒ์ผ์„ ์ˆ˜์ •)
    • REFACTOR(์ฝ”๋“œ์˜ ์ˆ˜์ •์„ ํ†ตํ•œ ๋ฆฌํŽ™ํ† ๋ง)
    • SIMPLIFY(์ฝ”๋“œ ๋‹จ์ˆœํ™”)
    • IMPROVE(๊ธฐ๋Šฅ์˜ ํ–ฅ์ƒ)
    • MOVE(์ฝ”๋“œ์˜ ์ด๋™)
    • RENAME(์ด๋ฆ„์˜ ๋ณ€๊ฒฝ)
    • VERIFY(๊ฒ€์ฆ)
  2. ๋™์‚ฌ : ์ดํ›„ ์งง๊ฒŒ ๋‚ด์šฉ์„ ์ ์–ด์ฃผ์„ธ์š”.
  3. ํ•„์š”ํ•œ ๊ฒฝ์šฐ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ๋™๋ช…์‚ฌ ๋Œ€์‹  ๋ช…์‚ฌ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.
  4. ํ•„์š”ํ•œ ๊ฒฝ์šฐ๋ฅผ ์ œ์™ธํ•˜๊ณ  ๊ด€์‚ฌ๋Š” ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์„ธ์š”.
  5. ๋ถ€์ •๋ฌธ์„ ์‚ฌ์šฉํ• ๋•Œ๋Š” Don't ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.
  6. ์ „์น˜์‚ฌ๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ์ •ํ™•ํ•˜๊ฒŒ ์–ด๋–ค ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ•œ ๊ฒƒ์ธ์ง€ ๋ช…์‹œํ•˜์„ธ์š”.

๋ธŒ๋žœ์น˜ ์ด๋ฆ„ ํ˜•์‹

์ข…๋ฅ˜ ์‚ฌ์šฉํŒจํ„ด ํŠน์ง•
master master ํ”„๋กœ๋•์…˜ ์Šค๋ƒ…์ƒท
๊ฐ€์žฅ ์ตœ์‹ ์˜ ๋ฐฐํฌ๋œ ๋ฒ„์ „
dev dev ๊ฐœ๋ฐœ ๋‹จ๊ณ„์—์„œ์˜ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜
feature feature/์ด์Šˆ๋ฒˆํ˜ธ-์ด๋ฆ„
feature/1-branch-name
dev์— ๋ณ‘ํ•ฉ

PR ํ˜•์‹

  • ์ฝ”๋“œ ์ปจ๋ฒค์…˜์„ ์ž˜ ์ง€์ผœ์ฃผ์„ธ์š”. ์ปจ๋ฒค์…˜ ์˜ค๋ฅ˜๋กœ ์ธํ•œ ๋ถˆํ•„์š”ํ•œ ์ฝ”๋ฉ˜ํŠธ๋Š” ์‹œ๊ฐ„ ๋‚ญ๋น„์ด๊ธฐ ๋•Œ๋ฌธ์— ์ง€์–‘ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

  • ๋ฆฌ๋ทฐ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ์ž˜ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”. ๋ชจ๋“  ์ฝ”๋“œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์—๋Š” ์˜๋„๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์˜๋„์น˜ ์•Š๊ฒŒ ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„์ด ์žˆ๋‹ค๋ฉด ๋˜๋Œ๋ ค ๋†“์•„์•ผ ํ•˜๊ณ , ์ค„๋ฐ”๊ฟˆ๊ณผ ๊ฐ™์ด ์•„์ฃผ ๋‹จ์ˆœํ•œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด๋ผ๋„ ๊ทธ ๋ถ€๋ถ„์„ ๋ฆฌ๋ทฐ์–ด๊ฐ€ ๋ณผ ํ•„์š”๊ฐ€ ์—†๋‹ค๋ฉด โ€œJust line changeโ€ ์™€ ๊ฐ™์€ ์ฝ”๋ฉ˜ํŠธ๋ฅผ ๋‹ฌ์•„ ๋ช…์‹œํ•˜์—ฌ ๋ฆฌ๋ทฐ ์‹œ๊ฐ„์„ ์ค„์—ฌ์ค„ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋˜๋Š” ์‚ฌ์šฉ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์—…๋ฐ์ดํŠธ๊ฐ€ ํฌํ•จ๋˜์—ˆ๋‹ค๋ฉด ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ ๋งํฌ๋‚˜ ์Šคํฌ๋ฆฐ์ƒท์„ ์ฒจ๋ถ€ํ•˜๋Š” ๊ฒƒ๋„ ์ข‹์€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

  • ์ž‘์—…์ค‘, ๋ฆฌ๋ทฐ ๊ฐ€๋Šฅ ์—ฌ๋ถ€๋ฅผ ์ž˜ ๋ช…์‹œํ•ด ์ฃผ์„ธ์š”. ์•„์ง ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑ ์ค‘์ผ ๋•Œ์—๋Š” [WiP] (Work in Progress) ๋ฅผ ํƒ€์ดํ‹€ ์•ž์— ์ถ”๊ฐ€ํ•˜๊ณ , ๋งŒ์•ฝ ์ž‘์—…์ด ๋๋‚ฌ์œผ๋ฉด ์ด๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  review-needed ํƒœ๊ทธ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ ์ž‘์—…์„ ๋งˆ์ณค๋‹ค๊ณ  ๋๋‚œ ๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ˜์˜ํ•˜๋Š” ์ค‘์—๋„ ์ด ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜์—ฌ ๋ช…์‹œํ•ด ์ฃผ์„ธ์š”.

  • PR ์ œ๋ชฉ

[Client] / #88 / EDIT: readme
  • PR ๋ณธ๋ฌธ
  • ์•„๋ž˜ ํ˜•์‹์„ ๋ณต์‚ฌํ•ด Github Pull Request ์˜ ํ…œํ”Œ๋ฆฟ์œผ๋กœ ์ง€์ • ํ›„ ํ•ด๋‹น ๋ณธ๋ฌธ์€ ์‚ญ์ œํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.
### PR ํƒ€์ž…(ํ•˜๋‚˜ ์ด์ƒ์˜ PR ํƒ€์ž…์„ ์„ ํƒํ•ด์ฃผ์„ธ์š”)
-[] ๊ธฐ๋Šฅ ์ถ”๊ฐ€
-[] ๊ธฐ๋Šฅ ์‚ญ์ œ
-[] ๋ฒ„๊ทธ ์ˆ˜์ •
-[] ์˜์กด์„ฑ, ํ™˜๊ฒฝ ๋ณ€์ˆ˜, ๋นŒ๋“œ ๊ด€๋ จ ์ฝ”๋“œ ์—…๋ฐ์ดํŠธ

### ๋ฐ˜์˜ ๋ธŒ๋žœ์น˜
ex) feat/login -> dev

### ๋ณ€๊ฒฝ ์‚ฌํ•ญ
ex) ๋กœ๊ทธ์ธ ์‹œ, ๊ตฌ๊ธ€ ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

### ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ
ex) ๋ฒ ์ด์Šค ๋ธŒ๋žœ์น˜์— ํฌํ•จ๋˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ๋Š” ๋ชจ๋‘ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋ฌผ์— ๋Œ€ํ•œ ์Šคํฌ๋ฆฐ์ƒท, GIF, ํ˜น์€ ๋ผ์ด๋ธŒ ๋ฐ๋ชจ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ƒ˜ํ”ŒAPI๋ฅผ ์ฒจ๋ถ€ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

โ— ์ด๊ฒƒ์€ ๊ผญ ์ง€ํ‚ต์‹œ๋‹ค!

  • PR ์ „ ์ด์œ ์—†๋Š”์ฃผ์„์ด๋‚˜ console ๋“ฑ ์ง€์šฐ์ž!
  • PR ์‹œ ์–‘์‹ ํ†ต์ผ ํ•˜์ž!
  • img, btn, idx ๋“ฑ ๋ณ€์ˆ˜๋ช… ์ค„์—ฌ์“ฐ์ง€ ๋ง์ž!
  • ํ•จ์ˆ˜ ๋ช…์€ ๋ฌด์กฐ๊ฑด ๋™์‚ฌ๋กœ ํ†ต์ผํ•˜์ž!
  • Boolean ๊ฐ’์€ is(ex. isLogin)๋ช…์‚ฌ๋กœ ํ†ต์ผํ•˜์ž!
  • ๋ฐฐํฌ ์ฃผ๊ธฐ๋Š” feature ํ•˜๋‚˜ ํ•ฉ์น  ๋•Œ๋งˆ๋‹ค ๋‹ค๊ฐ™์ด ํ•˜์ž!
  • ๋…ผ์˜๋˜์ง€ ์•Š์€ ์ƒˆ๋กœ์šด ์Šคํƒ ์‚ฌ์šฉ ํ•˜์ง€๋ง์ž!
  • ํ˜ผ์ž์„œ MERGE,PR ๊ธˆ์ง€! ํ•„์š”ํ•  ์‹œ ์ƒ์˜ํ›„ PR ํ•˜์ž!

๐Ÿ’… Front-end

  • ๋ฐ˜์‘ํ˜• ๋””์ž์ธ ์‹ ๊ฒฝ์“ฐ์ž (ex. ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ) !
  • ์ปดํฌ๋„ŒํŠธ ์ด๋ฆ„ PascalCase๋กœ ํ†ต์ผ ํ•˜์ž! (ex. WebDesign )
  • ์ด๋ฏธ ๋””์ž์ธ ๊ฐ€์ด๋“œ๊ฐ€ ๋งŒ๋“ค์–ด์ ธ์žˆ๋Š” CSS ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋ง์ž! (ex. Material UI, Ant design, bootstrap)
  • UX์ƒ ๋‚˜์œ ๋””์ž์ธ์œผ๋กœ ํ‰๊ฐ€๋ฐ›๋Š” ๋ธŒ๋ผ์šฐ์ € ๋‚ด์žฅ ๊ธฐ๋Šฅ์˜ ์ง€๋‚˜์นœ ์‚ฌ์šฉํ•˜์ง€ ๋ง์ž!(ex. alert, prompt, confirm)
  • ์ฝ˜ํ…์ธ ๊ฐ€ ์กด์žฌํ•˜๋‚˜ ์Šคํฌ๋กค ํ•  ์ˆ˜ ์—†๋Š” ์˜์—ญ์ด ์กด์žฌ ํ•˜๋ฉด ์•ˆ๋œ๋‹ค!
  • ๋งฅ์—์„œ "์Šคํฌ๋กค๋ฐ” ํ•ญ์ƒ๋ณด๊ธฐ" ์˜ต์…˜์„ ์‚ฌ์šฉ์‹œ, ๋ถˆํ•„์š”ํ•˜๊ฒŒ ์Šคํฌ๋กค๋ฐ”๊ฐ€ ๋ณด์ด๋Š” ํ˜„์ƒ์„ ๋Œ€๋น„ํ•˜์ž!
  • ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๊ฑฐ๋‚˜ ์—๋Ÿฌ๊ฐ€ ์žˆ์„๊ฒฝ์šฐ ์•ˆ๋‚ด๊ฐ€ ๋‚˜์™€์„œ ๋ช…์‹œ์ ์œผ๋กœ ๋ณด์ด๊ฒŒ๋” ํ•˜์ž!
  • ๋กœ๋”ฉ ์‹คํŒจ ์‹œ ์ ์ ˆํ•œ ํ”ผ๋“œ๋ฐฑ์„ ์ œ๊ณต ํ•˜์ž!
  • ๋กœ๋”ฉ ์‹œ ๋ ˆ์ด์•„์›ƒ์ด ๊นจ์ง ํ˜„์ƒ์ด ์—†๊ฒŒ ๋กœ๋”ฉ์ฒ˜๋ฆฌ๋ฅผ ํ•˜์ž!
  • ๊ฐœ๋ฐœ์ž ์ฝ˜์†”์„ ์—ด์—ˆ์„ ๋•Œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๊ฒŒ ํ•˜์ž!
  • ๋กœ๊ทธ์ธ์„ ํ•˜์ง€ ์•Š์•„๋„ ์ฒดํ—˜๋ชจ๋“œ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜์ž !

๐Ÿ“š Back-end

  • ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋Š” ๋ฌด์กฐ๊ฑด ํ•œ๊ธ€๋กœ ์ ์ž!
  • ํŒŒ๋ผ๋ฏธํ„ฐ์— ๋ฏผ๊ฐํ•œ ์ •๋ณด๊ฐ€ ๋…ธ์ถœ๋˜์ง€ ์•Š๊ฒŒ ํ•˜์ž!
  • api key ๋…ธ์ถœ๋˜์ง€ ์•Š๊ฒŒ ํ•˜์ž!
  • EndPoint, DataBase Table ๋ชจ๋‘ ๋‹จ์ˆ˜ ํ˜•์‹์œผ๋กœ ํ†ต์ผ ํ•˜์ž! (ex. number , list)
  • ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ตฌํ˜„์‹œ passport.js ์‚ฌ์šฉ์„ ํ•˜์ง€ ๋ง์ž!

๐Ÿ“‚ API

  • ๋ฆฌ์†Œ์Šค CRUD์‹œ ๋ชฉ์ ์— ๋งž๋Š” HTTP ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์ž!
  • ๋ฆฌ์†Œ์Šค CRUD์‹œ ์—”๋“œํฌ์ธํŠธ์— ๋™์‚ฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋ง์ž!
  • ๋ฆฌ์†Œ์Šค ์š”์ฒญ/์‘๋‹ต์‹œ ํ•„์š”ํ•œ json์˜ ํ‚ค/๊ฐ’ ํƒ€์ž…์„ ๋ช…์‹œํ•˜์ž!
  • ๋ฆฌ์†Œ์Šค ์—ฌ๋Ÿฌ ๊ฐœ ์กฐํšŒ ์‹œ ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜์ž!
  • HTTP ์‘๋‹ต ์ฝ”๋“œ์˜ ์‚ฌ์šฉ์ด ์ ์ ˆํ•˜๊ฒŒ ํ‘œ์‹œ๋˜๊ฒŒ ํ•˜์ž!
  • ์‘๋‹ต ์—๋Ÿฌ ๋ฉ”์‹œ์ง€์˜ ์ผ๊ด€์„ฑ์ด ์žˆ๊ฒŒ ์ž‘์„ฑํ•˜์ž!
  • ๋ฆฌ์†Œ์Šค ์กฐํšŒ ์‹œ json๊ณผ ์Šคํ‚ค๋งˆ field๊ฐ„์˜ ์ผ๊ด€์„ฑ์ด ์žˆ๊ฒŒ ๋งŒ๋“ค์ž!
  • ๋ฆฌ์†Œ์Šค ์ƒ์„ฑ ์‹œ ์‹ ๊ทœ ์•„์ด๋””๋ฅผ ๋ฆฌํ„ดํ•˜์ž!
  • ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ํ•„์š”๋กœ ํ•˜๋Š” ์š”์ฒญ์— ํ† ํฐ ๋˜๋Š” ์„ธ์…˜์„ ์‚ฌ์šฉํ•ด์„œ ๋งŒ๋“ค์ž!
  • ํŠน์ • ์‚ฌ์šฉ์ž์™€ ์—ฐ๊ด€๋œ ๋ฆฌ์†Œ์Šค ์กฐํšŒ์‹œ ๊ถŒํ•œ ๋ฌธ์ œ๋ฅผ ๊ณ ๋ คํ•ด์„œ ๋งŒ๋“ค์ž!
  • JWT ์‚ฌ์šฉ์‹œ ํ—ค๋”์— ํ† ํฐ์„ ์ „๋‹ฌํ•˜๋Š” ๋‚ด์šฉ์„ ๋ช…์‹œํ•ด์„œ ๋งŒ๋“ค์ž!
  • ์—”๋“œํฌ์ธํŠธ๊ฐ€ spinal-case (์†Œ๋ฌธ์ž์™€ ๋Œ€์‹œ ๋ฌธ์ž์—ด) ๋ฅผ ๋”ฐ๋ฅด๊ฒŒ๋” ๋งŒ๋“ค์ž!
  • GET ์š”์ฒญ์—์„œ ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ ๋Œ€์‹  HTTP body๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋งŒ๋“ค์ž!
  • HTTP body๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์—์„œ ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋ง์ž!

๐Ÿ” Schema

  • ์Šคํ‚ค๋งˆ์˜ 1:N, N:M ๊ด€๊ณ„๊ฐ€ ์ ์ ˆํ•˜๊ฒŒ ๋งŒ๋“ค์ž!
  • Join Table์˜ ์ด๋ฆ„์ด, ๊ด€๊ณ„์žˆ๋Š” ํ…Œ์ด๋ธ” ์ด๋ฆ„์„ ํฌํ•จํ•˜๊ฒŒ ๋งŒ๋“ค์ž!
  • ๋ฆฌ์†Œ์Šค์˜ CRUD์— ํ•„์š”ํ•œ ํ…Œ์ด๋ธ”์ด ์กด์žฌํ•˜๋„๋ก ํ•˜์ž!

npm & node version ํ†ต์ผ

  • npm 8.1.0
  • node 16.13.0