๋์ค๋ง๊ณ ์คํ์ผ์ ๊ฒ์ด๋ฏธํผ์ผ์ด์ ์ ์ ์ฉํ ์ฌ๋ฏธ์๋ ์ํ ํ์ต ๋ชจ๋ฐ์ผ ์ฑ์ ๋๋ค. ๋งค์ผ ์งง์ ์๊ฐ ๋์ ๊พธ์คํ ์ํ์ ํ์ตํ๋ฉฐ ๋๊ธฐ๋ฅผ ์ ์งํ ์ ์๋๋ก ์ค๊ณ๋์์ต๋๋ค.
์น ๋ฒ์ : https://chatgptkrguide.github.io/MathLab/
- ๋ ๋ฒจ ํ ์คํธ: ์ด๊ธฐ ์ง๋จ ํ๊ฐ๋ก ์ฌ์ฉ์ ์ค๋ ฅ ํ์
- ์ ์ํ ํ์ต: AI ๊ธฐ๋ฐ ๋์ด๋ ์กฐ์ ๋ฐ ์ทจ์ฝ ์์ญ ์ง์ค ํ์ต
- ๋ค์ํ ๋ฌธ์ ์ ํ: ๊ฐ๊ด์, ๋๋๊ทธ ์ค ๋๋กญ, ๋จ๋ตํ
- ๋จ๊ณ๋ณ ํํธ: ๋งํ ๋ ๋จ๊ณ๋ณ ๋์๋ง ์ ๊ณต
- ๊ฒฝํ์น(XP) ์์คํ : ๋ฌธ์ ๋ฅผ ํ๋ฉด์ XP ํ๋
- ์ฐ์ ํ์ต ์คํธ๋ฆญ: ๋งค์ผ ํ์ตํ์ฌ ์คํธ๋ฆญ ์ ์ง
- ๋ ๋ฒจ ์์คํ : Bronze โ Silver โ Gold โ Diamond
- ์ ์ ๋ฑ์ง: ๋ค์ํ ํ์ต ์ฑ์ทจ ๋ฑ์ง
- ๋ฆฌ๊ทธ ๊ฒฝ์: ์ฃผ๊ฐ ๋ฆฌ๊ทธ ์์คํ ์ผ๋ก ์น๊ตฌ๋ค๊ณผ ๊ฒฝ์
- ์ผ์ผ ๋ชฉํ: ๊ฐ์ธ ๋ง์ถคํ ์ผ์ผ XP ๋ชฉํ ์ค์
- ํ์ต ํต๊ณ: ์์ธํ ํ์ต ์งํ ์ํฉ ๋ฐ ํต๊ณ
- ์ค๋ต ๋ ธํธ: ํ๋ฆฐ ๋ฌธ์ ์๋ ์ ์ฅ ๋ฐ ๋ณต์ต
- ํ์ต ๋ฆฌ๋ง์ธ๋: ์๋ฆผ์ ํตํ ํ์ต ์ต๊ด ํ์ฑ
- Framework: Flutter 3.27.1 (ํฌ๋ก์ค ํ๋ซํผ)
- ์ํ๊ด๋ฆฌ: Riverpod 2.4.9
- ๋ก์ปฌ ์ ์ฅ: SharedPreferences, Hive
- ์ ๋๋ฉ์ด์ : Lottie, Confetti
- ์ธ์ฆ: Firebase Authentication
- ์์ ๋ก๊ทธ์ธ: Google, Kakao, Apple Sign-in
- ๋ฐ์ดํฐ๋ฒ ์ด์ค: Local Storage (ํฅํ PostgreSQL + Redis)
dependencies:
flutter_riverpod: ^2.4.9 # ์ํ ๊ด๋ฆฌ
shared_preferences: ^2.2.2 # ๋ก์ปฌ ์ ์ฅ
lottie: ^2.7.0 # ์ ๋๋ฉ์ด์
confetti: ^0.7.0 # ์ถํ ํจ๊ณผ
firebase_core: ^3.10.0 # Firebase
firebase_auth: ^5.3.4 # ์ธ์ฆ
google_sign_in: ^6.2.1 # Google ๋ก๊ทธ์ธ
kakao_flutter_sdk: ^1.9.5 # Kakao ๋ก๊ทธ์ธ
sign_in_with_apple: ^6.1.3 # Apple ๋ก๊ทธ์ธ- โ iOS (iPhone, iPad)
- โ Android (์ค๋งํธํฐ, ํ๋ธ๋ฆฟ)
- โ Web (๋ฐ์คํฌํฑ ๋ธ๋ผ์ฐ์ )
- ๐ง macOS (๊ฐ๋ฐ ์ค)
- ๐ง Windows (๊ฐ๋ฐ ์ค)
- Flutter SDK 3.27.1 ์ด์
- Dart 3.5.0 ์ด์
- Android Studio / Xcode (๋ชจ๋ฐ์ผ ๋น๋์ฉ)
-
์ ์ฅ์ ํด๋ก
git clone https://github.com/chatgptkrguide/MathLab.git cd MathLab -
์์กด์ฑ ์ค์น
flutter pub get
-
์ฑ ์คํ
# iOS flutter run -d ios # Android flutter run -d android # Web flutter run -d chrome
# Android APK
flutter build apk --release
# iOS (macOS ํ์)
flutter build ios --release
# Web
flutter build web --release- ์ฌ์น์ฐ์ฐ (๋ง์ , ๋บ์ , ๊ณฑ์ , ๋๋์ )
- ๋ถ์์ ์์
- ๋น์ ๋น์จ
- ๋์ (๋ฐฉ์ ์, ๋ถ๋ฑ์, ํจ์)
- ๊ธฐํ (๋ํ, ๊ฐ๋, ๋ฉด์ , ๋ถํผ)
- ํต๊ณ์ ํ๋ฅ
- ๋ฏธ์ ๋ถ (๊ทนํ, ๋ฏธ๋ถ, ์ ๋ถ)
- ์ ํ๋์
- ๊ณ ๊ธ ํต๊ณ
ํ๋ก์ ํธ๋ Figma ๋์์ธ ์์คํ ์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋์์ต๋๋ค.
- ์์: ๋ฐ๊ณ ์น๊ทผํ GoMath ๋ธ๋๋ ์์ ํ๋ ํธ
- ํ์ดํฌ๊ทธ๋ํผ: ๊ฐ๋ ์ฑ ์ค์ฌ์ ํฐํธ ๊ณ์ธต ๊ตฌ์กฐ
- ์ ๋๋ฉ์ด์ : ๋ถ๋๋ฝ๊ณ ์์ฐ์ค๋ฌ์ด ์ ํ ํจ๊ณผ
- ๋ ์ด์์: ๋ชจ๋ฐ์ผ ์ฐ์ ๋ฐ์ํ ๋์์ธ
์์ธํ ๋ด์ฉ์ DESIGN_GUIDE.md๋ฅผ ์ฐธ์กฐํ์ธ์.
lib/
โโโ app/ # ์ฑ ์ค์ ๋ฐ ๋ผ์ฐํ
โโโ data/
โ โโโ models/ # ๋ฐ์ดํฐ ๋ชจ๋ธ
โ โโโ providers/ # Riverpod ์ํ ๊ด๋ฆฌ
โ โโโ services/ # API ๋ฐ ์ ์ฅ์ ์๋น์ค
โโโ features/ # ๊ธฐ๋ฅ๋ณ ํ๋ฉด
โ โโโ auth/ # ์ธ์ฆ
โ โโโ home/ # ํ ํ๋ฉด
โ โโโ lessons/ # ๋ ์จ
โ โโโ problem/ # ๋ฌธ์ ํ์ด
โ โโโ profile/ # ํ๋กํ
โ โโโ ...
โโโ shared/
โ โโโ constants/ # ์์ (์์, ์คํ์ผ ๋ฑ)
โ โโโ widgets/ # ๊ณตํต ์์ ฏ
โ โโโ utils/ # ์ ํธ๋ฆฌํฐ
โ โโโ themes/ # ํ
๋ง
โโโ main.dart # ์ฑ ์ง์
์
- ๊ธฐ์ด UI/UX ๊ตฌํ
- ๊ฒ์ด๋ฏธํผ์ผ์ด์ ์์คํ
- ๋ ๋ฒจ ํ ์คํธ
- ๊ธฐ๋ณธ ๋ฌธ์ ํ์ด ์์คํ
- ์์ ๋ก๊ทธ์ธ ์ฐ๋
- ๋ฐฑ์๋ API ๊ตฌ์ถ
- ์ค์๊ฐ ๋ฐ์ดํฐ ๋๊ธฐํ
- ์น๊ตฌ ์์คํ
- ๊ทธ๋ฃน ํ์ต ๊ธฐ๋ฅ
- AI ํํฐ ๋ชจ๋
- ์คํ๋ผ์ธ ๋ชจ๋
- ๋ถ๋ชจ ๋ชจ๋ (์๋ ํ์ต ์ถ์ )
- ๋ค๊ตญ์ด ์ง์
๊ธฐ์ฌ๋ฅผ ํ์ํฉ๋๋ค! ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ผ์ฃผ์ธ์:
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
์ด ํ๋ก์ ํธ๋ MIT ๋ผ์ด์ ์ค ํ์ ๋ฐฐํฌ๋ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ LICENSE ํ์ผ์ ์ฐธ์กฐํ์ธ์.
ํ๋ก์ ํธ ๊ด๋ จ ๋ฌธ์์ฌํญ์ Issues์ ๋ฑ๋กํด ์ฃผ์ธ์.
Made with โค๏ธ by GoMath Team
๐ค Enhanced with Claude Code