Skip to content

Latest commit

 

History

History
142 lines (123 loc) · 4.32 KB

README.md

File metadata and controls

142 lines (123 loc) · 4.32 KB

iOS4-SOPKATHON-Server

⭐️ Our Service


🔔 서비스 이름: 너 몇살이야?

🔔 소개 : 진짜 어른을 알아가는 과정, 너 몇살이야?



👩‍👧‍👧 Our Team


🍀 김성은 🍀 박재연
Server Developer Server Developer
답변 입력 API, 질문 조회 API
온보딩 API, 누적 결과 반환 API



📁 Our Project


Tech Stack

  • Spring Boot 3.2.0
  • Spring Data JPA
  • Java 17
  • AWS EC2
  • AWS RDS - MySQL

Execution

cd Server
cd src/main
mkdir resources
cd resources
vim application.yml
cd ../../../
chmod +x ./gradlew
./gradlew clean build -x test
cd build/libs
java -jar Server-0.0.1-SNAPSHOT.jar



Package Structure

|-- 📁 .github
|-- 📁 gradle
|-- 📁 src
	|-- 📁 main
		|-- 📁 java
			|-- 📁 Server
				|-- 📁 common
				|-- 📁 contoller
					|-- 📁 request
					|-- 📁 response
				|-- 📁 domain
				|-- 📁 exception
					|-- 📁 model
				|-- 📁 repository
				|-- 📁 service
		|-- 📁 resources
	|-- 📁 test
	|-- .gitignore
	|-- build.gradle
	|-- gradlew
	|-- gradlew.bat
	|-- README.md
	|-- settings.gradle
|-- 📁 External Libraries



Architecture Structure

서버 아키텍처



✨ Our Convention


✔️ Commit Convention

  • ✅ [CHORE] : 동작에 영향 없는 코드 or 변경 없는 변경사항(주석 추가 등)
  • ✨ [FEAT] : 새로운 기능 구현
  • ➕ [ADD] : Feat 이외의 부수적인 코드 추가, 라이브러리 추가, 새로운 파일 생성
  • 🔨 [FIX] : 버그, 오류 해결
  • ⚰️ [DEL] : 쓸모없는 코드 삭제
  • 📝 [DOCS] : README나 WIKI 등의 문서 수정
  • ✏️ [CORRECT] : 주로 문법의 오류나 타입의 변경, 이름 변경시
  • ⏪️ [RENAME] : 파일 이름 변경시
  • ♻️ [REFACTOR] : 전면 수정
  • 🔀 [MERGE]: 다른 브랜치와 병합

ex) commit -m "[FEAT] user API 구현"

🌳 Branch Convention

  • [feat] : 기능 추가
  • [fix] : 에러 수정, 버그 수정
  • [docs] : README, 문서
  • [refactor] : 코드 리펙토링 (기능 변경 없이 코드만 수정할 때)
  • [modify] : 코드 수정 (기능의 변화가 있을 때)
  • [chore] : gradle 세팅, 위의 것 이외에 거의 모든 것 ex) feat/#9

🌳 branch 전략

  • main : 메인 브랜치
  • main에 직접적인 commit, push는 가급적 금지합니다
  • 작업 전, 반드시 main 브랜치를 pull 받고 시작합니다 git pull origin main
  • 기능 개발 시 issue를 만듭니다.
  • 기능 개발 시 feature/#이슈번호 브랜치를 파서 관리합니다
  • 작은 기능별로 commit message rules에 따라 커밋을 진행합니다
  • 작업 완료 시 main 브랜치로 Pull Request를 보냅니다
  • 시간 상 특별한 이슈가 없다고 판단되면, 최종적으로 main 브랜치로 merge합니다
  • 다 쓴 브랜치는 삭제합니다

🌳 branch 구조

- main
   ├── feat/#1
   └── feat/#2



✔️ Code Convention


  1. 변수는 CamelCase를 기본으로 한다.
  2. URL, 파일명 등은 kebab-case를 사용한다.
  3. 패키지명은 단어가 달라지더라도 무조건 소문자를 사용한다.
  4. ENUM이나 상수는 대문자로 네이밍한다.
  5. 함수명은 소문자로 시작하고 동사로 네이밍한다.
  6. 클래스명은 명사로 작성하고 UpperCamelCase를 사용한다.
  7. 객체 이름을 함수 이름에 중복해서 넣지 않는다. (= 상위 이름을 하위 이름에 중복시키지 않는다.)
  8. 컬렉션은 복수형을 사용하거나 컬렉션을 명시해준다.
  9. 이중적인 의미를 가지는 단어는 지양한다.
  10. 의도가 드러난다면 되도록 짧은 이름을 선택한다.