Skip to content

β€οΈβ€πŸ©Ή HEARTZνŒ€μ˜ ByeBoo μ„œλ²„ λ ˆν¬μž…λ‹ˆλ‹€ β€οΈβ€πŸ©Ή

Notifications You must be signed in to change notification settings

36-APPJAM-HEARTZ/ByeBoo-SERVER

Repository files navigation



이별 극볡을 μœ„ν•œ 단 ν•˜λ‚˜μ˜ κ°€μ΄λ“œ, Bye Boo μž…λ‹ˆλ‹€. πŸͺ¨πŸͺ¨

ByeBooλŠ” μ΄λ³„μ˜ 감정을 λ§žμΆ€ν˜• ν€˜μŠ€νŠΈλ₯Ό 톡해 μ •λ¦¬ν•˜κ³ , 감정 회볡의 여정을 ν•¨κ»˜ν•˜λŠ” 감정 μΌ€μ–΄ μ•±μž…λ‹ˆλ‹€.
μ‚¬μš©μžλŠ” 자기 μ„±μ°°ν˜•/행동 μ‹€μ²œν˜• ν€˜μŠ€νŠΈλ₯Ό μ„ νƒν•˜μ—¬ 보리와 ν•¨κ»˜ 감정을 μ§λ©΄ν•˜κ³  일상을 νšŒλ³΅ν•΄λ‚˜κ°‘λ‹ˆλ‹€.



πŸ‘» Server Developer

πŸ‘‘ 박상범
@ssangbaam
μ°¨ν˜„μ •
@jeong724

πŸ› οΈ TECH STACK

  • Hexagonal Architecture
  • Blue-Green Deployment
  • Java 17 (LTS)
  • Spring Boot 3.3.5
  • Spring Data JPA
  • MySQL (with Google Cloud SQL)
  • Lombok
  • Spring Cloud OpenFeign
  • Google Cloud Storage SDK
  • Springdoc OpenAPI (Swagger UI)
  • Spring Boot Actuator + Micrometer + Prometheus

기술 μŠ€νƒ λ„μž… 이유
Hexagonal Architecture 기술적인 κ΄€μ‹¬μ‚¬λ‘œλΆ€ν„° λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ„ λΆ„λ¦¬ν•˜κ³ , ν…ŒμŠ€νŠΈ μš©μ΄μ„±κ³Ό μœ μ§€λ³΄μˆ˜μ„±μ„ ν™•λ³΄ν•˜κΈ° μœ„ν•΄ λ„μž…ν–ˆμŠ΅λ‹ˆλ‹€. 도메인 쀑심 섀계λ₯Ό μœ„ν•œ 기반 ꡬ쑰둜 μ‚¬μš©λ©λ‹ˆλ‹€.
도메인 쀑심 섀계(DDD 적용 기반) 도메인과 μ—”ν‹°ν‹°λ₯Ό λΆ„λ¦¬ν•˜κ³ , 도메인 계측에 핡심 λ‘œμ§μ„ μ§‘μ€‘μ‹œμΌœ μœ μŠ€μΌ€μ΄μŠ€ μ€‘μ‹¬μ˜ 흐름을 κ΅¬μ„±ν–ˆμŠ΅λ‹ˆλ‹€. μ™„μ „ν•œ DDD κ΅¬ν˜„μ€ μ•„λ‹ˆμ§€λ§Œ, 이λ₯Ό μ§€ν–₯ν•˜λŠ” 섀계 ꡬ쑰λ₯Ό λ”°λ₯΄κ³  μžˆμŠ΅λ‹ˆλ‹€.
Blue-Green Deployment μ„œλΉ„μŠ€ 무쀑단 배포λ₯Ό μœ„ν•΄ 두 개의 독립적인 배포 ν™˜κ²½μ„ κ΅¬μ„±ν•˜μ—¬, μƒˆλ‘œμš΄ λ²„μ „μ˜ μ•ˆμ •μ„±μ„ κ²€μ¦ν•œ λ’€ νŠΈλž˜ν”½μ„ μ „ν™˜ν•¨μœΌλ‘œμ¨ λ‹€μš΄νƒ€μž„ 없이 μ•ˆμ •μ μœΌλ‘œ 배포할 수 μžˆλ„λ‘ κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€.

🧰 ARCHITECTURE

image

πŸ“¦ FOLDERING

πŸ“¦ com.heartz.byeboo
┣ πŸ“‚ adapter
┃ ┣ πŸ“‚ in
┃ ┃ β”— πŸ“‚ web
┃ ┃   ┣ πŸ“‚ controller
┃ ┃   β”— πŸ“‚ dto
┃ ┃     β”— πŸ“‚ request
┃ β”— πŸ“‚ out
┃   β”— πŸ“‚ persistence
┃     ┣ πŸ“‚ entity
┃     β”— πŸ“‚ repository
┣ πŸ“‚ application
┃ ┣ πŸ“‚ command
┃ ┣ πŸ“‚ port
┃ ┃ ┣ πŸ“‚ in
┃ ┃ ┃ ┣ πŸ“‚ usecase
┃ ┃ ┃ β”— πŸ“‚ dto
┃ ┃ ┃   β”— πŸ“‚ response
┃ ┃ β”— πŸ“‚ out
┃ β”— πŸ“‚ service
┣ πŸ“‚ config
┣ πŸ“‚ constants
┣ πŸ“‚ core
┃ ┣ πŸ“‚ common
┃ ┣ πŸ“‚ exception
┃ β”— πŸ“‚ interceptor
┣ πŸ“‚ domain
┃ ┣ πŸ“‚ exception
┃ ┣ πŸ“‚ model
┃ β”— πŸ“‚ type
┣ πŸ“‚ infrastructure
┃ ┣ πŸ“‚ api
┃ β”— πŸ“‚ dto
┣ πŸ“‚ mapper
β”— πŸ“‚ utils

πŸ“Œ Convention

🧩 Commit

νƒœκ·Έ μ„€λͺ…
feat μƒˆλ‘œμš΄ κΈ°λŠ₯ κ΅¬ν˜„ μ‹œ μ‚¬μš©
style μŠ€νƒ€μΌ 및 UI κΈ°λŠ₯ κ΅¬ν˜„ μ‹œ μ‚¬μš©
fix λ²„κ·Έλ‚˜ 였λ₯˜ ν•΄κ²° μ‹œ μ‚¬μš©
docs README, ν…œν”Œλ¦Ώ λ“± ν”„λ‘œμ νŠΈ λ‚΄ λ¬Έμ„œ μˆ˜μ • μ‹œ μ‚¬μš©
setting ν”„λ‘œμ νŠΈ κ΄€λ ¨ μ„€μ • λ³€κ²½ μ‹œ μ‚¬μš©
add 사진 λ“± μ—μ…‹μ΄λ‚˜ 라이브러리 μΆ”κ°€ μ‹œ μ‚¬μš©
refactor κΈ°μ‘΄ μ½”λ“œλ₯Ό λ¦¬νŒ©ν† λ§ν•˜κ±°λ‚˜ μˆ˜μ •ν•  λ•Œ μ‚¬μš©
chore λ³„λ‘œ μ€‘μš”ν•œ μˆ˜μ •μ΄ 아닐 λ•Œ μ‚¬μš©
hotfix κΈ‰ν•˜κ²Œ develop에 λ°”λ‘œ λ°˜μ˜ν•΄μ•Ό ν•˜λŠ” 경우 μ‚¬μš©

🧩 Code

ν•­λͺ© λͺ…λͺ… κ·œμΉ™
Class PascalCase
Method camelCase
Variable camelCase
DB Table snake_case (μ†Œλ¬Έμž)
Enum UPPER_CASE (λŒ€λ¬Έμž, μ–Έλ”μŠ€μ½”μ–΄)
Collection λ³€μˆ˜λͺ… λ³΅μˆ˜ν˜• μ‚¬μš©

About

β€οΈβ€πŸ©Ή HEARTZνŒ€μ˜ ByeBoo μ„œλ²„ λ ˆν¬μž…λ‹ˆλ‹€ β€οΈβ€πŸ©Ή

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages