Skip to content

GOSOPT-CDS-TEAM2/backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

backend

GOSOPT 합동세미나 웹 2조 서버

👩‍👧‍👧 Our Team

🍀 박수린 🍀 김성은
Server Developer Server Developer
프로젝트 세팅
Brand API, Main API
회의록 작성
Cart API, Main API

🔨 Project Structure

├─📁 main
│  ├─📁 java
│  │  └─📁 sopt
│  │      └─📁 org
│  │          └─📁 oliveyoungServer
│  │              ├─📁 common
│  │              │  ├─📁 advice
│  │              │  └─📁 dto
│  │              ├─📁 controller
│  │              │  └─📁 dto
│  │              │      ├─📁 request
│  │              │      └─📁 response
│  │              ├─📁 domain
│  │              ├─📁 exception
│  │              │  └─📁 model
│  │              ├─📁 infrastructure
│  │              └─📁 service
│  └─📁 resources
│      ├─static
│      └─templates
└─📁 test

🛠️ ERD

🌳 Branch

🌱 git branch 전략

main branch : 배포 단위 branch

dev branch : 주요 개발 branch, main merge 전 거치는 branch

feat branch: 각자 개발 branch

  • 할 일 issue 등록 후 issue 번호와 isuue 이름으로 branch 생성 후 작업
    • ex) FEAT/#issue num-isuue name
  • 해당 branch 작업 완료 후 PR 보내기
    • 항상 local에서 충돌 해결 후 → remote에 올리기
    • reviewer에 서로 tag후 code-review
    • comment 전 merge 불가!
    • review반영 후, 본인이 merge.

🌳 branch 구조

- main
- dev
- feat
   ├── #1-isuue name1
   └── #2-isuue name2


🧵 Commit Convention

📍 git commit message convention

ex) [FEAT]#32 - getDetailViewAPI구현

  • FEAT: 새로운 기능 구현
  • FIX: 버그, 오류 해결
  • CHORE: src 또는 test 파일을 수정하지 않는 기타 변경 사항 ( 새로운 파일 생성, 파일 이동, 이름 변경 등 )
  • REFACTOR: 버그 수정이나 기능 추가가 없는 코드 변경 ( 코드 구조 변경 등의 리팩토링 )
  • BUILD: 빌드 시스템 또는 외부에 영향을 미치는 변경 사항 종속성 ( 라이브러리 추가 등 )
  • TEST: 테스트 추가 또는 이전 테스트 수정
  • DOCS: README나 WIKI 등의 문서 개정
  • CI: CI 구성 파일 및 스크립트 변경
  • MERGE: 다른브랜치를 merge하는 경우
  • INIT : Initial commit을 하는 경우

🧶 Code Convention

Naming
  1. 변수는 CamelCase를 기본으로 한다.
  2. URL, 파일명 등은 kebab-case를 사용한다.
  3. 패키지명은 단어가 달라지더라도 무조건 소문자를 사용한다.
  4. ENUM이나 상수는 대문자로 네이밍한다.
  5. 함수명은 소문자로 시작하고 동사로 네이밍한다.
  6. 클래스명은 명사로 작성하고 UpperCamelCase를 사용한다.
  7. 객체 이름을 함수 이름에 중복해서 넣지 않는다. (= 상위 이름을 하위 이름에 중복시키지 않는다.)
  8. 컬렉션은 복수형을 사용하거나 컬렉션을 명시해준다.
  9. 이중적인 의미를 가지는 단어는 지양한다.
  10. 의도가 드러난다면 되도록 짧은 이름을 선택한다.
Structure
1. 패키지는 목적별로 묶는다.
2. Controller에서는 최대한 어떤 Service를 호출할지 결정하는 역할과 Exception처리만을 담당하자.
3. 하나의 클래스 안에서는 같은 목적을 둔 코드들의 집합이여야한다.
4. 메소드와 클래스는 최대한 작게 만든다.
5. 도메인 서비스를 만들어지는 것을 피하자.

About

GOSOPT 합동세미나 웹 2조 서버

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages