๐ WE-SOPT client & server seminar "NETFLIX"
๐ก ์ฃผํ: ์ด๊ธฐ ํ๊ฒฝ ์ธํ , DB ์ค๊ณ, API ๊ตฌํ, README ์์ฑ, WIKI ์์ฑ
๐ก ์ ๋ฆผ: DB ์ค๊ณ, API ๊ตฌํ
API ๋ช ์ธ์ ๋ณด๋ฌ๊ฐ๊ธฐ <-- click!
URI | ๋ฉ์๋ | ์ค๋ช | ๋ด๋น |
---|---|---|---|
/watching | GET | ์์ฒญ ์ค์ธ ์ฝํ ์ธ ๊ฐ์ ธ์ค๊ธฐ | ์ฃผํ |
/content/rank | GET | ๋ญํน ์์ผ๋ก ์ฝํ ์ธ ๊ฐ์ ธ์ค๊ธฐ | ์ฃผํ |
/content/:categoryNum | GET | ์นดํ ๊ณ ๋ฆฌ ๋ณ๋ก ๊ฐ์ ธ์ค๊ธฐ | ์ฃผํ |
/like/:id | POST | ์ข์์, ์ข์์ ์ทจ์ | ์ ๋ฆผ |
/like | GET | ์ข์์ ๋๋ฅธ ์ฝํ ์ธ ๊ฐ์ ธ์ค๊ธฐ | ์ ๋ฆผ |
- Camel Case ์ฌ์ฉ
โข lower Camel Case - ํจ์์ ๊ฒฝ์ฐ ๋์ฌ+๋ช
์ฌ ์ฌ์ฉ
โข ex) getInformation() - ๊ธธ์ด๋ 20์๋ก ์ ํํ๋ค.
โข ๋ถ๋์ดํ ๊ฒฝ์ฐ ํ์๊ณผ์ ์์๋ฅผ ๊ฑฐ์น๋ค. - flag๋ก ์ฌ์ฉ ๋๋ ๋ณ์๋ ์กฐ๋์ฌ + flag ์ข
๋ฅ๋ก ๊ตฌ์ฑ
โข ex) isNum - ์ฝ์ด๋ ๋๋๋ก ์ฌ์ฉํ์ง ์๋๋ค.
-
ํ ์ค ์ฃผ์์ // ์ ์ฌ์ฉํ๋ค.
-
๊ทธ ์ด์์ /** */ ์ ์ฌ์ฉํ๋ค.
-
ํจ์ ์ค๋ช ์ฃผ์์ /** */ ์ ์ฌ์ฉํ๋ค.
/** * @route GET /user/:userId * @desc GET one user * @access Private */
// ํ์ค if ๋ฌธ - ์ฌ๋ฌ ์ค๋ก ์์ฑ
if(trigger) {
return;
}
// ๊ดํธ ์ฌ์ฉ ํ์นธ ๋์ฐ๊ณ ์ฌ์ฉํ๋ค.
if (left == true) {
return;
}
// ๋์ด์ฐ๊ธฐ
if (a == 5) { // ์์ชฝ ์ฌ์ด๋ก ๋์ด์ฐ๊ธฐ
return;
}
- async await ํจ์ ์ฌ์ฉ์ ์งํฅํ๋ค.
- Promise ์ฌ์ฉ์ ์ง์ํ๋ค.
- DB ์ด๋ฆ (์คํค๋ง)
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ช ์ ์์ด ๋๋ฌธ์๋ก ๊ตฌ์ฑํ๋ค.
- ๊ธธ์ด๋ 8์ ์ด๋ด๋ก ๊ตฌ์ฑํ๋ค.
- ์ปฌ๋ ์
- ์๋ฌธ์๋ฅผ ์ฌ์ฉํ๋ค
- 's' ๋ฅผ ์ฌ์ฉ(ex, users profiles)
- ์ปฌ๋ ์ ๋ช ์ ๊ตฌ์ฑ์ ์ต๋ 3๋จ์ด๊น์ง ์ฌ์ฉํ ์ ์๋ค.
- ์ต๋ ๊ธธ์ด๋ 26์ ์ด๋ด๋ก ๊ตฌ์ฑํ๋ค.
- ์ปฌ๋ผ
- ์ปฌ๋ผ์ snake ํ๊ธฐ๋ฒ์ ๋ฐ๋ฅด๊ณ , ์๋ฏธ์๋ ์ปฌ๋ผ๋ช _์ ๋ฏธ์ฌ ํํ๋ก ์์ฑํ๋ค.
- ์ปฌ๋ผ์ ์ฑ์ง์ ๋ํ๋ด๋ ์ ๋ฏธ์ฌ๋ฅผ ์ฌ์ฉํ๋ค. (์ฌ์ฉํ๋ ๋ฐ์ดํฐ์ ํ์ ์ ๋ํ๋ด๋ ๊ฒ์ด ์๋์ ์ ์)
- ๋ฌธ์์ด์ ์ธ ๋๋ย
''
ย ๋ฐ์ดํ๋ฅผ ์ฌ์ฉํ๋ค.
-
ํ์ ์์ ๊ณต๋ฐฑ์ ๋ฃ๋๋ค.
์) const foo: string = "hello";
-
์ธ๋ฏธ์ฝ๋ก , ์ฝ๋ก , ์ปด๋ง ๋ค์๋ ํญ์ ๊ณต๋ฐฑ์ ๋๋ค.
์)ย
for (var i = 0, n = str.length; i < 10; i++) { }
-
๋ณ์๋ ๋จ์ผ ์ ์ธ์ ํ๋ค.
- useย
var x = 1; var y = 2;
ย overยvar x = 1, y = 2;
- useย
-
์์ ๊ณต๋ฐฑ(indentation)์ ์คํ์ด์ค 2๊ฐ๋ก ๋ง์ถ๋ค.
-
ํ์ดํ ํจ์
(x) => x + x
ย (X)x => x + x
(O)(x,y) => x + y
(O)<T>(x: T, y: T) => x === y
(O)
main์ ๋ชจ๋ ์์ ์ด ๋๋ ํ develop์์ merge ์ํจ๋ค.
โโโโโโโโโโโโโโโโโโโโโโโโโ
- main - ์ด๊ธฐ ์ธํ
์กด์ฌ
- develop - local ์์
์๋ฃ ํ merge ๋ธ๋์น
- juhyeon - ์ฃผํ local ๋ธ๋์น
- yoorim - ์ ๋ฆผ local ๋ธ๋์น
- localdevelop_feature/#issue - ๊ฐ์์ ๊ธฐ๋ฅ ์ถ๊ฐ ๋ธ๋์น
โโโโโโโโโโโโโโโโโโโโโโโโโ
local - feature
์์ ๊ฐ์ ๊ธฐ๋ฅ ์์- ์์
์๋ฃ ํ
remote - develop
์ PR ํ Merge - ์ฝ๋ ๋ฆฌ๋ทฐ ํ Confirm ๋ฐ๊ณ Merge
- remote - develop ์ Merge ๋ ๋ ๋ง๋ค ๋ชจ๋ ํ์ remote - develop pull ๋ฐ์ ์ต์ ์ํ ์ ์ง
ํ๊ทธ: ์ ๋ชฉ์ ํํ
ํ๊ทธ ์ด๋ฆ | ์ค๋ช |
---|---|
FEAT | ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ ๊ฒฝ์ฐ |
FIX | ๋ฒ๊ทธ๋ฅผ ๊ณ ์น ๊ฒฝ์ฐ |
!BREAKING CHANGE | ์ปค๋ค๋ API ๋ณ๊ฒฝ์ ๊ฒฝ์ฐ |
!HOTFIX | ๊ธํ๊ฒ ์น๋ช ์ ์ธ ๋ฒ๊ทธ๋ฅผ ๊ณ ์ณ์ผ ํ๋ ๊ฒฝ์ฐ |
STYLE | ์ฝ๋ ํฌ๋งท ๋ณ๊ฒฝ, ์ธ๋ฏธ ์ฝ๋ก ๋๋ฝ, ์ฝ๋ ์์ ์ด ์๋ ๊ฒฝ์ฐ |
COMMENT | ํ์ํ ์ฃผ์ ์ถ๊ฐ ๋ฐ ๋ณ๊ฒฝ |
DOCS | ๋ฌธ์๋ฅผ ์์ ํ ๊ฒฝ์ฐ (ex. README ์์ ) |
RENAME | ํ์ผ ํน์ ํด๋๋ช ์ ์์ ํ๊ฑฐ๋ ์ฎ๊ธฐ๋ ์์ ์ธ ๊ฒฝ์ฐ |
REMOVE | ํ์ผ์ ์ญ์ ํ๋ ์์ ๋ง ์ํํ ๊ฒฝ์ฐ |
CHORE | ๋น๋ ํ์คํฌ ์ ๋ฐ์ดํธ, ํจํค์ง ๋งค๋์ ๋ฅผ ์ค์ ํ๋ ๊ฒฝ์ฐ |
|-๐ firebaserc
|-๐ firebase.json
|-๐ .gitignore
|-๐ functions_
|- ๐ index.js
|- ๐ package.json
|- ๐ .gitignore
|- ๐ .env
|- ๐ api_
| |- ๐ index.js
| |- ๐ routes_
| |- ๐ index.js
|
|- ๐ config_
| |- ๐ dbConfig.js
|
|- ๐ constants_
| |- ๐ responseMessage.js
| |- ๐ statusCode.js
|
|- ๐ db_
| |- ๐ db.js
| |- ๐ index.js
|
|- ๐ lib_
|- ๐ convertSnakeToCamel.js
|- ๐ util.js