- νλ‘μ νΈ μ΄λ¦: DangDangCrew
- νλ‘μ νΈ μ€λͺ : μΉ΄μΉ΄μ€ μ§λ APIλ₯Ό νμ©ν λ°λ €λλ¬Ό λλ°μ μ°ΎκΈ° νλ«νΌ
κΉμ§λ―Ό |
κ°νμ€ |
μ΄μ§μ |
μμκ΄ |
μ νλ―Ό |
| BE | BE | BE | BE | BE |
-
νμκ°μ :
- νμκ°μ μ MySQLμ μ μ μ λ³΄κ° λ±λ‘λ©λλ€.
-
λ‘κ·ΈμΈ:
- μ¬μ©μμ μΈμ¦ μ 보λ₯Ό κ²μ¦νμ¬ λ‘κ·ΈμΈν©λλ€.
- μΈμ¦μ΄ μλ£λλ©΄ Access Tokenκ³Ό Refresh Tokenμ΄ λ°κΈλ©λλ€.
- Access Tokenμ ν΄λΌμ΄μΈνΈκ° μλ²μ μμ²ν λ μΈμ¦μ μ¬μ©λ©λλ€.
- Refresh Tokenμ Redisμ μ μ₯λλ©°, Access Tokenμ΄ λ§λ£λ κ²½μ° μλ‘μ΄ Access Tokenμ λ°κΈλ°λ λ° μ¬μ©λ©λλ€.
-
λ‘κ·Έμμ:
- μ¬μ©μ μΈμ¦μ ν΄μ νκ³ , μΈμ μ μ’ λ£ν©λλ€.
- Redisμμ μ μ₯λ RefreshTokenμ΄ μμ λμ΄ λ μ΄μ μ‘μΈμ€ ν ν°μ κ°±μ ν μ μμ΅λλ€.
-
λͺ¨μ μμ±:
- μΉ΄μΉ΄μ€ λ§΅μ ν΅ν΄ μ¬μ©μκ° μ§μ ν μμΉμ ν΄λΉνλ μ 견 λλ° μ₯μλ₯Ό 보μ¬μ€λλ€.
- μ 견 λλ° μ₯μλ₯Ό ν΄λ¦νμ¬ μ₯μ μμΈ μ 보λ₯Ό νμΈνκ³ λͺ¨μ μμ± λ²νΌμ ν΅ν΄ λͺ¨μμ μμ±ν©λλ€.
- λͺ¨μ μμ±μμ μ΅λ μΈμμ, λͺ¨μ μ€λͺ , λͺ¨μ λ μ§ λ±μ λ΄μ©μ κΈ°μ νμ¬ λͺ¨μμ μμ±ν©λλ€.
-
λͺ¨μ μ°Έκ°:
- μ¬μ©μκ° μ§λ νΉμ μ¦κ²¨μ°ΎκΈ° μλ¦Όμ ν΅ν΄ μμ±λ λͺ¨μμ νμΈν©λλ€.
- λͺ¨μ μκ°κΈμ μ ν μ₯μ, μκ°λ±μ νμΈ ν©λλ€.
- μ°Έκ°λ₯Ό μν κ²½μ° μ°Έκ° μ μ²μ λλ¦ λλ€.
-
μ€μκ° μ±ν κΈ°λ₯:
- μ€μκ°μΌλ‘ μ¬λ¬ μ¬λλ€κ³Ό μ±ν λ°©μμ λͺ¨μ κ΄λ ¨ λνλ₯Ό ν μ μμ΅λλ€.
-
μ°Έμ¬μ νκ°:
- λͺ¨μμ΄ μ’ λ£λλ©΄ ν΄λ± λͺ¨μ μ°Έμ¬μ°¨λ€ νκ°λ₯Ό μ νμ μΌλ‘ ν μ μμ΅λλ€.
-
μ¦κ²¨μ°ΎκΈ°:
- λͺ¨μμ ν¬λ§νλ μ₯μλ₯Ό μ¦κ²¨μ°ΎκΈ° λ±λ‘ν©λλ€.
- μ¦κ²¨μ°ΎκΈ° λ±λ‘ν μ₯μμ λͺ¨μμ΄ μμ±λλ©΄ μλ¦Όμ μ μ‘ν©λλ€.
-
ν«ν μΆμ² μλ¦Ό:
- μ₯μμ μμ±λ λͺ¨μμ νμ λ μ°Έκ°μλ€ μ κΈ°λ°μΌλ‘ μΌμ μμΉ μ΄μμ μ°Έκ°μμκ° λ°μνλ©΄ μ μ μ μ λ€μκ² ν«ν μ₯μ μλ¦Ό(SSE)λ₯Ό μ μ‘ν©λλ€.
| μμ μ ν | λ΄λΉμ | λ΄μ© |
|---|---|---|
| κ³΅ν΅ μμ | - ν μ€νΈ μ½λ | |
| - ERD μ€κ³ | ||
| - μꡬμ¬ν μ 리 λ° μ¬μ©μ μλλ¦¬μ€ μμ± | ||
| κ°λ³ μμ |
![]() κΉμ§λ―Ό |
μ μ λλ©μΈ - νμκ°μ /λ‘κ·ΈμΈ - 보μ, μΈκ°, μΈμ¦ μ μ© (JWT) |
![]() μ νλ―Ό |
μ μ νκ° λλ©μΈ - νμ - νκ° λ΄μ© |
|
![]() κ°νμ€ |
μ₯μ λλ©μΈ μλ¦Ό λλ©μΈ - μ€μκ° μΈκΈ° μ 보 μλ¦Ό μμ€ν μ μ© (SSE) - λ°°ν¬ λ° CI/CD κ΅¬μΆ - λͺ¨λν°λ§ μλ² κ΅¬μΆ |
|
![]() μ΄μ§μ |
λͺ¨μ λλ©μΈ - λͺ¨μ μμΈνμ΄μ§ - κ°μΈ λͺ¨μ μ‘°ν - νλ‘ν νμ μ μ |
|
![]() μμκ΄ |
μ±ν
λλ©μΈ - μ₯μ λ³ μ±ν κΈ°λ₯ μ μ© (WebSocket) - νλ‘ν νμ μ μ |
|
src
βββ main
βββ java
β βββ findme.dangdangcrew
β βββ chat
β βββ evaluation
β βββ global
β β βββ config
β β βββ dto
β β βββ entity
β β βββ exception
β β βββ interceptor
β β βββ publisher
β β βββ service
β βββ meeting
β βββ notification
β βββ place
β βββ sse
β βββ user
β β βββ controller
β β βββ dto
β β βββ entity
β β βββ repository
β β βββ service
β βββ DangdangcrewApplication
βββ resources
β βββ application.yml
![]() |
![]() |
![]() |
![]() |
| λ‘κ·ΈμΈ | μ₯μμ ν | μ₯μμ ν - λͺ¨μλͺ©λ‘ | μλ¦Όλͺ©λ‘ |
![]() |
![]() |
![]() |
![]() |
| λͺ¨μμκ° | λͺ¨μκ΄λ¦¬ | μ±ν λ°© | νκ°μ°½ |
-
dev Branch
- λ°°ν¬ κ°λ₯ν μνμ μ½λλ₯Ό μ μ§ν©λλ€.
- λͺ¨λ λ°°ν¬λ μ΄ λΈλμΉμμ μ΄λ£¨μ΄μ§λλ€.
-
feature Branch
- νμ κ°μμ κ°λ° λΈλμΉμ λλ€.
- λͺ¨λ κΈ°λ₯ κ°λ°μ μ΄ λΈλμΉμμ μ΄λ£¨μ΄μ§λλ€.
- λΈλμΉλͺ
: νκ·Έ-#μ΄μλ²νΈ-κ°λ°λ΄μ©
- ex) feat-#14-user-api
| νκ·Έ | μ€λͺ |
|---|---|
βοΈ build |
λΉλ κ΄λ ¨ νμΌ μμ |
β
ci/cd |
CI/CD μ€μ νμΌ μμ |
βοΈ comment |
νμν μ£Όμ μΆκ° λ° λ³κ²½ |
π docs |
λ¬Έμλ₯Ό κ°μ νκ±°λ λ΄μ©μ μΆκ° |
βοΈ style |
μ½λ ν¬λ§· λ³κ²½, μΈλ―Έμ½λ‘ λλ½ λ± μ½λ λ³κ²½ μμ |
β¨ feat |
μλ‘μ΄ κΈ°λ₯μ μΆκ°ν κ²½μ° |
β remove |
νμΌμ μμ νλ μμ λ§ μνν κ²½μ° |
π¨ refactor |
νλ‘λμ μ½λ 리ν©ν λ§ |
π‘ rename |
νμΌ νΉμ ν΄λλͺ μ μμ νκ±°λ μ΄λν κ²½μ° |
π‘ test |
ν μ€νΈ μΆκ°, ν μ€νΈ 리ν©ν λ§ (νλ‘λμ μ½λ λ³κ²½ X) |
π¨ fix |
λ²κ·Έλ₯Ό κ³ μΉ κ²½μ° |
μ΄μλͺ
: λ΄μ©
ex) μ μ CRUD κΈ°λ₯ μΆκ°
## μ΄μ
### νμ¬ μν©
- νμ¬ λ°μν λ¬Έμ λ κ°μ μ΄ νμν μν©μ μ€λͺ
ν΄μ£ΌμΈμ.
### λͺ©ν
- μ΄μλ₯Ό ν΅ν΄ λ¬μ±νκ³ μ νλ λͺ©νλ₯Ό μ€λͺ
ν΄μ£ΌμΈμ.
## μμ
λ΄μ©
- [ ] μμ
1
- [ ] μμ
2
- [ ] μμ
3
## μ€ν¬λ¦°μ·
νμν κ²½μ° μ€ν¬λ¦°μ·μ 첨λΆν΄μ£ΌμΈμ.
## μ°Έκ³ μλ£
κ΄λ ¨ λ¬Έμλ λ§ν¬λ₯Ό 첨λΆν΄μ£ΌμΈμ.
PRλͺ
: [#μ΄μλ²νΈ] λ΄μ©
ex) [#14] μ μ CRUD κΈ°λ₯ μΆκ°
### PR νμ
(νλ μ΄μμ PR νμ
μ μ νν΄μ£ΌμΈμ)
- [X] κΈ°λ₯ μΆκ°
- [ ] κΈ°λ₯ μμ
- [ ] λ²κ·Έ μμ
- [ ] λ¬Έμ μμ
- [ ] μ½λ 리ν©ν λ§
- [ ] ν
μ€νΈ μ½λ μΆκ° λ° λ¦¬ν©ν λ§
- [ ] μμ‘΄μ±, νκ²½ λ³μ, λΉλ κ΄λ ¨ μ½λ μ
λ°μ΄νΈ
### λ°μ λΈλμΉ
ex) dev/feature/join
### μ΄μ
[#μ΄μ λ²νΈ](μ΄μ λ§ν¬)
### λ³κ²½ μ¬ν
ex) λ‘κ·ΈμΈ μ, κ΅¬κΈ μμ
λ‘κ·ΈμΈ κΈ°λ₯μ μΆκ°νμ΅λλ€. (ꡬ체μ μΌλ‘, λͺ
μμ μΌλ‘ μμ±)
### ν
μ€νΈ κ²°κ³Ό
ex) λ² μ΄μ€ λΈλμΉμ ν¬ν¨λκΈ° μν μ½λλ λͺ¨λ μ μμ μΌλ‘ λμν΄μΌ ν©λλ€. κ²°κ³Όλ¬Όμ λν μ€ν¬λ¦°μ·, GIF, νΉμ λΌμ΄λΈ λ°λͺ¨κ° κ°λ₯νλλ‘ μνAPIλ₯Ό 첨λΆν μλ μμ΅λλ€.






























