/TAKEUS-BACK

๐Ÿ›ซ ํ…Œ์ด์ปค์Šค ์„œ๋ฒ„ ์šดํ•ญ์ค‘๐Ÿ›ซ

Primary LanguageTypeScript

img

โœˆ๏ธ Project

์œ ๊ธฐ๊ฒฌ ํ•ด์™ธ์ด๋™๋ด‰์‚ฌ ๋Œ€์ƒ๊ฒฌ ๋งค์นญ ์„œ๋น„์Šค, TAKE US

  • SOPT 28th APPJAM, TAKE US
  • ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„: 2021.06.26 ~ ๊ฐœ๋ฐœ ์ค‘.

๐Ÿ›  ๊ฐœ๋ฐœ ํ™˜๊ฒฝ

img img img

๐Ÿ“งAPI ๋ช…์„ธ์„œ

API ๋ช…์„ธ์„œ ๋งํฌ

๐Ÿ”ง Architecture

Architecture ์ด๋ฏธ์ง€

โš™๏ธ Dependencies

{
  "name": "takeus-back",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "dev": "ts-node src",
    "build": "tsc && node dist"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "@types/mongoose": "^5.11.97",
    "dotenv": "^10.0.0",
    "express": "^4.17.1",
    "mongoose": "^5.13.2",
    "yarn": "^1.22.10"
  },
  "devDependencies": {
    "@types/express": "^4.17.12",
    "@types/node": "^16.0.0",
    "ts-node": "^10.0.0",
    "typescript": "^4.3.5"
  }
}

๐Ÿ“œ Coding Convention

๐Ÿ–‹ ๋„ค์ด๋ฐ

Class & Constructor

  • ํด๋ž˜์Šค/์ƒ์„ฑ์ž ์ด๋ฆ„์€ PascalCase๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ข‹์€ ์˜ˆ >

  class TakeUs

๋‚˜์œ ์˜ˆ >

class takeus {}

ํ•จ์ˆ˜ & ๋ณ€์ˆ˜ & ์ธ์Šคํ„ด์Šค

  • ํ•จ์ˆ˜์™€ ๋ณ€์ˆ˜, ์ธ์Šคํ„ด์Šค์—๋Š” camelCase๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“ ์ฃผ์„

  • // ๋ฅผ ๋‹จ์ˆ˜ํ–‰์˜ ์ฃผ์„์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • /** ... */ ๋ฅผ ๋ณต์ˆ˜ํ–‰์˜ ์ฃผ์„์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๐ŸŒฟ ๊ธฐํƒ€

  • ์ค„์˜ ๋์— ๋ฐ˜๋“œ์‹œ ,(์ฝค๋งˆ)๋ฅผ ๋ถ™์ž…๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰ ์š”์†Œ์—๋„ ,๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ์— ์œ ์˜ํ•ฉ์‹œ๋‹ค.
  • ํ•จ์ˆ˜๋ผ๋ฆฌ 1์ค„ ๊ฐœํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • ์ค‘๊ด„ํ˜ธ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
if (foo) {
  console.log(foo);
  /*
  ...
  */
}

โœ‰๏ธ Commit Messge Rules

๊ฐ•ํ•œ์„œ๋ฒ„ ๋“ค์˜ Git Commit Message Rules

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

๐Ÿ’ฌ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ํƒœ๊ทธ ๋ชจ์Œ

- feat    : ๊ธฐ๋Šฅ (์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ)
- fix     : ๋ฒ„๊ทธ (๋ฒ„๊ทธ ์ˆ˜์ •)
- update  : ์ฝ”๋“œ (์ฝ”๋“œ ์ˆ˜์ •, ์ถ”๊ฐ€, ๋ณด์™„)
- refactor: ๋ฆฌํŒฉํ† ๋ง
- style   : ์Šคํƒ€์ผ (์ฝ”๋“œ ํ˜•์‹, ์„ธ๋ฏธ์ฝœ๋ก  ์ถ”๊ฐ€: ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์— ๋ณ€๊ฒฝ ์—†์Œ)
- docs    : ๋ฌธ์„œ (๋ฌธ์„œ ์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œ)
- test    : ํ…Œ์ŠคํŠธ (ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œ: ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์— ๋ณ€๊ฒฝ ์—†์Œ)
- chore   : ๊ทธ ์™ธ ๋ณ€๊ฒฝ์‚ฌํ•ญ (์ฃผ์„ ์ถ”๊ฐ€,์‚ญ์ œ ๋“ฑ)

๐Ÿ”ธ ์ปค๋ฐ‹ ํƒ€์ž…

  • ํƒœ๊ทธ: ์„ค๋ช… ํ˜•์‹์œผ๋กœ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • ํƒœ๊ทธ๋Š” ์˜์–ด๋ฅผ ์“ฐ๊ณ  ์ฒซ ๋ฌธ์ž๋Š” ๋Œ€๋ฌธ์ž๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ข‹์€ ์˜ˆ >

  Feat: ๊ฒ€์ƒ‰ api ์ถ”๊ฐ€

๋‚˜์œ ์˜ˆ >

  ๊ฒ€์ƒ‰ api ์ถ”๊ฐ€

๐Ÿ’ป Github mangement

๊ฐ•ํ•œ์„œ๋ฒ„ ๋“ค์˜ WorkFlow : Gitflow Workflow

  • Main๊ณผ Develop ๋ธŒ๋žœ์น˜

    ๋ฉ”์ธ(main): ๋ฉ”์ธ ๋ธŒ๋žœ์น˜

    ๊ฐœ๋ฐœ(develop): ๊ธฐ๋Šฅ๋“ค์˜ ํ†ตํ•ฉ ๋ธŒ๋žœ์น˜ develop ๋ธŒ๋žœ์น˜ ์•„๋ž˜ ๊ฐ์ž์˜ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•ด ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

    • boong_u: boong_u๊ฐ€ ๊ฐœ๋ฐœํ•˜๋Š” ๋ธŒ๋žœ์น˜
    • hanhee: hanhee๊ฐ€ ๊ฐœ๋ฐœํ•˜๋Š” ๋ธŒ๋žœ์น˜

    ๊ฐ์ž์˜ ๋ธŒ๋žœ์น˜ ์•„๋ž˜ feat ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•ด ๊ธฐ๋Šฅ์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

    • feat: ๊ธฐ๋Šฅ ๋ณ„ ๋ธŒ๋žœ์น˜
  • Gitflow ๊ทœ์น™

    • Main์— ์ง์ ‘์ ์ธ commit, push๋Š” ๊ฐ€๊ธ‰์  ๊ธˆ์ง€ํ•ฉ๋‹ˆ๋‹ค. (X)
    • ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€๋Š” ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ๋ด๋„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ์จ์ฃผ์„ธ์š”.
    • ํ’€๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ํ•ด๋ด…์‹œ๋‹ค.
    • ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ ์‹œ ๊ฐ์ž์˜ ๋ธŒ๋žœ์น˜์—์„œ feat/๊ธฐ๋Šฅ ์œผ๋กœ ๋ธŒ๋žœ์น˜๋ฅผ ํŒŒ์„œ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
    • feat์€ ์ž์„ธํ•œ ๊ธฐ๋Šฅ ํ•œ ๊ฐ€์ง€๋ฅผ ๋‹ด๋‹นํ•˜๋ฉฐ, ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์ด ์™„๋ฃŒ๋˜๋ฉด ๊ฐ์ž์˜ ๋ธŒ๋žœ์น˜๋กœ Pull Request๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค.
    • ๊ฐ์ž๊ฐ€ ๊ธฐ๊ฐ„ ๋™์•ˆ ๋งก์€ ์—ญํ• ์„ ์ „๋ถ€ ์ˆ˜ํ–‰ํ•˜๋ฉด, ๊ฐ์ž ๋ธŒ๋žœ์น˜์—์„œ develop๋ธŒ๋žœ์น˜๋กœ Pull Request๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค.
      develop ๋ธŒ๋žœ์น˜๋กœ์˜ Pull Request๋Š” ์ƒ๋Œ€๋ฐฉ์˜ ์ฝ”๋“œ๋ฆฌ๋ทฐ ํ›„์— mergeํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿพ Developers

๋ฐ•์ •๋ฌด ๊ฐ•ํ•œํฌ
qkrwjdan kanghanhee