Skip to content

Latest commit

 

History

History
118 lines (85 loc) · 3.14 KB

README.md

File metadata and controls

118 lines (85 loc) · 3.14 KB

Trouble Painter 🪄

1

2

3

4


Architecture ✨


Teck Stack ✨

IDE IntelliJ
Language Kotlin
Framework Spring Boot 3.2.5, Gradle
Authentication Spring Security, JSON Web Tokens, Opaque Token
Orm Spring Data JPA
Database MySQL
External Nginx, Docker, Redis, Kubernetes, ELK
Monitoring Prometheus, Grafana, Sentry
CI/CD ArgoCD, Github Action
API Docs Notion, Swagger
Other Tool Jira, Discord, Postman, Figma

Class Naming Convention ✨

모듈 접미어 설명
Domain UseCase In Port 인터페이스
Repository Out Port 인터페이스

Module Structure ✨

domain: 도메인 모듈

- 비지니스 로직에서 해결하고자 하는 도메인 객체들
- 모든 모듈에서 사용하는 DTO, VO, Entity(JPA Enitty 아님) 객체의 모음
- 일단 포트 역할하는 인터페이스도 이 모듈에 담는다.
app adapter core support domain
사용가능한 모듈 여부 - - - - -

support: 서포트 모듈

- 프로젝트와는 독립적으로 동작 할 수 있는 객체들을 모아두는 모듈
- TimeUtis 등
app adapter core support domain
사용가능한 모듈 여부 - - - - -

core: 코어 모듈

- 비지니스 로직을 관리하는 모듈
- 웹 통신 / DB 관련 객체는 가급적 사용을 피한다.
app adapter core support domain
사용가능한 모듈 여부 - Runtime - O O

adapter : 외부 통신 모듈

- DB나 타 서비스 등 다른 서비스와 통신 하는 모듈
- JPA / Kafka Producer / Http 통신 등이 해당 된다.
app adapter core support domain
사용가능한 모듈 여부 - - - O O

app : 요청 Receive 모듈

- 서비스에 들어오는 요청을 처리하는 구현체
- Web Controller / Kafka Consumer 등이 해당 된다.
app adapter core support domain
사용가능한 모듈 여부 - - O O O