🌏 김소현 | 🌏 최윤한 |
---|---|
서버 개발자 | 서버 개발자 |
프로젝트 세팅 서버 배포 DB 설계 Diary, Category, Scrap API 작성 Test Code 작성 |
프로젝트 세팅 서버 배포 DB 설계 User, Auth, Diary API 작성 Test Code 작성 |
-
Airbnb의 자바스크립트 style guide를 따른다. Airbnb Github
-
husky를 이용하여, commit시에 formatting
- Header를 이용하여 최대한 변경사항을 설명하고, 필요시에 body에 변경사항에 대한 상세 내용을 적는다.
태그 이름 | 설명 |
---|---|
[CHORE] | 코드 수정, 내부 파일 수정 |
[FEAT] | 새로운 기능 구현 |
[ADD] | FEAT 이외의 부수적인 코드 추가, 라이브러리 추가, 새로운 파일 생성 |
[HOTFIX] | issue나 QA에서 급한 버그 수정에 사용 |
[FIX] | 버그, 오류 해결 |
[DEL] | 쓸모 없는 코드 삭제 |
[DOCS] | README나 WIKI 등의 문서 개정 |
[CORRECT] | 주로 문법의 오류나 타입의 변경, 이름 변경에 사용 |
[MOVE] | 프로젝트 내 파일이나 코드의 이동 |
[RENAME] | 파일 이름 변경이 있을 때 사용 |
[IMPROVE] | 향상이 있을 때 사용 |
[REFACTOR] | 전면 수정이 있을 때 사용 |
📌 브랜치 단위
- 브랜치 단위 = 이슈 단위 = PR단위
- 작업이 완료된 브랜치는 develop 브랜치로 merge 한다.
- 서버 배포는 develop에서 main으로 merge후 main에서 진행한다.
📌 브랜치명
- 브랜치는 뷰 단위로 생성합니다.
- 브랜치 규칙 → name_#이슈번호
- ex) unan_#1, sohyeon_#2
3-Layer Architecture 기반
📁 src
|_ 📁 config
|_ 📁 controllers
|_ 📁 interfaces
|_ 📁 modules
|_ 📁 routes
|_ 📁 services
|_ 📁 test
|_ index.ts
package.ts
{
"name": "seminar4",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"scripts": {
"dev": "nodemon",
"build": "tsc",
"postinstall": "prisma generate",
"lint": "./node_modules/.bin/eslint .",
"lint-staged": "lint-staged",
"start:dev": "node dist/index.js",
"prepare": "husky install",
"test": "yarn mocha test/* -r ts-node/register --timeout 10000 -exit"
},
"devDependencies": {
"@types/chai": "^4.3.4",
"@types/express": "^4.17.14",
"@types/jsonwebtoken": "^9.0.0",
"@types/mocha": "^10.0.1",
"@types/node": "^18.11.9",
"@types/supertest": "^2.0.12",
"@typescript-eslint/eslint-plugin": "^5.47.1",
"@typescript-eslint/parser": "^5.47.1",
"chai": "^4.3.7",
"eslint": "^8.30.0",
"mocha": "^10.2.0",
"nodemon": "^2.0.20",
"supertest": "^6.3.3",
"ts-node": "^10.9.1"
},
"dependencies": {
"@prisma/client": "^4.8.1",
"axios": "^1.2.2",
"dayjs": "^1.11.7",
"dotenv": "^16.0.3",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-prettier": "^4.2.1",
"express": "^4.18.2",
"express-validator": "^6.14.2",
"husky": "^8.0.2",
"jsonwebtoken": "^9.0.0",
"lint-staged": "^13.1.0",
"prettier": "^2.8.1",
"prisma": "^4.8.1",
"typescript": "^4.9.4"
},
"lint-staged": {
"*.ts": [
"eslint --fix"
]
}
}