해당 문서에서는 커피빵(CoffeeShout)를 구성하는 서버파트 테크 스택 선정 이유에 관한 내용을 담고 있습니다.
✏️ 언어
Java
- 팀원 모두 Java에 대한 이해도가 높음.
- 한국어 자료 및 커뮤니티가 풍부하여 문제 해결이 용이함.
Corretto JDK 21
- AWS에서 공식 제공, 친화도 좋음.
- LTS(Long Term Support) 중 최신 버전.
- Spring Boot 및 다양한 Java 생태계 라이브러리와의 호환성이 검증됨.
🌱 백엔드 프레임워크 및 라이브러리
Spring Boot 3.5.3
- LTS 중 최신이자 안정적인 버전으로, 스냅샷이 아닌 3.5.3 선택.
- DI, IoC, AOP 엔터프라이즈 아키텍처 핵심 개념을 기반으로 한 프레임워크.
- Java와 호환성이 우수함.
- 톰캣 내장 서버 지원 등 생산성이 높음.
- 방대한 생태계와 커뮤니티.
Lombok
- 반복적인 보일러플레이트 코드를 제거 가능. 코드 간결화.
- 비즈니스 코드 집중 가능
🔍 테스트 및 품질 관리
RestAssured
- 실제 HTTP 요청을 통한 테스트가 가능하여 e2e 테스트에 최적화된 라이브러리.
- 통합 테스트 시 외부 API 흐름을 시뮬레이션하기에 적합하며 신뢰도 높은 테스트 가능.
JUnit5 & AssertJ
- Java 생태계의 표준 테스트 프레임워크로, Spring Boot와의 통합이 뛰어남.
- 선언적이고 직관적인 문법을 제공하여 협업 및 유지보수에 유리함.
- 강력한 체이닝 방식으로 여러 시나리오 테스트에 유리함.
🚀 배포 및 인프라
Docker
- 컨테이너 기반 가상화 환경으로 일관된 개발/운영 환경 구성이 가능.
- 공식 문서, 커뮤니티, CLI 기반 관리 도구, YAML 설정 등 개발자 친화적.
- 이미지 기반으로 배포와 버전 관리가 용이하며, 프로젝트 규모에 적합한 경량성과 유연성을 제공.
EC2
- 실 배포 환경을 구성할 수 있는 AWS 인스턴스.
- 과거 사용 경험이 있어 빠르게 셋업 가능하며, 추후 다른 클라우드로 이전도 고려 가능.