AI ๊ธฐ๋ฐ ๊ณ ๋ น์ ๋ง์ถค ๋์ค๊ตํต ์๋ด ์๋น์ค
์์ฃผ๋ํ๊ต RoadMateํ
![]() ๊ฐ์๋น ํ๋ก์ ํธ ๊ธฐํ ๋ฐ ์ค๊ณ Frontend, Design |
![]() ๊ถ์ธ๋น ํ๋ก์ ํธ ๊ธฐํ ๋ฐ ์ค๊ณ Backend, Docs |
![]() ํ์ง์ ํ๋ก์ ํธ ๊ธฐํ ๋ฐ ์ค๊ณ Backend, AI |
๊น์ง๊ด ๋ํ ์ฐธ๊ฐ |
| ๋ํ | ์์ | ์ฐ๋ |
|---|---|---|
| ๐ฅ SW์ค์ฌ๋ํํ์ํ ๋์งํธ ๊ฒฝ์ง๋ํ | SW๋ถ๋ฌธ ์ฐ์์ | 2025 |
| ๐ฅ ์์ฃผ๋ ์์ฑํ AI ํ์ฉ ์์ด๋์ด ๋ํ | ์ต์ฐ์์ | 2025 |
| ๐ฅ ์์ฃผ๋ SW์ค์ฌ๋ํ ํ๊ณ ๋ชจ๊ฐ์ | ์ฐ์์ | 2025 |
| ๐ฃ๏ธ 2025 SK AI Summit | ๋ถ์ค ์ด์ | 2025 |
์์ฑ ๊ธฐ๋ฐ ์ค์๊ฐ ๋์ค๊ตํต ๊ธธ์๋ด ์๋น์ค. OpenAI Fine-tuning์ ํ์ฉํ ์์ฐ์ด ์ฒ๋ฆฌ์ ์ ๊ทผ์ฑ ๊ธฐ๋ฐ ๊ฒฝ๋ก ์ถ์ฒ ์๊ณ ๋ฆฌ์ฆ ๊ตฌํ.
- OpenAI GPT-3.5 Fine-tuning: 15๊ฐ Intent ๋ถ๋ฅ ๋ฐ Entity ์ถ์ถ
- ์ ๊ทผ์ฑ ์ ์ ์๊ณ ๋ฆฌ์ฆ: ์๋ฆฌ๋ฒ ์ดํฐ/์์ค์ปฌ๋ ์ดํฐ ๊ฐ์ค์น ๊ธฐ๋ฐ ๊ฒฝ๋ก ์ถ์ฒ
- ์ค์๊ฐ ์์ฑ ๋ํ: STT/TTS ๊ธฐ๋ฐ ์์ฐ์ด ์ธํฐํ์ด์ค
| ๋ฌธ์ | ๋งํฌ |
|---|---|
| ๐ Notion ํ์ด์ง | ์ ์ฒด ํ๋ก์ ํธ ๋ฌธ์ |
| ๐ค ๋ณธ์ ๋ฐํ์๋ฃ | ๋ณธ์ ๋ฐํ์๋ฃ |
| ๐ป ํฌ์คํฐ | ํฌ์คํฐ |
| ๐ ์์ด๋์ด ๊ธฐํ์ | ์์ด๋์ด ๊ธฐํ์ |
React Native (Mobile)
โ REST API
Spring Boot (Server)
โ
โโ OpenAI API (NLP)
โโ Tmap API (Route)
โโ Google Maps (Display)
โโ Redis (Cache)
| Layer | Stack |
|---|---|
| Frontend | React Native, Expo, STT/TTS |
| Backend | Spring Boot 3.2, JPA, Redis |
| AI/ML | OpenAI GPT-3.5 Fine-tuning |
| API | Tmap, Google Maps, DATA.GO.KR |
| Infra | Naver Cloud, Docker |
RoadMate/
โโโ frontend/ # React Native
โ โโโ src/
โ โ โโโ components/
โ โ โโโ screens/
โ โ โโโ services/
โ โ โโโ utils/
โ โโโ package.json
โ
โโโ backend/ # Spring Boot
โ โโโ src/main/java/com/roadmate/
โ โ โโโ controller/
โ โ โโโ service/
โ โ โโโ repository/
โ โ โโโ config/
โ โโโ Dockerfile
โ โโโ pom.xml
โ
โโโ docs/ # ๋ฌธ์
http://localhost:8080/api/v1
POST /voice/analyze
Content-Type: application/json
{
"text": "์์ธ์ญ์์ ๊ฐ๋จ์ญ ๊ฐ๋ ๊ธธ ์๋ ค์ค"
}
Response:
{
"intent": "extract_route",
"entities": {
"origin": "์์ธ์ญ",
"destination": "๊ฐ๋จ์ญ"
}
}POST /route/search
{
"origin": {"lat": 37.5547, "lon": 126.9707},
"destination": {"lat": 37.4979, "lon": 127.0276},
"accessibility": true
}
Response:
{
"routes": [{
"score": 87.5,
"elevatorRatio": 100,
"escalatorRatio": 80,
"totalTime": 35,
"sections": [...]
}]
}POST /realtime/question
{
"question": "๋ช ๋ฒ ๋ฒ์ค ํ์ผ ํด?",
"routeId": "route-1",
"currentSection": 2
}
Response:
{
"answer": "472๋ฒ ๋ฒ์ค๋ฅผ ํ์๋ฉด ๋ฉ๋๋ค.",
"busNumber": "472",
"arrivalTime": 5
}Swagger UI: http://localhost:8080/swagger-ui/index.html
This project is licensed under the MIT License.
"๋ง ํ๋ง๋๋ก ๊ธธ์ ์ฐพ๋ ๋์งํธ ๋๋ฐ์"


