"์ด์์ ํ์ค๋ก" โ AI๊ฐ ๋ชฉํ๋ฅผ ๋ถ์ํด ์ค๋์ ํ ์ผ์ ์๋์ผ๋ก ์ถ์ฒํด์ฃผ๋ ๋ชฉํ ๋ฌ์ฑ ์ฑ
์ด์(ISANG) ์ ์ฌ์ฉ์๊ฐ ์ค์ ํ ๋ชฉํ๋ฅผ AI๊ฐ ๋ถ์ํ์ฌ ์ค์ฒ ๊ฐ๋ฅํ ์ค๋์ ํ ์ผ๋ก ๋ถํดํด์ฃผ๋ Flutter ๊ธฐ๋ฐ ๋ชจ๋ฐ์ผ ์ฑ์ ๋๋ค. ๋ชฉํ ๋ฌ์ฑ ๊ณผ์ ์ ๊ธฐ๋กํ๊ณ , ์ ์์ ๋ฐฐ์ง๋ก ๋๊ธฐ๋ฅผ ์ ์งํ๋ฉฐ, ํผ๋๋ฅผ ํตํด ๋ค๋ฅธ ์ฌ์ฉ์์ ๋์ ์ ๊ณต์ ํ ์ ์์ต๋๋ค.
| ์ญํ | ์ธ์ | ๋ด๋น |
|---|---|---|
| ๊ธฐํ | 1๋ช | ์๋น์ค ๊ธฐํ, UX ์ค๊ณ |
| ํ๋ก ํธ์๋ | 1๋ช | ์น ๋ฒ์ ๊ฐ๋ฐ |
| ์ฑ ๊ฐ๋ฐ (๋) | 1๋ช | Flutter ์ฑ ์ ์ฒด ๊ฐ๋ฐ |
| ๋ฐฑ์๋ | 2๋ช | REST API ์๋ฒ, DB ์ค๊ณ |
๊ฐ๋ฐ ๊ธฐ๊ฐ: 2์ฃผ (MVP ์์ฑ ๋ฐ ๋ฐ๋ชจ ๋ฐฐํฌ)
| ๋ถ๋ฅ | ๊ธฐ์ |
|---|---|
| Framework | Flutter / Dart |
| ์ํ๊ด๋ฆฌ | Riverpod (ChangeNotifierProvider) |
| HTTP ํต์ | Dio + JWT ์๋ ๊ฐฑ์ ์ธํฐ์ ํฐ |
| ์ธ์ฆ | Kakao OAuth SDK |
| ํ ํฐ ์ ์ฅ | flutter_secure_storage |
| ์ํคํ ์ฒ | Clean Architecture + MVVM |
| ํ์ | GitHub (๋ธ๋์น ์ ๋ต, PR ๋ฆฌ๋ทฐ) |
lib/
โโโ core/ # ์์, ๋คํธ์ํฌ, ํ ๋ง, ์ ํธ
โโโ data/ # datasource, dto, model, repository ๊ตฌํ์ฒด
โโโ domain/ # entity, repository ์ธํฐํ์ด์ค, usecase
โโโ presentation/ # auth / home / feed / my / navigation
- ์นด์นด์ค OAuth ์์ ๋ก๊ทธ์ธ
- JWT ํ ํฐ ์๋ ๊ฐฑ์ (401 ์๋ฌ ์ ์ฌ๋ฐ๊ธ ํ ์๋ ์์ฒญ ์ฌ์๋)
- ์ฑ ์ฌ์คํ ์ ์๋ ๋ก๊ทธ์ธ
- ์นดํ ๊ณ ๋ฆฌ๋ณ ๋ชฉํ ์นด๋, ํํฐ ํญ
- ๋ชฉํ/์นดํ ๊ณ ๋ฆฌ ์ถ๊ฐยท์ญ์ , ๊ณต๊ฐ ๋ฒ์ ์ค์
- ๋ฌ์ฑ ๊ธฐ๋ก ํผ๋, ์ค์๊ฐ ๊ฒ์, ์ข์์ยท๋๊ธยท๊ณต์
- ํ๋กํ ํธ์ง, ์ฃผ๊ฐ ์ฐจํธ, ๋ฐฐ์ง, ๋ ๋ฒจ/์ ์, ๋ก๊ทธ์์
flutter pub get flutter run
์นด์นด์ค ๋ก๊ทธ์ธ์ ์ํด kakao_native_app_key ์ค์ ํ์
- Base URL: https://api.isang.site (ํ์ฌ ์คํ ์ค์ง)
- ์ธ์ฆ ๋ฐฉ์: Bearer JWT Token