WEB LINK: www.nonsoolmate.com
김성은 @sung-silver
송민규 @mikekks
역할
역할
- CI/CD 구축
- 네이버 로그인
- 마이페이지: 대학별 시험 리스트 조회
- 마이페이지: 닉네임
- 시험 보기: 첨삭권 사용
- 내 정보 확인: 첨삭권 개수
- 시험 보기: 문제지
- 시험 보기: 시험 이름 & 제한 시간
- 시험 보기: 답안지 업로드 및 시험 제출
- 목표대학 설정: 리스트 조회
- 목표대학 설정: 리스트 선택
- 해제: 문제이미지 & 해제 PDF 조회
- 첨삭: 문제이미지_해제PDF 조회
- 첨삭: 첨삭PDF_해제PDF 조회
- 토큰 재발급
문제/해제
첨삭/해제
🛠️ Architecture Structure
📦 nonsoolmateServer
├── 📂 domain
│ ├─ 📂 auth
│ │ ├─ 📂 controller
│ │ ├─ 📂 exception
│ │ └─ 📂 service
│ ├─ 📂 member
│ │ ├─ 📂 controller
│ │ ├─ 📂 entity
│ │ ├─ 📂 exception
│ │ ├─ 📂 repository
│ │ └─ 📂 service
│ ├─ 📂 selectUniversity
│ │ ├─ 📂 controller
│ │ ├─ 📂 entity
│ │ ├─ 📂 exception
│ │ ├─ 📂 repository
│ │ └─ 📂 service
│ ├─ 📂 university
│ │ ├─ 📂 controller
│ │ ├─ 📂 entity
│ │ ├─ 📂 exception
│ │ ├─ 📂 repository
│ │ └─ 📂 service
│ └─ 📂 universityExamRecord
│ ├─ 📂 controller
│ ├─ 📂 entity
│ ├─ 📂 exception
│ ├─ 📂 repository
│ └─ 📂 service
├── 📂 external
│ ├─ 📂 aws
│ │ ├─ 📂 config
│ │ └─ 📂 service
│ ├─ 📂 oauth
│ │ └─ 📂 service
│ └─ 📂 redis
│ ├─ 📂 config
│ ├─ 📂 repository
│ └─ 📂 service
└─ 📂 global
├─ 📂 controller
├─ 📂 response
├─ 📂 error
├─ 📂 jwt
│ ├─ 📂 utils
│ └─ 📂 service
├─ 📂 security
│ ├─ 📂 handler
│ ├─ 📂 service
│ ├─ 📂 filter
│ └─ 📂 config
├─ 📂 swagger
│ └─ 📂 config
└─ 📂 util
└─ 📂 mapper
🔐 Nonsoolmate Server's Rule
ex) [FEAT] 목표 대학 리스트 조회 API 개발
ex) [FIX] 내가 작성하지 않은 리뷰 볼 수 있는 버그 해결
- [ CHORE ] : 내부 파일 수정
- [ FEAT ] : 새로운 기능 구현
- [ ADD ] : FEAT 이외의 부수적인 코드 추가 , 라이브러리 추가 , 새로운 파일 생성 시
- [ FIX ] : 코드 수정 , 버그 , 오류 해결
- [ DEL ] : 쓸모없는 코드 삭제
- [ DOCS ] : README나 WIKI 등의 문서 개정
- [ MOVE ] : 프로젝트 내 파일이나 코드의 이동
- [ RENAME ] : 파일 이름의 변경
- [ MERGE ] : 다른 브렌치를 merge하는 경우
- [ STYLE ] : 코드가 아닌 스타일 변경을 하는 경우
- [ INIT ] : Initial commit을 하는 경우
- [ REFACTOR ] : 로직은 변경 없는 클린 코드를 위한 코드 수정
prd branch
: 배포 단위 branch (운영 서버 사용 용도 → 웹잼 이후 사용)
dev branch
: 주요 개발 branch, main merge 전 거치는 branch
feat branch
: 각자 개발 branch
할 일 issue 등록 후, issue number
를 사용하여 branch 생성 후 작업
branch naming
기능 개발 - feat
리팩토링 - refactor
수정 - fix
프로젝트 셋팅 - setting
해당 branch 작업 완료 후 PR 보내기
항상 local에서 충돌 해결 후 → remote에 올리기
reviewer에 서로 tag후 code-review
comment(review) 전 merge 불가!
review 반영 후, 본인이 merge
branch 구조
main
└── dev
├── feat/# 1
└── feat/# 2
merge 전략 → rebase and merge
rebase가 헷갈린다면?
아래 3가지는 기억해주세요
else 지양하기
우테코 코드 컨벤션 적용하기
cmd + option + L
CRUD Create get(Read) Update Delete로 시작하기!
예시: getUser(readUser) createUser readBoard updateUser
컨트롤러 & 서비스 메서드명 최대한 비슷하게 네이밍
Request
⇒
생성 요청 ⇒ entity명 + RequestDTO
수정 요청 ⇒ entity명 + Update + RequestDTO
Response
⇒
생성 요청에 대한 응답 ⇒ entity명 + created + ResponseDTO
예시: UserCreatedResponse DTO
조회 요청에 대한 응답(가공 필요) ⇒ entity명을 포함한 적절한 이름 + ResponseDTO
예시: UserResponseDTO
복수라면? entity명 + -(e)s + 적절한 설명 + ResponseDTO
예시: UsersOrderByNameResponse DTO
entity 그 자체를 리턴할 때(가공 X) ⇒ entity명 + DTO
예시: User DTO
복수라면? entity명+ -(e)s + DTO
예시: Users DTO