Skip to content

SOPT-all/38-COLLABORATION-SERVER-NAVER

Repository files navigation

38-COLLABORATION-SERVER-NAVER

LETS SOPT 38기 합동 세미나 모바일 웹 2조 네이버 💚 🏪 🇳 🚚


🚀 Project Introduce

Image Image Image Image

👥 팀 소개

신진수
신진수
박예나
박예나


🛠️ Tech Stack

Category Stack
Language Java
Framework Spring Boot
ORM Spring Data JPA
Database MySQL H2
Build Gradle
Library Lombok
API Docs Swagger
Infra Docker AWS EC2
Version Control Git GitHub


🌿 Git Convention

브랜치 전략

Format: type/#issueNum/{domain}

type 설명
feat 새로운 기능 추가
fix 버그 수정
refactor 기능 변경 없는 구조 개선
docs 문서, Swagger 수정
test 테스트 추가 또는 수정
chore 설정, 패키지 구조, 빌드 작업
domain 대상
home 홈 화면
product 상품 상세
cart 장바구니
payment 결제
global 공통

커밋 메시지 컨벤션

Format: type(#issueNum/domain): 작업 내용

예시: feat(#12/home): 카테고리 조회 API 구현



💻 Coding Convention

1. 패키지 구조

베이스 패키지: src/main/java/com/sopt/collaboration

src/main/java/{base-package}
├── global
│   ├── config
│   ├── entity          # BaseEntity
│   ├── response        # ApiResponseBody, SuccessCode, ErrorMeta
│   ├── exception       # BusinessException, GlobalExceptionHandler, ErrorCode
│   └── util
│
└── domain
    └── {domain-name}
        ├── controller
        ├── service
        ├── repository
        ├── entity
        └── exception   # {Domain}Exception, {Domain}ErrorCode

2. 클래스 멤버 선언 순서

순서 대상
1 상수 (static final)
2 static 변수
3 인스턴스 변수
4 생성자
5 public 메서드 (getter/setter는 마지막)
6 protected 메서드
7 package-private 메서드
8 private 메서드
9 nested 클래스/인터페이스

3. API URL 설계 규칙

  • 리소스명은 복수형으로 작성 (예: /products, /categories)
  • 리소스명은 kebab-case로 작성 (예: /promotion-items)
  • path variable 변수명은 camelCase로 작성 (예: /{productId})
  • 불필요한 상위 리소스를 포함하지 않도록 최소한의 경로로 설계
  • 리소스 위치 특정 → path variable 사용
  • 리소스 필터링/검색 → query string 사용

About

LET`S SOPT 38기 합동세미나 모바일 웹 2조 네이버 👒

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages