Skip to content

Commit 454f6a1

Browse files
authored
Merge pull request #76 from 9ITHON/dev
Dev
2 parents 08d64ff + e985635 commit 454f6a1

File tree

1 file changed

+240
-2
lines changed

1 file changed

+240
-2
lines changed

β€ŽREADME.mdβ€Ž

Lines changed: 240 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,68 @@
55

66
## πŸ“Œ Main Function
77

8-
---
8+
### **πŸ‘€ νšŒμ› κΈ°λŠ₯ (인증 및 인가)**
9+
10+
> λ³Έ ν”„λ‘œμ νŠΈλŠ” **카카였 둜그인 API**λ₯Ό ν™œμš©ν•˜μ—¬ μ‚¬μš©μž 인증 및 인가λ₯Ό μ²˜λ¦¬ν•©λ‹ˆλ‹€.
11+
12+
1. μ‚¬μš©μžκ°€ 카카였 λ‘œκ·ΈμΈμ„ μ‹œλ„ν•˜λ©΄, μ„œλ²„λŠ” **OAuth2User 객체**λ₯Ό 톡해 λ‹€μŒκ³Ό 같은 μ‚¬μš©μž 정보λ₯Ό λ°›μ•„ μ €μž₯ν•©λ‹ˆλ‹€.
13+
- 이메일
14+
- λ‹‰λ„€μž„
15+
- 카카였 ID
16+
17+
2. μΉ΄μΉ΄μ˜€λ‘œλΆ€ν„° **인증 μ½”λ“œ**λ₯Ό 받은 ν›„, 이λ₯Ό 기반으둜 **JWT 토큰**을 λ°œκΈ‰ν•©λ‹ˆλ‹€:
18+
- `AccessToken`은 λΈŒλΌμš°μ €μ˜ **μΏ ν‚€**에 μ €μž₯λ©λ‹ˆλ‹€.
19+
- **XSS 곡격 λ°©μ§€**: `HttpOnly` 속성을 μ μš©ν•˜μ—¬ μžλ°”μŠ€ν¬λ¦½νŠΈλ₯Ό ν†΅ν•œ 접근을 μ°¨λ‹¨ν•˜κ³  λ³΄μ•ˆμ„±μ„ κ°•ν™”ν•©λ‹ˆλ‹€.
20+
- **νŽΈμ˜μ„±**: μΏ ν‚€λŠ” 동일 도메인 μš”μ²­ μ‹œ **μžλ™μœΌλ‘œ HTTP μš”μ²­μ— 포함**λ˜λ―€λ‘œ, ν”„λ‘ νŠΈμ—”λ“œμ—μ„œ 토큰을 직접 헀더에 μΆ”κ°€ν•  ν•„μš”κ°€ μ—†μŠ΅λ‹ˆλ‹€.
21+
- `RefreshToken`은 **Redis**에 μ €μž₯λ˜μ–΄ μ•ˆμ „ν•˜κ²Œ κ΄€λ¦¬λ©λ‹ˆλ‹€.
22+
23+
3. μ‚¬μš©μžκ°€ **λ‘œκ·Έμ•„μ›ƒ**ν•  경우 λ‹€μŒκ³Ό 같은 μ²˜λ¦¬κ°€ μ΄λ£¨μ–΄μ§‘λ‹ˆλ‹€:
24+
- 쿠킀에 μ €μž₯된 `AccessToken`을 **μ¦‰μ‹œ 만료**μ‹œν‚΅λ‹ˆλ‹€.
25+
- ν•΄λ‹Ή `AccessToken`은 **Redis λΈ”λž™λ¦¬μŠ€νŠΈμ— 등둝**λ˜μ–΄ 더 이상 μ‚¬μš©ν•  수 없도둝 μ²˜λ¦¬ν•©λ‹ˆλ‹€.
26+
27+
### πŸ”— 카카였 곡유 κΈ°λŠ₯
28+
29+
> 카카였 곡유 APIλ₯Ό μ‚¬μš©ν•˜μ—¬ μ‚¬μš©μžμ™€ νŒŒνŠΈλ„ˆκ°€ μ‰½κ²Œ 연동될 수 μžˆλ„λ‘ μ§€μ›ν•©λ‹ˆλ‹€.
30+
31+
- μ˜¨λ³΄λ”© κ³Όμ •μ—μ„œ μ‚¬μš©μžλŠ” νŒŒνŠΈλ„ˆμ™€ κ³΅μœ ν•  수 μžˆλŠ” μ»€μŠ€ν…€ **URL**을 생성할 수 μžˆμŠ΅λ‹ˆλ‹€.
32+
- νŒŒνŠΈλ„ˆλŠ” 이 URL을 클릭해 κ°„νŽΈν•˜κ²Œ 연동 절차λ₯Ό μ‹œμž‘ν•˜λ©°, 연동이 μ™„λ£Œλ˜λ©΄ 두 μ‚¬μš©μžλŠ” **같은 μΊ˜λ¦°λ”λ₯Ό 곡유**ν•˜κ²Œ λ©λ‹ˆλ‹€.
33+
- 이제 두 μ‚¬μš©μžλŠ” 각자의 역할에 따라 λ‹€μŒκ³Ό 같은 기둝을 ν•¨κ»˜ 남기고 이쀑 ν”Όμž„μ„ μ‹€μ²œν•  수 μžˆμŠ΅λ‹ˆλ‹€:
34+
35+
- ν”Όμž„μ•½ 볡용
36+
- 감정 기둝
37+
- 관계 μ—¬λΆ€
38+
- μ½˜λ” μ‚¬μš© μ—¬λΆ€
39+
40+
41+
### πŸ“… μΊ˜λ¦°λ” κΈ°λŠ₯
942

43+
> νŒŒνŠΈλ„ˆμ™€ μ‚¬μš©μžκ°€ 같은 μΊ˜λ¦°λ”λ₯Ό κ³΅μœ ν•˜μ—¬ ν•¨κ»˜ 기둝을 μž‘μ„±ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
44+
45+
- 카카였 곡유 APIλ₯Ό 톡해 μ—°κ²°λœ μ‚¬μš©μžμ™€ νŒŒνŠΈλ„ˆλŠ” ν•˜λ‚˜μ˜ μΊ˜λ¦°λ”μ—μ„œ μ•„λž˜μ™€ 같은 기둝을 ν•¨κ»˜ μž‘μ„±ν•©λ‹ˆλ‹€:
46+
47+
- **ν”Όμž„μ•½ 볡용 기둝**
48+
- **감정 기둝**
49+
- **관계 μ—¬λΆ€**
50+
- **μ½˜λ” μ‚¬μš© μ—¬λΆ€**
51+
52+
- μ‚¬μš©μžμ˜ **`role` κ°’**(`ROLE_USER`, `ROLE_PARTNER`)에 따라 기둝 κ°€λŠ₯ν•œ ν•­λͺ©κ³Ό μ ‘κ·Ό κΆŒν•œμ΄ λ‹€λ¦…λ‹ˆλ‹€.
53+
54+
- **μ—¬μ„±(ROLE_USER):** 관계 μ—¬λΆ€, ν”Όμž„μ•½ 볡용 μ—¬λΆ€, 감정 기둝
55+
- **남성(ROLE_PARTNER):** 관계 μ—¬λΆ€, μ½˜λ” μ‚¬μš© μ—¬λΆ€
56+
57+
### πŸ”” μ•Œλ¦Ό κΈ°λŠ₯
58+
59+
> μ‹œμŠ€ν…œ 및 μ—°λ™λœ μ‚¬μš©μžμ™€μ˜ μƒν˜Έμž‘μš©μ„ μ•Œλ¦Ό μŠ€νƒμœΌλ‘œ μ œκ³΅ν•©λ‹ˆλ‹€.
60+
61+
- **SseEmitter**λ₯Ό ν™œμš©ν•œ **SSE(Server-Sent Events)**λ₯Ό 톡해 μ‹€μ‹œκ°„ μ•Œλ¦Όμ„ μ „μ†‘ν•©λ‹ˆλ‹€.
62+
- μ‚¬μš©μžλŠ” λ‹€μŒκ³Ό 같은 μ•Œλ¦Όμ„ μ‹€μ‹œκ°„μœΌλ‘œ 받을 수 μžˆμŠ΅λ‹ˆλ‹€:
63+
64+
- ν”Όμž„μ•½ **볡용 μ•Œλ¦Ό**
65+
- **감정 기둝 μ•Œλ¦Ό**
66+
- **μ•½ ꡬ맀 μ•Œλ¦Ό**
67+
- **νŒŒνŠΈλ„ˆ 연동 수락 μ•Œλ¦Ό**
68+
69+
---
1070

1171
## ✨ Contributors
1272

@@ -47,5 +107,183 @@
47107
[![My Skills](https://skillicons.dev/icons?i=idea,postman,figma,discord,notion)](https://skillicons.dev)
48108

49109
---
50-
## πŸ“ Folder Structure
110+
<details>
111+
<summary> <h2>πŸ“ Fold er Structure</h2></summary>
112+
<div markdown="1">
113+
<h3>도메인 쀑심 ꡬ쑰 섀계(DDD ꡬ쑰)</h3>
114+
115+
```
116+
β”œβ”€β”€ java
117+
β”‚Β Β  └── com
118+
β”‚Β Β  └── together
119+
β”‚Β Β  └── backend
120+
β”‚Β Β  β”œβ”€β”€ ToGetHerApplication.java
121+
β”‚Β Β  β”œβ”€β”€ domain
122+
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ calendar
123+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ controller
124+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── CalendarController.java
125+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ dto
126+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ CalendarDetailResponse.java
127+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ CalendarRecordRequest.java
128+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ CalendarRecordResponse.java
129+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── CalendarSummaryResponse.java
130+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ model
131+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── entity
132+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ BasicRecord.java
133+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ CondomUsage.java
134+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ IntakeRecord.java
135+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ IntakeType.java
136+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ MoodType.java
137+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── RelationRecord.java
138+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ repository
139+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ BasicRecordRepository.java
140+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ IntakeRecordRepository.java
141+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── RelationRecordRepository.java
142+
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── service
143+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ CalendarService.java
144+
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── IntakeRecordInitService.java
145+
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ couple
146+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ controller
147+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── CoupleController.java
148+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ model
149+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ entity
150+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ Couple.java
151+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── CoupleStatus.java
152+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ request
153+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ ConnectRequest.java
154+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── CoupleRequest.java
155+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── response
156+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ ConnectResponse.java
157+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── CoupleResponse.java
158+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ repository
159+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── CoupleRepository.java
160+
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── service
161+
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── CoupleService.java
162+
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ notification
163+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ controller
164+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ NotificationSettingsController.java
165+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── NotificationSseController.java
166+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ model
167+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ Notification.java
168+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ NotificationSettings.java
169+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ NotificationType.java
170+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ intake
171+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ request
172+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── IntakeRequest.java
173+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── response
174+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── IntakeResponse.java
175+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── notification
176+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ request
177+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ NotificationDayRequest.java
178+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ NotificationEnabledRequest.java
179+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── NotificationTimeRequest.java
180+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── response
181+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ NotificationDayResponse.java
182+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ NotificationEnabledResponse.java
183+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── NotificationTimeResponse.java
184+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ repository
185+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ NotificationRepository.java
186+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── NotificationSettingsRepository.java
187+
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── service
188+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ NotificationService.java
189+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ NotificationSettingsService.java
190+
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── NotificationSseService.java
191+
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ pill
192+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ controller
193+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── UserPillController.java
194+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ model
195+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ IntakeInfo.java
196+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ IntakeOption.java
197+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ UserPill.java
198+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ request
199+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── UserPillRequest.java
200+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── response
201+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ TodayPillResponse.java
202+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ UserPillRemainResponse.java
203+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── UserPillResponse.java
204+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ repository
205+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ IntakeInfoRepository.java
206+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── UserPillRepository.java
207+
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── service
208+
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── UserPillService.java
209+
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ sharing
210+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ controller
211+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── SharingController.java
212+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ model
213+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ Sharing.java
214+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ request
215+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ ConfirmRequest.java
216+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── SaveUrlRequest.java
217+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── response
218+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ ConfirmResponse.java
219+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── SaveUrlResponse.java
220+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ repository
221+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── SharingRepository.java
222+
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── service
223+
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── SharingService.java
224+
β”‚Β Β  β”‚Β Β  └── user
225+
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ controller
226+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ MainPageController.java
227+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ UserAuthController.java
228+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ UserController.java
229+
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── UserRedirectionController.java
230+
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ model
231+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ entity
232+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ Role.java
233+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── User.java
234+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ request
235+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── UserRequest.java
236+
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── response
237+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ MyPageResponse.java
238+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ UserResponse.java
239+
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── mainpageinfo
240+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ PartnerInfoResponse.java
241+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ PillInfoResponse.java
242+
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── UserInfoResponse.java
243+
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ repository
244+
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── UserRepository.java
245+
β”‚Β Β  β”‚Β Β  └── service
246+
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ MainPageService.java
247+
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ UserAuthService.java
248+
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ UserDeleteService.java
249+
β”‚Β Β  β”‚Β Β  └── UserProfileService.java
250+
β”‚Β Β  └── global
251+
β”‚Β Β  β”œβ”€β”€ common
252+
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ BaseResponse.java
253+
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ BaseResponseStatus.java
254+
β”‚Β Β  β”‚Β Β  └── model
255+
β”‚Β Β  β”‚Β Β  └── BaseEntity.java
256+
β”‚Β Β  β”œβ”€β”€ config
257+
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ CorsMvcConfig.java
258+
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ RedisConfig.java
259+
β”‚Β Β  β”‚Β Β  └── SecurityConfig.java
260+
β”‚Β Β  └── security
261+
β”‚Β Β  β”œβ”€β”€ jwt
262+
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ JWTFilter.java
263+
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ model
264+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ BlackListToken.java
265+
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── RefreshToken.java
266+
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ service
267+
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ BlackListTokenService.java
268+
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── JwtTokenService.java
269+
β”‚Β Β  β”‚Β Β  └── util
270+
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ CookieUtil.java
271+
β”‚Β Β  β”‚Β Β  └── JWTUtil.java
272+
β”‚Β Β  └── oauth2
273+
β”‚Β Β  β”œβ”€β”€ CustomOAuth2UserService.java
274+
β”‚Β Β  β”œβ”€β”€ CustomSuccessHandler.java
275+
β”‚Β Β  └── dto
276+
β”‚Β Β  β”œβ”€β”€ CustomOAuth2User.java
277+
β”‚Β Β  β”œβ”€β”€ KakaoResponse.java
278+
β”‚Β Β  β”œβ”€β”€ OAuth2Response.java
279+
β”‚Β Β  └── UserDTO.java
280+
└── resources
281+
β”œβ”€β”€ application-dev.yml
282+
β”œβ”€β”€ application-prod.yml
283+
└── application.yml
284+
```
285+
</div>
286+
</details>
287+
288+
51289

0 commit comments

Comments
Β (0)