komment | T-Dragon | Hyemin |
---|---|---|
├── .github
├── lovebird-api
├── lovebird-common
├── lovebird-client
├── lovebird-domain
├── lovebird-external
│ ├── fcm
│ └── s3
└── lovebird-infra
├── logging
└── monitoring
- 상위 모듈이 하위 모듈만을 의존하도록 구성
- 공통 모듈
- 어떠한 의존 관계도 갖지 않음
- 공통으로 사용되는 Type, Util 등을 정의
- DB와 밀접한 도메인을 다루는 모듈
- 애플리케이션 비즈니스를 모름
- 하나의 모듈은 최대 하나의 Infrastructure에 대한 책임을 가짐
- Entity, Repository, Reader, Writer 정의
- 비즈니스를 모르지만 외부 API와 통신하는 모듈
- WebClient를 통해 외부 API와 통신
- 독립적으로 실행 가능한 모듈
-
- zulu-openjdk:19.0.2
- Kotlin 1.9.10
-
- Spring Boot 3.1.5
- Gradle 8.4.0
-
- Spring Data JPA
-
- Spring Security
- OIDC, OAuth2.0
- JWT
-
- Kotest 5.8.0
- MockK 1.13.8
- Spring Rest Docs 3.3.2
-
- PostgreSQL 14
-
- EC2 (Ubuntu 20.04)
- S3
- RDS (PostgreSQL 14)
- CodeDeploy
- Route53
-
- Docker
- Nginx
- certbot
- Firebase Cloud Messaging