Skip to content

YAPP-Github/24th-App-Team-2-BE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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