Skip to content

numerical43/running-hi-back

 
 

Repository files navigation

Hits

🏃 RUNNING HI : 러닝하이

▼ 사이트 이동 ▼

image

🧱 프로젝트 아키텍처

image


⚒️ 기술 스택

Tool

IntelliJ

Language

Java

Library & Framework

Spring Boot Spring Security Spring Data JPA
GitHub Actions Docker Nginx

Database

MYSQL Firebase

AWS

AWS EC2 AWS RDS AWS Route 53 AWS S3


📌 코드 컨벤션

🎉 코드 컨벤션의 중요성

코드 컨벤션을 사전에 명확히 정의함으로써, 우리는 서로의 코드를 더욱 쉽게 이해할 수 있으며, 오해가 줄어들 것이라 생각합니다.

물론, 각자의 고유한 코드 스타일에서의 장점이 있을 수 있지만, 그것이 다른 팀원들이 이해를 하지 못한다면 그 코드는 장점으로 보이지 않을 것입니다.

우리가 공통된 코드 컨벤션을 정의함으로써, 개별 스타일의 장점을 유지하면서도 모두가 쉽게 이해할 수 있는 코드를 작성할 수 있을 것입니다. 이러한 노력은 결국 프로젝트의 효율성과 품질을 높여주며, 우수한 결과물을 창출할 것으로 기대합니다!

🎉 클래스 명칭

🐤 [ 도메인 이름 ] + [ Command / Query ] + [ Domain / Infra ] + [ Controller / Service / Repository]

🎉 메소드 명칭

C : create + [ 명사 ]

R : find + [ 명사 ]

U : update + [ 명사 ]

D : delete + [ 명사 ]

메소드 명은 🐫(Camel Case)로 표기할 것!


🎉 API 응답

image

출처 : https://wildeveloperetrain.tistory.com/m/240

응답의 형태는 Common 패키지에서 공용으로 사용되며 공통 양식을 유지할 것!


🎉 예외 처리

Common 패키지에서 Exception Response Handler 클래스를 생성하여 전체 도메인에서 발생하는 예외를 공용으로 관리할 것!

Create

  • Not Found
  • illegal Argument

Read

  • Not Found
  • Not Match Writer : 작성자가 본인이 아닐 때
  • Unauthorized Access : 본인이거나 관리자가 아닐 때, 즉 권한이 없을 때

Update

  • Not Found
  • illegal Argument
  • Not Match Writer : 작성자가 본인이 아닐 때
  • Unauthorized Access : 본인이거나 관리자가 아닐 때, 즉 권한이 없을 때

Delete

  • Not Found
  • illegal Argument
  • Not Match Writer : 작성자가 본인이 아닐 때
  • UnauthorizedAccess : 본인이거나 관리자가 아닐 때, 즉 권한이 없을 때

🎉 DTO

DTO(Data Transfer Object)를 request와 response로 나누어 제작할 것!


🎉 Test Code

DisplayName 명칭 통일

🐏 [ 도메인 이름 ] + [ 생성 / 조회 / 수정 / 삭제 ] + 테스트 : {테스트 내용}(성공 확인 시 ‘success’ 기입)
ex) `키워드 생성 테스트 : success`

About

러너들을 위한 코스 기록&추천 서비스 🏃 | 백엔드 ver.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%