Skip to content

Latest commit

ย 

History

History
155 lines (135 loc) ยท 4 KB

File metadata and controls

155 lines (135 loc) ยท 4 KB

AlbaLog BE Repository

UMC 9th Demoday ์•Œ๋ฐ”๋กœ๊ทธ BE ํŒ€ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์ž…๋‹ˆ๋‹ค.

Members

  • ์ฝ”๋””/์กฐํฌ์Šน - ์ธํ•˜๋Œ€ 9th Node.js
  • ์ง„๋„ค์ปค/๊น€์ง„ - ์ธํ•˜๋Œ€ 9th Node.js
  • ์œค๋ฌด์ง„/๊น€์ฐฝ์‹ - ํ•œ์–‘๋Œ€ Erica 9th Node.js
  • ์–ธ๋…„/ํ•˜์€ํ˜„ - ๋™์–‘๋ฏธ๋ž˜๋Œ€ 9th Node.js
  • ์ง„/์ตœ์†Œ์—ฐ - ํ•œ์„ฑ๋Œ€ 9th Node.js

Stack

  1. Node.js & Express
  2. TypeScript
  3. Tsoa & OpenAPI 3.0
  4. MySQL
  5. Docker
  6. NginX
  7. Github Actions

Tools

  1. Git & Github
  2. Figma
  3. Notion
  4. Discord
  5. Postman

Project Directories

--dist          //์ปดํŒŒ์ผ ๋œ js ํŒŒ์ผ ํด๋”
--src           //์†Œ์Šค์ฝ”๋“œ ํด๋”
  --config      //์„œ๋ฒ„ ์„ค์ • ํŒŒ์ผ ํด๋”
  --middleware  //์„œ๋ฒ„ ๋ฏธ๋“ค์›จ์–ด ํด๋”
  --controller  //์ปจํŠธ๋กค๋Ÿฌ ํด๋”
  --service     //์„œ๋น„์Šค ํด๋”
  --repository  //๋ ˆํฌ์ง€ํ† ๋ฆฌ(DB ์—ฐ๊ฒฐ) ํด๋”
  --routes      //๋ผ์šฐํ„ฐ ํด๋”
  --util        //๊ธฐํƒ€ ์œ ํ‹ธ ํŒŒ์ผ ํด๋”
  app.ts        //๋ฉ”์ธ ์„œ๋ฒ„ ํŒŒ์ผ

Git Rules

๋ ˆํฌ์ง€ํ† ๋ฆฌ Git๊ณผ Github ์‚ฌ์šฉ์— ๋Œ€ํ•œ ๊ทœ์น™์ž…๋‹ˆ๋‹ค.

Git Commit Convention

  1. ์ปค๋ฐ‹ ์ ‘๋‘์‚ฌ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ๊ตฌ ๋ช…์‹œ
  • feat - ์‹ ๊ทœ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
  • refactor - ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง
  • fix - ๋ฒ„๊ทธ ์ˆ˜์ •
  • docs - ๋ฌธ์„œ ์ˆ˜์ • ๋ฐ ์ถ”๊ฐ€
  1. ๊ด„ํ˜ธ ์•ˆ์— ๋ณ€๊ฒฝ๋˜๊ฑฐ๋‚˜ ์ถ”๊ฐ€๋œ ํŒŒ์ผ ๋ช…์‹œ
  2. ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€๋กœ ์ž์„ธํ•œ ์ž‘์—… ๋‚ด์šฉ ์„ค๋ช…
//์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค.
feat(app.ts): ๋ผ์šฐํ„ฐ ์„ค์ • ์ถ”๊ฐ€
refactor(user.controller.ts): ํšŒ์›๊ฐ€์ž… ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง
fix(user.repository.ts): ํšŒ์›๊ฐ€์ž… db ๋กœ์ง ์ˆ˜์ •
docs(README.md): ๊นƒ ๊ทœ์น™ ๋‚ด์šฉ ์ถ”๊ฐ€

Git Workflow

1. ์›๋ณธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ํฌํฌ
2. ํฌํฌ ๋ ˆํฌ์ง€ํ† ๋ฆฌ pull
3. ์ƒˆ๋กœ์šด ์ž‘์—…์— ๋Œ€ํ•œ ์ด์Šˆ ์ƒ์„ฑ
4. ์ด์Šˆ์— ๋Œ€ํ•œ ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ
5. ๋กœ์ปฌ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์—์„œ ์ž‘์—… ํ›„ commit
6. ๋กœ์ปฌ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์—์„œ ์›๊ฒฉ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋กœ push
7. pull request ์ƒ์„ฑ
8. ๋ฆฌ๋ทฐ ํ›„ ๋จธ์ง€

Branch Rules

  1. ๋ธŒ๋žœ์น˜๋ช…์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ ‘๋‘์‚ฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • feat
  • refactor
  • fix
  • docs
  1. ๋ธŒ๋žœ์น˜๋ช…์€ ํ˜„์žฌ ์ด์Šˆ๋ฒˆํ˜ธ๋กœ ํ•œ๋‹ค.
//์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค.
feat/ALBA_5
refactor/ALBA_11
fix/ALBA_13
docs/ALBA_1

Pull Request Rules

  1. Assignee๋Š” ์ž๊ธฐ ์ž์‹ , ๋ฆฌ๋ทฐ์–ด๋Š” ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๋“ค๋กœ ์„ค์ •
  2. ํŒ€์žฅ์˜ ์Šน์ธ ํ˜น์€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ๋ฆฌ๋ทฐ ์—†์ด ๊ฐ•์ œ ๋จธ์ง€ ๊ธˆ์ง€
  3. ๋ฐ˜๋“œ์‹œ ๋ชจ๋“  ์‚ฌ๋žŒ๋“ค์˜ Approve๋ฅผ ๋ฐ›์€ ํ›„์— ๋จธ์ง€
  4. Pull Request ํ…œํ”Œ๋ฆฟ์— ์ƒ์„ธํ•œ ์ž‘์—… ๋‚ด์šฉ ๋ช…์‹œ
  5. Postman, Swagger ๋“ฑ์œผ๋กœ API ํ…Œ์ŠคํŠธํ•œ ๋‚ด์šฉ ์Šคํฌ๋ฆฐ์ƒท ์ฒจ๋ถ€

Code Convention

Google TypeScript Sytle Guide ์ฐธ๊ณ 
https://google.github.io/styleguide/tsguide.html

Naming Convention

  1. ํŒŒ์ผ๋ช…์€ ์ „๋ถ€ ์†Œ๋ฌธ์ž๋กœ ์„ค์ •. snake_case๋กœ ์ž‘์„ฑํ•  ๊ฒƒ
  2. ํ•จ์ˆ˜๋ช…์€ smallCamelCase๋กœ ์ž‘์„ฑํ•  ๊ฒƒ
  3. ํด๋ž˜์Šค๋ช…์€ PascalCase๋กœ ์ž‘์„ฑํ•  ๊ฒƒ
  4. ์ธํ„ฐํŽ˜์ด์Šค, ํƒ€์ž…๋ช…์€ PascalCase๋กœ ์ž‘์„ฑํ•  ๊ฒƒ
  5. ์ƒ์ˆ˜๋ช…์€ UPPER_SNAKE_CASE๋กœ ์ž‘์„ฑํ•  ๊ฒƒ
  6. ๊ฐ์ฒด ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•  ๋•Œ์—๋Š” ํด๋ž˜์Šค๊ฐ€ ์•„๋‹Œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ
interface Foo {
  a: number;
  b: string;
}

const foo: Foo = {
  a: 123,
  b: 'abc',
}
  1. any ํƒ€์ž…์€ ๊ฐ€๊ธ‰์ ์ด๋ฉด ์‚ฌ์šฉํ•˜์ง€ ๋ง ๊ฒƒ.
  2. undefined๋Š” ๊ฐ€๊ธ‰์ ์ด๋ฉด type์— ๋ช…์‹œํ•˜์ง€ ๋ง ๊ฒƒ. ์‹ค์ œ ํ• ๋‹น๋˜๋Š” ๊ณณ์— ์ถ”๊ฐ€ํ•  ๊ฒƒ.

Langauge Convention

  1. ๋ณ€์ˆ˜, ์ƒ์ˆ˜ ์„ ์–ธ์— const, let ์‚ฌ์šฉ. var์€ ์‚ฌ์šฉ ๊ธˆ์ง€.
  2. ์ „๊ฐœ ๊ตฌ๋ฌธ์„ ์ ๊ทน์ ์œผ๋กœ ์‚ฌ์šฉํ•  ๊ฒƒ(๊ฐ์ฒด/๋ฐฐ์—ด ๋ณต์‚ฌ, ํ•ฉ์ฒด ๋“ฑ)
const foo = {
  num: 1,
};

const foo2 = {
  ...foo,
  num: 5,
};

const foo3 = {
  num: 5,
  ...foo,
}

foo2.num === 5;
foo3.num === 1;
  1. ๊ฐ์ฒด ๋ถ„ํ•ด ํ• ๋‹น์„ ์ ๊ทน์ ์œผ๋กœ ์‚ฌ์šฉํ•  ๊ฒƒ. ๊ธฐ๋ณธ๊ฐ’๊ณผ ๊ฐ์ฒด ์š”์†Œ๋Š” left side์— ๋ช…์‹œํ•  ๊ฒƒ.
interface Options {
  /** The number of times to do something. */
  num?: number;

  /** A string to do stuff to. */
  str?: string;
}

function destructured({num, str = 'default'}: Options = {}) {}
  1. private static ๋ฉ”์„œ๋“œ๋Š” ์ง€์–‘ํ•  ๊ฒƒ. ๊ฐ™์€ ํŒŒ์ผ์—์„œ ๋กœ์ปฌ ํ•จ์ˆ˜๋กœ ๊ตฌํ˜„ํ•  ๊ฒƒ.
  2. primitive ํƒ€์ž…์€ wrapper ๊ฐ์ฒด๋กœ ์„ ์–ธํ•˜์ง€ ์•Š์„ ๊ฒƒ. (String, Number ๋“ฑ)