- SSAFY Sandbox๋ SSAFY 12๊ธฐ ์์ธ 15๋ฐ์์ ๋ฐฑ์๋ ๊ฐ๋ฐ์๋ฅผ ํฌ๋งํ๋ ์น๊ตฌ๋ค์ด ํ์ ๊ฒฝํ์ ๋ณด๋ค ์ฝ๊ฒ, ๊ทธ๋ฆฌ๊ณ ํจ๊ณผ์ ์ผ๋ก ์์ ์ ์๋๋ก ํ๊ธฐ ์ํด ์์๋์์ต๋๋ค.
- ์ ํฌ BEํ์ FEํ์ด ๋ฐฐํฌ ํ๊ธฐ ์ , ํ ์คํธ๋ฅผ ์ํ ์๋ฒ๋ฅผ ๊ตฌ์ถํ๊ณ ์์ต๋๋ค.
| ๐น ์ค์์ | ๐ฏ ์ค์๋น | ๐ป ์ด์ํ | ๐ฐ ์กฐ์์ฌ |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
| wimmings | king0104 | im2sh | yeseul106 |
| ๊ธฐ๋ฅ๋ช | ๋ด๋น์ | ์๋ฃ ์ฌ๋ถ |
|---|---|---|
| ํ๋ก์ ํธ ์ธํ | ์์ฌ๐ฐ |
์๋ฃ |
| CI/CD ๊ตฌ์ถ | ์์ฌ๐ฐ |
์๋ฃ |
| Oauth ๋ก๊ทธ์ธ ๊ตฌํ | ์์ฌ๐ฐ |
์๋ฃ |
| FCM ๊ตฌํ | ์ํ๐ป |
์๋ฃ |
| ์ด๋ฉ์ผ ์ธ์ฆ | ์ํ๐ป |
์๋ฃ |
| ์ด๋ฏธ์ง ์ ๋ก๋ | ๋ฏธ์ | |
| pagenation ๊ตฌํ | ๋ฏธ์ |
com
ใด ssafy
ใด side
ใด api
| ใด member
| | ใด controller
| | ใด service
| | ใด domain
| | ใด dto
| ใด auth
| | ใด controller
| | ใด service
| | ใด domain
| | ใด dto
| ...
ใด common
| ใด advice
| ใด config
| | ใด jwt
| ใด entity
| ใด exception
| ใด util
ใด external
| ใด ...
ใด SandboxServerApplication
ํจ์์ ๋ํ ์ฃผ์
-
backend์์ ๊ณตํต์ ์ผ๋ก ์ฌ์ฉํ๋ ํจ์์ ๊ฒฝ์ฐ, ๋ชจ๋ํ๋ฅผ ํตํด ํ๋์ ํ์ผ๋ก ๊ด๋ฆฌํฉ๋๋ค.
-
ํ๋์ ํ์ผ์ ์์ ๋ถ๋ถ์ ์ฃผ์์ผ๋ก ์์ธ ๋ด์ฉ์ ์์ฑํฉ๋๋ค. ์ ๋ฆฌํด์ผ ํ๋ ๋ถ๋ถ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
-
๋ณดํต controller์ ์์ฑํ๊ธฐ๋ก ํฉ๋๋ค
-
ํจ์์ ์ ์ฒด ๊ธฐ๋ฅ์ ๋ํ ์ค๋ช
-
์์ ์ฝ๋
/** * @route GET /mission/all * @desc ์ง๋ ๋ฏธ์ ๋ชจ๋ ๊ฐ์ ธ์ค๊ธฐ * */ */ const getCompletedMission = async (req: Request, res: Response) => { //์ด์ฉ๊ตฌ ์ ์ฉ๊ตฌ };
๋ณ์๋ช
### ์ฝ๊ธฐ ์ฝ๊ณ ์๊ธฐ ์ฌ์ดย **๋ณ์๋ช
**์ผ๋ก ๋ง๋ค๊ธฐ
```tsx
// great - "name" implies strings
const subjectName = ['math', 'english', 'korea'];
const subject = [{name: 'math', difficulty: 'easyโ}]
```
- boolean ๊ฐ์ ๊ฒฝ์ฐ โisโ, โhasโ, โcanโ๊ณผ ๊ฐ์ ์ ๋์ด์ ๊ฐ์ด ์ฌ์ฉํ๋ค.
```tsx
// good
const isOpen = true; const canWrite = true; const hasFruit = true;
```
- ์ซ์์ผ ๊ฒฝ์ฐ max, min, total๊ณผ๊ฐ์ ๋จ์ด๋ก ์ค๋ช
ํ๋ค.
```tsx
// good
let totalNum = 54;
```
- ํจ์์ผ ๊ฒฝ์ฐ ๋์ฌ์ ๋ช
์ฌ๋ฅผ ์ฌ์ฉํ์ฌ **actionResource**์ ํ์์ ๋ฐ๋ฅด๋ ๊ฒ์ด ์ข๋ค
```tsx
// good
const getUser = (firstName, LastName) => firstName + LastName
```
<br>
- ๋ณ์, ํจ์ , ์ธ์คํด์ค - Camel Case
- ํจ์๋ช
์์ฑ ์ ๋์ฌ + ๋ช
์ฌ
- Class, Constructor - Pascal Case
```tsx
// good
var userId
function addUserInfo () {}
class UserInfo {}
```
- ํ์ผ๋ช
- Camel Case
### ์์๋ ๋ฌด์กฐ๊ฑด ๋๋ฌธ์
- ๋ง์ฝ ์ฌ๋ฌ ๋จ์ด๋ฉด ์์์ผ ๋๋ง _ (์ธ๋๋ฐ ์ฌ์ฉ)
```tsx
//bad
const maxNum = 20;
//good
const MAX_NUM = 20;
```
Bracket
### ์ค๊ดํธ๋ก ๋ฌถ์ด์ง ์์ ๋ธ๋ก๋ฌธ์ ๊ธ์ง
๋ธ๋ก๋ฌธ์ ๋ฐ๋์ ์ค๊ดํธ๋ก ๋ฌถ์ ๊ฒ์ ๊ฐ์ ํฉ๋๋ค
```tsx
// good
if (flag) {
count++;
}
// bad
if (flag) count++;
```
```tsx
// good
if (a) {
b=c;
function foo(d) {
e=f;
}
}
// bad
if (a) {
b=c;
function foo(d) {
e=f;
}
}
```
- โ
ย
[CHORE]: ๋์์ ์ํฅ ์๋ ์ฝ๋ or ๋ณ๊ฒฝ ์๋ ๋ณ๊ฒฝ์ฌํญ(์ฃผ์ ์ถ๊ฐ ๋ฑ) - โจย
[FEAT]: ์๋ก์ด ๊ธฐ๋ฅ ๊ตฌํ - โย
[ADD]: Feat ์ด์ธ์ ๋ถ์์ ์ธ ์ฝ๋ ์ถ๊ฐ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ถ๊ฐ, ์๋ก์ด ํ์ผ ์์ฑ - ๐จย
[FIX]: ๋ฒ๊ทธ, ์ค๋ฅ ํด๊ฒฐ - โฐ๏ธย
[DEL]: ์ธ๋ชจ์๋ ์ฝ๋ ์ญ์ - ๐ย
[DOCS]: README๋ WIKI ๋ฑ์ ๋ฌธ์ ์์ - โ๏ธย
[CORRECT]: ์ฃผ๋ก ๋ฌธ๋ฒ์ ์ค๋ฅ๋ ํ์ ์ ๋ณ๊ฒฝ, ์ด๋ฆ ๋ณ๊ฒฝ์ - โช๏ธย
[RENAME]: ํ์ผ ์ด๋ฆ ๋ณ๊ฒฝ์ - โป๏ธย
[REFACTOR]: ์ ๋ฉด ์์ - ๐ย
[MERGE]: ๋ค๋ฅธ ๋ธ๋์น์ ๋ณํฉ
ex ) git commit -m "#{์ด์๋ฒํธ} [FEAT] ํ์๊ฐ์
๊ธฐ๋ฅ ์๋ฃ"
- [develop] : ์ต์ข ๋ฐฐํฌ
- [feat] : ๊ธฐ๋ฅ ์ถ๊ฐ
- [fix] : ์๋ฌ ์์ , ๋ฒ๊ทธ ์์
- [docs] : README, ๋ฌธ์
- [refactor] : ์ฝ๋ ๋ฆฌํํ ๋ง (๊ธฐ๋ฅ ๋ณ๊ฒฝ ์์ด ์ฝ๋๋ง ์์ ํ ๋)
- [modify] : ์ฝ๋ ์์ (๊ธฐ๋ฅ์ ๋ณํ๊ฐ ์์ ๋)
- [chore] : gradle ์ธํ , ์์ ๊ฒ ์ด์ธ์ ๊ฑฐ์ ๋ชจ๋ ๊ฒ
ex) feat/#{์ด์๋ฒํธ}
๊ธฐ๋ณธ์ ์ผ๋ก Git Flow ์ ๋ต์ ์ด์ฉํ๋ค. Forkํ ํ ๋์ repository์์ ์์ ํ๊ณ ๊ตฌํ ํ ์๋ณธ repository์ pr์ ๋ ๋ฆฐ๋ค. ์์ ์์ ์ ์ ํ๋์ด์ผ ํ ์์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
1. Issue๋ฅผ ์์ฑํ๋ค.
2. feature Branch๋ฅผ ์์ฑํ๋ค.
3. Add - Commit - Push - Pull Request ์ ๊ณผ์ ์ ๊ฑฐ์น๋ค.
4. Pull Request๊ฐ ์์ฑ๋๋ฉด ์์ฑ์ ์ด์ธ์ ๋ค๋ฅธ ํ์์ด Code Review๋ฅผ ํ๋ค.
5. Code Review๊ฐ ์๋ฃ๋๋ฉด Pull Request ์์ฑ์๊ฐ develop Branch๋ก merge ํ๋ค.
6. merge๋ ์์
์ด ์์ ๊ฒฝ์ฐ, ๋ค๋ฅธ ๋ธ๋์น์์ ์์
์ ์งํ ์ค์ด๋ ๊ฐ๋ฐ์๋ ๋ณธ์ธ์ ๋ธ๋์น๋ก merge๋ ์์
์ Pull ๋ฐ์์จ๋ค.
7. ์ข
๋ฃ๋ Issue์ Pull Request์ Label๊ณผ Project๋ฅผ ๊ด๋ฆฌํ๋ค.- ๊ธฐ๋ณธ์ ์ผ๋ก git flow ์ ๋ต์ ์ฌ์ฉํฉ๋๋ค.
- main, develop, feature 3๊ฐ์ง branch ๋ฅผ ๊ธฐ๋ณธ์ผ๋ก ํฉ๋๋ค.
- main โ develop โ feature. feature ๋ธ๋์น๋ feat/๊ธฐ๋ฅ๋ช ์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
- ์ด์๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ธ๋์น๋ช ์ feature/[issue num]-[feature name]๋ก ํฉ๋๋ค.
- [FEAT] : ๊ธฐ๋ฅ ์ถ๊ฐ
- [FIX] : ์๋ฌ ์์ , ๋ฒ๊ทธ ์์
- [DOCS] : README, ๋ฌธ์
- [REFACTOR] : ์ฝ๋ ๋ฆฌํํ ๋ง (๊ธฐ๋ฅ ๋ณ๊ฒฝ ์์ด ์ฝ๋๋ง ์์ ํ ๋)
- [MODIFY] : ์ฝ๋ ์์ (๊ธฐ๋ฅ์ ๋ณํ๊ฐ ์์ ๋)
- [CHORE] : gradle ์ธํ , ์์ ๊ฒ ์ด์ธ์ ๊ฑฐ์ ๋ชจ๋ ๊ฒ
ex) [feat] user api ๊ตฌํ



