Cooki๋ AI๋ฅผ ํ์ฉํด ์ฌ์ฉ์๊ฐ ์ํ๋ ๋ ์ํผ๋ฅผ ์ฝ๊ณ ๋น ๋ฅด๊ฒ ์์ฑํ๊ณ , ์ปค๋ฎค๋ํฐ์ ๊ณต์ ํ ์ ์๋ ์๋ฆฌ ์ฑ์ ๋๋ค. ์ฌ๋ฃ๋ ์์ ์ฌ์ง ํ๋๋ง์ผ๋ก๋ ๋ง์ถคํ ๋ ์ํผ๋ฅผ ์์ฑํ ์ ์์ผ๋ฉฐ, ๋ค๋ฅธ ์ฌ๋์ ๋ ์ํผ๋ฅผ ํ๊ฐํ๊ณ ์ ์ฅํ ์ ์๋ ์ปค๋ฎค๋ํฐ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- ์์ ๋ก๊ทธ์ธ: Apple, Google, Kakao ๋ก๊ทธ์ธ ์ง์
- Firebase Authenticationย ๊ธฐ๋ฐ ์์ ํ ์ฌ์ฉ์ ๊ด๋ฆฌ
- ํ๋กํ ๊ด๋ฆฌ: ๋๋ค์ ๋ณ๊ฒฝ, ํ๋กํ ์ด๋ฏธ์ง ์ค์
- ์ด๋ฏธ์ง ๊ธฐ๋ฐ ์์ฑ: ์์ ์ฌ์ง์ ์ ๋ก๋ํ์ฌ ๋ ์ํผ ์๋ ์์ฑ
- ํ ์คํธ ๊ธฐ๋ฐ ์์ฑ: ์ฌ๋ฃ๋ ์๋ฆฌ๋ช ์ ์ ๋ ฅํ์ฌ ๋ ์ํผ ์์ฑ
- ์ทจํฅ ๋ฐ์: ๋งต๊ธฐ, ์์ด ์นํ์ ๋ฑ UI ์นฉ์ ํตํด ์ฌ์ฉ์ ์ ํธ๋ ๋ฐ์
- Gemini AIย ์ฐ๋์ผ๋ก ์ ํํ๊ณ ์ค์ฉ์ ์ธ ๋ ์ํผ ์ ๊ณต
- ๋์ ๋ ์ํผ: ์์ฑํ ๋ ์ํผ, ์ ์ฅํ ๋ ์ํผ ๋ถ๋ฅ ๊ด๋ฆฌ
- ๋ ์ํผ ํธ์ง: ์ ๋ชฉ, ์ฌ๋ฃ, ์กฐ๋ฆฌ๊ณผ์ , ์นดํ ๊ณ ๋ฆฌ ์์ ๊ฐ๋ฅ
- ๊ณต๊ฐ/๋น๊ณต๊ฐ ์ค์ : ์ปค๋ฎค๋ํฐ ๊ณต๊ฐ ์ฌ๋ถ ์ ํ
- ๋ ์ํผ ๊ณต์ : ์ธ๋ถ ๋ฉ์ ์ ๋ SNS๋ก ๋ ์ํผ ๊ณต์
- ๋ ์ํผ ๊ฒ์: ํ ์คํธ ์ ๋ ฅ ๋ฐ ์์ฑ ๊ฒ์์ผ๋ก ๋ ์ํผ ํ์
- ๋ ์ํผ ํ์: ๋ค๋ฅธ ์ฌ์ฉ์๊ฐ ๊ณต์ ํ ๋ ์ํผ ์กฐํ
- ํํฐ๋ง ๋ฐ ์ ๋ ฌ: ์นดํ ๊ณ ๋ฆฌ, ์กฐ๋ฆฌ์๊ฐ, ํ์ ๋ณ ์ ๋ ฌ
- ํ์ ์์คํ : 5์ ๋ง์ ํ์ ์ผ๋ก ๋ ์ํผ ํ๊ฐ
- ๋ฆฌ๋ทฐ ์์ฑ: ํ ์คํธ์ ์ฌ์ง์ผ๋ก ์์ธํ ๋ฆฌ๋ทฐ ์์ฑ
- ์ด๋ฏธ์ง ์ ๋ก๋: ์ต๋ 5์ฅ๊น์ง ์๋ฆฌ ๊ฒฐ๊ณผ๋ฌผ ์ฌ์ง ์ ๋ก๋
- ๋ฆฌ๋ทฐ ๊ด๋ฆฌ: ๋ฆฌ๋ทฐ ์์ , ์ญ์ , ์ ๊ณ ๊ธฐ๋ฅ
- ์ ๋ ฌ ์ต์ : ๋ ์ง์, ํ์ ์ ๋ฆฌ๋ทฐ ์ ๋ ฌ
- ๋ฆฌ๋ทฐ ๋ฒ์ญ: Google Translate API๋ฅผ ํตํ ์ค์๊ฐ ๋ฆฌ๋ทฐ ์ธ์ด ์ธ์ ๋ฐ ๋ฒ์ญ
- ํ๊ตญ์ด/์์ด ์ง์
- ์ธ์ด ์ค์ : ์ฑ ๋ด์์ ์ธ์ด ๋ณ๊ฒฝ ๊ฐ๋ฅ
- ์๋ ๊ฐ์ง: ๊ธฐ๊ธฐ ์ธ์ด์ ๋ฐ๋ฅธ ์ด๊ธฐ ์ธ์ด ์ค์
- ๋ฉํฐ๋ชจ๋ฌ ์ง์: ์ด๋ฏธ์ง์ ํ ์คํธ ๋์ ๋ถ์
- Few-shot ํ๋กฌํํธ: ์์ ๊ธฐ๋ฐ ์ ํํ ๋ ์ํผ ์์ฑ
- ์ ๋ ฅ ๊ฒ์ฆ: ์๋ชป๋ ์ ๋ ฅ์ด๋ ๋น์์ ์ด๋ฏธ์ง ํํฐ๋ง
- ๋ค๊ตญ์ด ํ๋กฌํํธ: ์ธ์ด๋ณ ์ต์ ํ๋ ํ๋กฌํํธ ์ค๊ณ
- ์ด๋ฏธ์ง ์์ถ: ์ ๋ก๋ ์ ์๋ ์ด๋ฏธ์ง ์์ถ
- ์บ์ ์์คํ
:
CachedNetworkImage๋ฅผ ํ์ฉํ ํจ์จ์ ์ธ ์ด๋ฏธ์ง ๋ก๋ฉ - ๋ฉํฐ ์ด๋ฏธ์ง ๋ทฐ์ด: ํ๋/์ถ์ ๋ฐ ์ฌ๋ผ์ด๋ ๋ทฐ์ด ์ง์
- Riverpod ํจํด: ํจ์จ์ ์ธ ์ํ ๊ด๋ฆฌ
- ์๋ฌ ํธ๋ค๋ง: ์ฒด๊ณ์ ์ธ ์๋ฌ ์ฒ๋ฆฌ ๋ฐ ์ฌ์ฉ์ ํผ๋๋ฐฑ
- ๋ก๋ฉ ์ต์ ํ: ๋ณ๋ ฌ ์ฒ๋ฆฌ๋ฅผ ํตํ ๋น ๋ฅธ ๋ฐ์ดํฐ ๋ก๋ฉ
- ์ธํฐ๋ํฐ๋ธ UI: ์ค์์ดํ ์ ์ค์ฒ ๋ฑ ์ง์
- ์ค์๊ฐ ๊ฒ์ฆ: ์ ๋ ฅ ํ๋ ์ค์๊ฐ ์ ํจ์ฑ ๊ฒ์ฌ
- ํ์ธ ๋ค์ด์ผ๋ก๊ทธ: ์ค์ํ ์์ ์ ์ฌ์ฉ์ ํ์ธ ์์ฒญ
๐ฆlib
โฃ ๐app โโโโโโโ ์์, ์คํ์ผ, ์ฑ ์ ์ญ ์์
โ โฃ ๐constants
โ โฃ ๐enum
โฃ ๐core โโโโโโ ๊ณตํต ์ ํธ๋ฆฌํฐ ๋ฐ ์์ธ, ๋ฐธ๋ฆฌ๋ฐ์ดํฐ, ํ์ฅ ํจ์ ๋ฑ
โ โฃ ๐exceptions
โ โฃ ๐extensions
โ โฃ ๐ui_validators
โ โ ๐utils
โฃ ๐data โโโโโโ Repository & DataSource ๊ณ์ธต
โ โฃ ๐data_source
โ โฃ ๐dto
โ โ ๐repository
โฃ ๐domain โโโโโ ๋๋ฉ์ธ ๋ชจ๋ธ
โ โ ๐entity
โฃ ๐gen โโโโโโโ ์๋ ์์ฑ๋ ํ์ผ
โ โ ๐l10n
โฃ ๐l10n โโโโโโโ ๋ค๊ตญ์ด ์์ค ํ์ผ (๊ตญ์ ํ)
โฃ ๐presentation โโโโ View + ViewModel
โ โฃ ๐pages
โ โฃ ๐widgets
โ ๐main.dart
(Flutter SDK 3.7.2 ์ฌ์ฉ)
- flutter_riverpod: ์ํ ๊ด๋ฆฌ ํ๋ ์์ํฌ
- firebase_core: Firebase ํต์ฌ ํจํค์ง
- firebase_auth: Firebase ์ธ์ฆ
- cloud_firestore: Firestore ๋ฐ์ดํฐ๋ฒ ์ด์ค
- firebase_storage: Firebase ์คํ ๋ฆฌ์ง
- firebase_ai: Gemini AI ํตํฉ
- cloud_functions: Firebase ํด๋ผ์ฐ๋ ํจ์ ๋ฐ ๋ฒ์ญ API ํธ์ถ
- cached_network_image: ๋คํธ์ํฌ ์ด๋ฏธ์ง ์บ์ฑ
- image_picker: ์ด๋ฏธ์ง ์ ํ (์นด๋ฉ๋ผ/๊ฐค๋ฌ๋ฆฌ)
- flutter_image_compress: ์ด๋ฏธ์ง ์์ถ
- easy_image_viewer: ์ด๋ฏธ์ง ํ๋/์ฌ๋ผ์ด๋ ๋ทฐ์ด
- share_plus: ์ฝํ ์ธ ๊ณต์ ๊ธฐ๋ฅ
- url_launcher: ์ธ๋ถ URL ์คํ
- flutter_svg: SVG ์ด๋ฏธ์ง ์ง์
- google_sign_in: Google ๋ก๊ทธ์ธ
- kakao_flutter_sdk_user: Kakao ์ฌ์ฉ์ ๋ก๊ทธ์ธ
- sign_in_with_apple: Apple ๋ก๊ทธ์ธ
- shared_preferences: ๋ก์ปฌ ๋ฐ์ดํฐ ์ ์ฅ
- flutter_localizations: ๋ค๊ตญ์ด ์ง์
- intl: ๊ตญ์ ํ ๋ฐ ๋ ์ง ํฌ๋งทํ
- path_provider: ๋๋ฐ์ด์ค ๊ฒฝ๋ก ์ก์ธ์ค
- dio: HTTP ํด๋ผ์ด์ธํธ
- flutter_dotenv: ํ๊ฒฝ ๋ณ์ ๊ด๋ฆฌ
- package_info_plus: ์ฑ ์ ๋ณด (๋ฒ์ ) ์กฐํ
- firebase_crashlytics: ํฌ๋์ ๋ถ์
- flutter_native_splash: ๋ค์ดํฐ๋ธ ์คํ๋์ ํ๋ฉด
- mocktail: ํ ์คํธ ๋ชฉ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
ํ๋ก์ ํธ ๋ฃจํธ์ .env ํ์ผ์ ์์ฑํ๊ณ ๋ค์ ํค๋ค์ ์ค์ ํ์ธ์:
# .env ํ์ผ์ ๋ค์ ํค๋ค ์ถ๊ฐ:
KAKAO_SDK_NATIVE_APP_KEY="YOUR-KEY-HERE"
APPLE_REDIRECT_URI="YOUR-URI-HERE"
APPLE_CLIENT_ID="YOUR-ID-HERE"| ์ด๋ฆ | GitHub | ์ด๋ฉ์ผ |
|---|---|---|
| ์ ์ผ์ก | ilsong963 | yooilsong@gmail.com |
| ์๋ํ (Penjan Antonio Eng Lim) | daehan-lim | penjan.eng@gmail.com |
| ์ด์ ์ฐฌ | chandoli21 |
์ ์ผ์ก
- ํ์๊ฐ์
๋ฐ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ
- firebase auth
- apple, google, kakao
- ๋ง์ด ํ์ด์ง ๋ฐ ์ธํ
ํ๋ฉด
- ๋ก๊ทธ์์, ํ์ํํด
- ์ด์ฉ์ฝ๊ด
- ์์ธ ํ์ด์ง
์๋ํ
- AI ๋ ์ํผ ์์ฑ
- Gemini API ์ฐ๋ (์์ฒญ, ํ๋กฌํํธ ์์ฑ, ๊ฒ์ฆ, ๋ฑ)
- Firestore๋ก ๋ ์ํผ ์ ๋ก๋ (์ด๋ฏธ์ง ์ ๋ก๋ ๋ฑ)
- ๋ ์ํผ ์์ ํ์ด์ง (์์ , ์ญ์ )
- ๋ฆฌ๋ทฐ ๊ธฐ๋ฅ (๋ฆฌ๋ทฐ ํ์ด์ง, ๋ฆฌ๋ทฐ ์์ฑ ํ์ด์ง, ์์ /์ญ์ ๊ธฐ๋ฅ)
- ๊ตฌ๊ธ ๋ฒ์ญ API๋ก ๋ฆฌ๋ทฐ ์ธ์ด๋ฅผ ์๋ ๊ฐ์งํ๊ณ ๋ฒ์ญ
- ๋ ์ํผ ์ธ๋ถ ๊ณต์ ๊ธฐ๋ฅ (ํ ์คํธ + ์ด๋ฏธ์ง)
- ์ธ์ด ์ค์ ๋ฐ ๋ค๊ตญ์ด UI ์ง์
- ์์ฑ ์ธ์ ๊ตฌํ
- ๋ฆฌ๋ทฐ ์ ๊ณ ๊ธฐ๋ฅ
- ๋ณธ ๋ฆฌ๋๋ฏธ ์์ฑ
์ด์ ์ฐฌ
- ๋์ ๋ ์ํผ ํ์ด์ง ๊ตฌํ
- ์ ์ฅํ ๋ ์ํผ / ๋ด ๋ ์ํผ / ๊ณต์ ๋ ๋ ์ํผ ํญ
- ์ปค๋ฎค๋ํฐ ํ์ด์ง
- ๊ณต๊ฐ๋ ๋ ์ํผ ๋ฆฌ์คํธ ํ์
- ์ ๋ ฌ/ํํฐ ๊ธฐ๋ฅ ์ค๊ณ
- ๋ ์ํผ ๊ฒ์ ๊ธฐ๋ฅ
์ด์งํธ (๋์์ด๋)
- ๋ธ๋๋ฉ / ์์ด์ดํ๋ ์ ๋ฐ ๋์์ธ์์คํ ์ ์
์ด ํ๋ก์ ํธ๋ MIT ๋ผ์ด์ผ์ค ํ์ ์ ๊ณต๋ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ LICENSE ํ์ผ์ ์ฐธ์กฐํ์ธ์.
๐ช Cooki์ ํจ๊ป ์๋ฆฌ์ ์ฆ๊ฑฐ์์ ๋ฐ๊ฒฌํ์ธ์! ๐ช













