Skip to content

Commit 75afb63

Browse files
authored
๐Ÿ“ docs : ๋ฆฌ๋“œ๋ฏธ ์ˆ˜์ •
๐Ÿ“ docs : ๋ฆฌ๋“œ๋ฏธ ์ˆ˜์ •
2 parents dfa9567 + 9b7600f commit 75afb63

File tree

2 files changed

+84
-68
lines changed

2 files changed

+84
-68
lines changed

โ€ŽREADME.mdโ€Ž

Lines changed: 84 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1,99 +1,115 @@
1-
# โœจProject Conventionโœจ
2-
---
1+
# ๐Ÿฑ ์ž”๋ฐ˜ํ”Œ๋ŸฌํŒ… Backend
32

4-
<br>
5-
6-
## โœ‰๏ธ Commit Convention
3+
์ง€์—ญ ๋ฐ˜์ฐฌ ๋งค๋ฌผ์„ ๊ธฐ๋ฐ˜์œผ๋กœ **์‚ฌ์šฉ์ž ๋งž์ถคํ˜• ๋ฐ˜์ฐฌ ์ถ”์ฒœ๊ณผ ๊ฒฝ๋กœ ์ตœ์ ํ™”**๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ฐฑ์—”๋“œ ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค.
4+
Spring Boot๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•๋˜์—ˆ์œผ๋ฉฐ, **FastAPI ๊ธฐ๋ฐ˜ AI ์ถ”์ฒœ ์„œ๋ฒ„**์™€ ์—ฐ๋™๋˜์–ด ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.
75

8-
์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋Š” **Udacity ์Šคํƒ€์ผ**์„ ์‚ฌ์šฉํ•˜๋ฉฐ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ๋กœ ์ž‘์„ฑ
6+
---
97

10-
```
11-
type: Subject (์ œ๋ชฉ)
8+
## ๐Ÿš€ Tech Stack
9+
<img width="1045" height="844" alt="struct-be" src="https://github.com/user-attachments/assets/a10dd991-3e69-46dc-8eb0-152d27e3c1e4" />
1210

13-
body (๋ณธ๋ฌธ) (๊ธด ์„ค๋ช…์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ์— ์ž‘์„ฑ)
1411

15-
footer (๊ผฌ๋ฆฌ๋ง) (issue tracker ID๋ฅผ ๋ช…์‹œํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ์— ์ž‘์„ฑ)
16-
```
17-
<br>
12+
### ๐Ÿ”น Backend
13+
- **Java 21**
14+
- **Spring Boot 3.5.3**
15+
- **MySQL** : ๋ฉ”์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
16+
- **Swagger (springdoc-openapi)** : API ๋ฌธ์„œํ™”
1817

18+
<img src="https://img.shields.io/badge/Java%2021-007396?style=flat-square&logo=java&logoColor=white" /> <img src="https://img.shields.io/badge/Spring%20Boot%203.5.3-6DB33F?style=flat-square&logo=springboot&logoColor=white" /> <img src="https://img.shields.io/badge/MySQL-4479A1?style=flat-square&logo=mysql&logoColor=white" /> <img src="https://img.shields.io/badge/Swagger-85EA2D?style=flat-square&logo=swagger&logoColor=black" />
1919

20-
### ๐Ÿ›  **type**: ์ปค๋ฐ‹์˜ ์œ ํ˜•
2120

22-
| ํƒ€์ž… | ์„ค๋ช… |
23-
|------------|------------------------------------------------|
24-
| `feat` | โœจ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€ |
25-
| `fix` | ๐Ÿ› ๋ฒ„๊ทธ ์ˆ˜์ • |
26-
| `docs` | ๐Ÿ“ ๋ฌธ์„œ ์ˆ˜์ • (README, ์ฃผ์„ ๋“ฑ) |
27-
| `style` | ๐Ÿ’„ ์ฝ”๋“œ ํฌ๋งทํŒ…, ์„ธ๋ฏธ์ฝœ๋ก  ๋ˆ„๋ฝ ๋“ฑ ๊ธฐ๋Šฅ ์˜ํ–ฅ ์—†๋Š” ๋ณ€๊ฒฝ |
28-
| `refactor` | โ™ป๏ธ ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง (๊ธฐ๋Šฅ ๋ณ€ํ™” ์—†์Œ) |
29-
| `test` | โœ… ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋˜๋Š” ์ˆ˜์ • |
30-
| `chore` | ๐Ÿ”ง ๋นŒ๋“œ ์„ค์ •, ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ € ์„ค์ • ๋“ฑ ๊ธฐํƒ€ ์ž‘์—… |
31-
| `perf` | โšก ์„ฑ๋Šฅ ๊ฐœ์„  |
32-
| `ci` | ๐Ÿ”„ CI ๊ด€๋ จ ์„ค์ • ๋ฐ ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ • |
33-
| `revert` | โš™๏ธ ์ด์ „ ์ปค๋ฐ‹ ๋˜๋Œ๋ฆฌ๊ธฐ |
21+
### ๐Ÿ”น AI / Recommendation
22+
- **FastAPI (Python)** : AI ์ถ”์ฒœ ์„œ๋ฒ„
23+
- **GPT-4o-mini**
24+
- ๐Ÿณ **์š”๋ฆฌ ๋ ˆ์‹œํ”ผ ์ƒ์„ฑ** (์‚ฌ์šฉ์ž๊ฐ€ ๊ตฌ๋งคํ•œ ๋ฐ˜์ฐฌ ๊ธฐ๋ฐ˜)
25+
- ๐Ÿฅ— **์‹๋‹จ ํ…Œ๋งˆ ๊ธฐ๋ฐ˜ ์ถ”์ฒœ** (๋‹ค์ด์–ดํŠธ/ํ‚คํ† /์ €์—ผ/๋ฒŒํฌ์—…/ํ˜ˆ๋‹น)
26+
- **Fine-tuning**
27+
- GPT-4o-mini๋ฅผ **์˜์–‘์„ฑ๋ถ„ํ‘œ ๋ฐ์ดํ„ฐ๋กœ ํŒŒ์ธํŠœ๋‹**
28+
โ†’ ๋งค๋ฌผ์˜ ์‹ค์ œ ์˜์–‘ ์„ฑ๋ถ„ ๋ถ„์„ ํ›„ ๋งž์ถคํ˜• ์ถ”์ฒœ ์ œ๊ณต
3429

35-
<br>
30+
<img src="https://img.shields.io/badge/FastAPI-009688?style=flat-square&logo=fastapi&logoColor=white" /> <img src="https://img.shields.io/badge/GPT--4o%20mini-412991?style=flat-square&logo=openai&logoColor=white" />
3631

37-
### ๐Ÿ–Š๏ธ **Subject**: ์ œ๋ชฉ
3832

39-
- 50์ž ์ด๋‚ด๋กœ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ž‘์„ฑ
40-
- ๋งˆ์นจํ‘œ(`.`) ๊ธˆ์ง€
41-
- ๊ณผ๊ฑฐ ์‹œ์ œ X, ๋ช…๋ น์–ด ์‚ฌ์šฉ
33+
### ๐Ÿ”น DevOps
34+
- **Gradle** : ๋นŒ๋“œ & ์˜์กด์„ฑ ๊ด€๋ฆฌ
35+
- **GitHub Actions** : CI/CD ํŒŒ์ดํ”„๋ผ์ธ
36+
- Build & Test
37+
- Docker Build & Push โ†’ DockerHub ์—…๋กœ๋“œ
38+
- **Docker** : ์ปจํ…Œ์ด๋„ˆํ™” ๋ฐ ๋ฐฐํฌ
4239

43-
<br>
40+
<img src="https://img.shields.io/badge/Gradle-023038?style=flat-square&logo=gradle&logoColor=white" /> <img src="https://img.shields.io/badge/GitHub%20Actions-2088FF?style=flat-square&logo=githubactions&logoColor=white" /> <img src="https://img.shields.io/badge/Docker-2496ED?style=flat-square&logo=docker&logoColor=white" />
4441

45-
### ๐Ÿ“ **Body**: ๋ณธ๋ฌธ
4642

47-
- **์„ ํƒ ์‚ฌํ•ญ**
48-
- ์ œ๋ชฉ์—์„œ ์„ค๋ช…ํ•  ์ˆ˜ ์—†๋Š” ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ์ œ๊ณต
49-
- "๋ฌด์—‡์„"๊ณผ "์™œ"๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ์ƒ์„ธํžˆ ๊ธฐ์ˆ 
50-
- ํ•œ ์ค„๋‹น 72์ž ์ด๋‚ด๋กœ ์ž‘์„ฑ
51-
- ํ•„์š”์‹œ Markdown ์‚ฌ์šฉ ๊ฐ€๋Šฅ
43+
---
5244

45+
## ๐Ÿ“‚ Project Structure
46+
```text
47+
๐Ÿ“ฆ src
48+
โ”ฃ ๐Ÿ“‚ main
49+
โ”ƒ โ”ฃ ๐Ÿ“‚ java/com/example/Centralthon
50+
โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚ domain # ๋„๋ฉ”์ธ ๋กœ์ง
51+
โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚ global # ๊ณตํ†ต ์„ค์ • ๋ฐ ์œ ํ‹ธ
52+
โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚ core/exception # ์ „์—ญ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ
53+
โ”ƒ โ”ฃ ๐Ÿ“‚ resources
54+
โ”ƒ โ”ƒ โ”ฃ application.properties # ํ™˜๊ฒฝ ์„ค์ •
55+
โ”ฃ ๐Ÿ“‚ test # ๋‹จ์œ„/ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ
56+
```
5357

5458
---
55-
<br>
5659

60+
## ๐Ÿ›  ์ฃผ์š” ๊ธฐ๋Šฅ
5761

58-
## ๐ŸŒฟ Git Flow ๋ธŒ๋žœ์น˜ ์ „๋žต (with `main`) ๐ŸŒฟ
62+
### 1. ๐Ÿ“ ๋ฐ˜์ฐฌ ๋งค๋ฌผ ์กฐํšŒ
63+
- ์‚ฌ์šฉ์ž์˜ ํ˜„์žฌ ์œ„์น˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ **๋ฐ˜๊ฒฝ 2km ์ด๋‚ด**์˜ ๋งค๋ฌผ ๋ชฉ๋ก ์กฐํšŒ
64+
- ๊ฐ€๊ฒŒ ์ •๋ณด, ๋ฉ”๋‰ด ์ •๋ณด, ๊ฐ€๊ฒฉ, ํ• ์ธ์œจ ํฌํ•จ
5965

66+
### 2. ๐Ÿšถ ์ตœ์  ๊ฒฝ๋กœ ์ œ๊ณต
67+
- ์‚ฌ์šฉ์ž๊ฐ€ ๋งค๋ฌผ์„ ์žฅ๋ฐ”๊ตฌ๋‹ˆ์— ๋‹ด๊ณ  ํ”ฝ์—… ์˜ˆ์•ฝํ•˜๋ฉด
68+
ํ•ด๋‹น ๊ฐ€๊ฒŒ๋“ค์„ ๊ฒฝ์œ ํ•˜๋Š” **๋„๋ณด ์ตœ์  ๊ฒฝ๋กœ(TSP ๊ธฐ๋ฐ˜)** ์ œ๊ณต
69+
- **Tmap API + ๋‚ด๋ถ€ ์ตœ์ ํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ™œ์šฉ**
6070

61-
### ๐ŸŒด ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜
62-
| ๋ธŒ๋žœ์น˜ | ์—ญํ•  |
63-
|--------|------|
64-
| `main` | ์ตœ์ข… ๋ฐฐํฌ์šฉ ๋ธŒ๋žœ์น˜ (stable) |
65-
| `develop` | ๋‹ค์Œ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ ํ†ตํ•ฉ ๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜ |
71+
### 3. ๐Ÿณ ์š”๋ฆฌ ๋ ˆ์‹œํ”ผ ์ถ”์ฒœ (AI)
72+
- ๊ตฌ๋งคํ•œ ๋ฐ˜์ฐฌ๋“ค์„ ์กฐํ•ฉํ•˜์—ฌ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” **๋ ˆ์‹œํ”ผ ์ž๋™ ์ƒ์„ฑ**
73+
- **GPT-4o-mini ํ™œ์šฉ**
6674

67-
<br>
75+
### 4. ๐Ÿฅ— ๋งž์ถคํ˜• ์‹๋‹จ ์ถ”์ฒœ (AI Fine-tuning)
76+
- ๋‹ค์„ฏ ๊ฐ€์ง€ ์‹๋‹จ ํ…Œ๋งˆ ์ œ๊ณต:
77+
- ๋‹ค์ด์–ดํŠธ / ํ‚คํ†  / ์ €์—ผ / ๋ฒŒํฌ์—… / ํ˜ˆ๋‹น ์กฐ์ ˆ
78+
- **GPT-4o-mini Fine-tuning** โ†’ ์‹ค์ œ **์˜์–‘์„ฑ๋ถ„ํ‘œ ๋ฐ์ดํ„ฐ๋ฅผ ํ•™์Šต**์‹œ์ผœ, ๋งค๋ฌผ์˜ ์„ฑ๋ถ„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ…Œ๋งˆ๋ณ„ ๋งž์ถคํ˜• ์ถ”์ฒœ ์ œ๊ณต
6879

69-
### ๐ŸŒฑ **์ž‘์—… ๋ธŒ๋žœ์น˜ ๋„ค์ด๋ฐ ๊ทœ์น™**
80+
---
7081

71-
```
72-
type/#issue๋ฒˆํ˜ธ (์ž‘์—… ๋‹จ์œ„๋Š” ๊ธฐ๋Šฅ/์ˆ˜์ •/๋ฆฌํŒฉํ† ๋ง ๋“ฑ์œผ๋กœ ๊ตฌ๋ถ„)
73-
```
82+
## โš™๏ธ CI/CD Workflow
7483

84+
### ๐Ÿ”น CI Pipeline
85+
1. Gradle ๋นŒ๋“œ โ†’ Spring Boot JAR ์ƒ์„ฑ
86+
2. Docker ์ด๋ฏธ์ง€ ๋นŒ๋“œ
87+
3. DockerHub ํ‘ธ์‹œ (latest, commit sha ํƒœ๊ทธ)
7588

76-
| prefix | ์„ค๋ช… | ์˜ˆ์‹œ |
77-
|--------------|------------------------------|-----------------------------------|
78-
| `feature/` | โœจ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ | `feature/#15` |
79-
| `fix/` | ๐Ÿ› ๋ฒ„๊ทธ ์ˆ˜์ • | `fix/#42` |
80-
| `refactor/` | โ™ป๏ธ ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง | `refactor/#23` |
81-
| `chore/` | ๐Ÿ”ง ์„ค์ • ๋ณ€๊ฒฝ, ์žก์ผ | `chore/#25` |
82-
| `perf/` | โšก ์„ฑ๋Šฅ ๊ฐœ์„  | `perf/#94` |
83-
| `hotfix/` | ๐Ÿš‘ ๊ธ‰ํ•œ ์ˆ˜์ • (main์—์„œ ๋ฐ”๋กœ ๋ถ„๊ธฐ) | `hotfix/#102` |
84-
| `test/` | ๐Ÿงช ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€/์ˆ˜์ • | `test/#55` |
89+
### ๐Ÿ”น CD Pipeline
90+
1. ๋Œ€์ƒ ์„œ๋ฒ„์—์„œ DockerHub์—์„œ pull
91+
2. ์ปจํ…Œ์ด๋„ˆ ์žฌ๊ธฐ๋™(๊ต์ฒด ๋ฐฐํฌ)
8592

86-
<br>
8793

88-
### ๐Ÿš€ ๋ธŒ๋žœ์น˜ ํ๋ฆ„ ์š”์•ฝ
94+
๐Ÿ‘‰ GitHub Actions์—์„œ **`main` ๋ธŒ๋žœ์น˜์— push ์‹œ ์ž๋™ ์‹คํ–‰**
8995

90-
```text
91-
1. main โ† ๋ฐฐํฌ
92-
2. develop โ† ํ†ตํ•ฉ ๊ฐœ๋ฐœ (PR ๋Œ€์ƒ)
93-
3. develop์—์„œ feature/fix/... ๋ธŒ๋žœ์น˜ ๋ถ„๊ธฐ
94-
4. ๊ธฐ๋Šฅ ์™„๋ฃŒ ํ›„ develop์œผ๋กœ PR & ๋จธ์ง€
95-
5. ๋ฐฐํฌ ์‹œ develop โ†’ main ๋จธ์ง€
96-
6. ๊ธ‰ํ•œ ์ˆ˜์ •์€ hotfix์—์„œ main โ†’ develop ๋ณ‘ํ•ฉ
97-
```
96+
---
97+
## ๐Ÿ“Š ERD
98+
<img width="885" height="543" alt="image" src="https://github.com/user-attachments/assets/35bf67e7-59e4-4079-8ff5-2290b61343ed" />
99+
100+
101+
---
102+
103+
## ๐Ÿ“Œ API ๋ชฉ๋ก (์ฃผ์š” ์—”๋“œํฌ์ธํŠธ)
104+
105+
- `GET /api/menus` โ†’ ์‚ฌ์šฉ์ž ์œ„์น˜ ๊ธฐ๋ฐ˜ ๋ฐ˜๊ฒฝ 2km ๋‚ด ๋งค๋ฌผ ์กฐํšŒ
106+
- `POST /api/routes/directions` โ†’ ํ”ฝ์—… ์˜ˆ์•ฝ ๊ธฐ๋ฐ˜ ์ตœ์  ๊ฒฝ๋กœ ์ƒ์„ฑ
107+
- `POST /api/menus/tips` โ†’ ๊ตฌ๋งค ๋ฐ˜์ฐฌ ๊ธฐ๋ฐ˜ ์š”๋ฆฌ ๋ ˆ์‹œํ”ผ ์ถ”์ฒœ (AI)
108+
- `POST /api/menus/recommend` โ†’ ์‹๋‹จ ํ…Œ๋งˆ ๊ธฐ๋ฐ˜ ์ถ”์ฒœ (AI Fine-tuning)
109+
110+
Swagger ๋ฌธ์„œ:
111+
๐Ÿ‘‰ [https://52.78.244.98.nip.io/api/swagger-ui/index.html](https://52.78.244.98.nip.io/api/swagger-ui/index.html)
98112

99113
---
114+
115+

โ€Ždocs/images/server.pngโ€Ž

258 KB
Loading

0 commit comments

Comments
ย (0)