멀티모듈로 되어 있는 Spring Boot 기반의 이커머스 API 프로젝트입니다.
- Spring @Transactional 동작, 로그로 확인하기
- @Transactional 에 대한 것
- @EventListener와 @TransactionalEventListener의 차이
- 10주간 돌아보기
- [WIL] 루퍼스_부트캠프 9주차
- [WIL] 부트캠프 8주차
- [WIL] 부트캠프 5주차
- [WIL] 부트캠프 4주차
- [WIL] 부트캠프 3주차
- [WIL] 부트캠프 1주차
현재 프로젝트 안정성 및 유지보수성 등을 위해 아래와 같은 장치를 운용하고 있습니다. 이에 아래 명령어를 통해 프로젝트의 기반을 설치해주세요.
local
프로필로 동작할 수 있도록, 필요 인프라를 docker-compose
로 제공합니다.
docker-compose -f ./docker/infra-compose.yml up
local
환경에서 모니터링을 할 수 있도록, docker-compose
를 통해 prometheus
와 grafana
를 제공합니다.
애플리케이션 실행 이후, http://localhost:3000 로 접속해, admin/admin 계정으로 로그인하여 확인하실 수 있습니다.
docker-compose -f ./docker/monitoring-compose.yml up
본 프로젝트는 멀티 모듈 프로젝트로 구성되어 있습니다. 각 모듈의 위계 및 역할을 분명히 하고, 아래와 같은 규칙을 적용합니다.
- apps : 각 모듈은 실행가능한 SpringBootApplication 을 의미합니다.
- modules : 특정 구현이나 도메인에 의존적이지 않고, reusable 한 configuration 을 원칙으로 합니다.
- supports : logging, monitoring 과 같이 부가적인 기능을 지원하는 add-on 모듈입니다.
Root
├── apps ( spring-applications )
│ └── 📦 commerce-api
├── modules ( reusable-configurations )
│ └── 📦 jpa
│ └── 📦 redis
└── supports ( add-ons )
├── 📦 monitoring
└── 📦 logging