Skip to content

36-APPJAM-HEARTZ/ByeBoo-SERVER

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

920 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

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

 
 
 

Contributors

Languages

โšก