์ฑํฌ(CHACK) ๋ ๋ ์ ์ต๊ด ํ์ฑ์ ์ํ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ค. ์ฌ์ฉ์๋ ์์ ์ ์์ฌ์ ๋์๋ฅผ ์ถ๊ฐํ๊ณ , ๋ ์ ๋ด์ฉ์ ์ฒด๊ณ์ ์ผ๋ก ๊ธฐ๋กํ๋ฉฐ, ๋ชฉํ ์ค์ ์ ํตํด ๋ ์ ํ๋์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๊ฒ ํฉ๋๋ค.
๋ชฉํ:
- ๋ ์๋ฅผ ์ฌ์ฉ์ ์ผ์์ ์ค๋ฉฐ๋ค๊ฒ ํ์ฌ ๊พธ์คํ ๋ ์ ์ต๊ด ํ์ฑ
- ๋ ์๋ฅผ ํตํด ์ง์์ ํ์ฅ๊ณผ ๊ฐ์ธ์ ์ฑ์ฅ ๋๋ชจ
- ๐ ๊ฐ์ธ ์์ฌ ๊ด๋ฆฌ
- โฑ๏ธ ๋ ์ ํ์ด๋จธ
- ๐ ๋ ์ ํต๊ณ ๋ฐ ๋ถ์
- ๐ฏ ๋ ์ ๋ชฉํ ์ค์
- ๐ ๋ ์ ๊ธฐ๋ก ๋ฐ ๋ฉ๋ชจ
- ๐ ์ฃผ๋ณ ๋์๊ด ์ฐพ๊ธฐ
- ๐ ๋์ ์ถ์ฒ ์์คํ
| ์นดํ ๊ณ ๋ฆฌ | ํจํค์ง | ๋ฒ์ | ์ค๋ช |
|---|---|---|---|
| ์ํ๊ด๋ฆฌ | provider | ^6.1.1 | ์ํ ๊ด๋ฆฌ ํจํค์ง |
| Firebase | firebase_core | ^2.32.0 | Firebase Core ๊ธฐ๋ฅ |
| firebase_auth | ^4.15.3 | Firebase ์ธ์ฆ | |
| cloud_firestore | ^4.17.5 | Cloud Firestore | |
| firebase_storage | ^11.2.0 | Firebase Storage | |
| UI/UX | flutter_svg | ^2.0.9 | SVG ๋ ๋๋ง ํจํค์ง |
| percent_indicator | ^4.2.2 | ์งํ๋ฅ ํ์ ์์ ฏ | |
| fl_chart | ^0.65.0 | ์ฐจํธ ์์ ฏ | |
| table_calendar | ^3.0.10 | ์บ๋ฆฐ๋ ์์ ฏ | |
| ๋ฐ์ดํฐ์ ์ฅ | shared_preferences | ^2.2.0 | ๋ก์ปฌ ๋ฐ์ดํฐ ์ ์ฅ |
| hive | ^2.2.3 | NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค | |
| hive_flutter | ^1.1.0 | Hive for Flutter | |
| ์์น์ ๋ณด | geolocator | ^8.0.0 | ์์น ๊ธฐ๋ฐ ์๋น์ค |
| geocoding | ^2.1.0 | ์์น ์ ๋ณด ๋ณํ |
| ํจํค์ง | ๋ฒ์ | ์ค๋ช |
|---|---|---|
| TypeScript & Node.js | ||
| typescript | ^5.0.4 | TypeScript ์ปดํ์ผ๋ฌ |
| ts-node | ^10.9.1 | TypeScript ์คํ ํ๊ฒฝ |
| @types/node | ^18.15.11 | Node.js ํ์ ์ ์ |
| Firebase | firebase-admin | ^11.5.0 |
| firebase-functions | ^4.2.1 | |
| HTTP ํด๋ผ์ด์ธํธ | axios | ^1.3.4 |
| ํ๊ฒฝ์ค์ | dotenv | ^16.0.3 |
- Flutter SDK 3.19.3 ์ด์
- Dart SDK 3.3.1 ์ด์
- Node.js 18.x ์ด์
- Firebase CLI
- Android Studio / VS Code
-
์ ์ฅ์ ํด๋ก
git clone https://github.com/CHACK-team/CHACK-project.git cd CHACK-project -
Flutter ์์กด์ฑ ์ค์น
flutter pub get
-
Firebase ์ค์ ํ์ผ ์ถ๊ฐ
google-services.json(Android):android/app/๋๋ ํ ๋ฆฌ์ ์ถ๊ฐGoogleService-Info.plist(iOS): Xcode ํ๋ก์ ํธ์ ์ถ๊ฐ
-
ํ๊ฒฝ ๋ณ์ ํ์ผ ์์ฑ
.envํ์ผ์ ํ๋ก์ ํธ ๋ฃจํธ ๋๋ ํ ๋ฆฌ์ ์ถ๊ฐ:NAVER_CLIENT_ID=your_naver_client_id NAVER_CLIENT_SECRET=your_naver_client_secret LIBRARY_DATANARU_API_KEY=your_library_datanaru_api_key VWORLD_API_KEY=your_vworld_api_key -
์ฑ ์คํ
flutter run
-
Firebase Functions ์ค์
cd functions npm install
-
๋์๊ด ๊ฒ์
GET /api/libraries
Query Parameters:- isbn: string
- latitude: number
- longitude: number
-
์ธ๊ธฐ ๋์ ์กฐํ
GET /api/hot-books
Query Parameters:- ageGroup: string
<type>(<scope>): <subject>
<body>
<footer>
feat: ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐfix: ๋ฒ๊ทธ ์์ docs: ๋ฌธ์ ๋ณ๊ฒฝstyle: ์ฝ๋ ํ์ ๋ณ๊ฒฝrefactor: ์ฝ๋ ๋ฆฌํฉํ ๋งtest: ํ ์คํธ ์ถ๊ฐ ๋ฐ ์์
| Name | Role | Contact |
|---|---|---|
| ๊ฐ์ฐ์ | Frontend Developer | Email: [email protected] GitHub: @mamemomif |
| ๋ฌธ๋ณ์ง | Frontend Developer | Email: [email protected] GitHub: @Moonbjin |
| ์กฐํ์ฃผ | UX/UI Design / Frontend | Email: [email protected] GitHub: @hjuump |
| ํ์์ค | Backend Developer | Email: [email protected] GitHub: @HONGMOEJI |
๊ฐ์ด๋
- Fork the repository
- Create your feature branch:
git checkout -b feature/AmazingFeature - Commit your changes:
git commit -m 'feat: Add some AmazingFeature' - Push to the branch:
git push origin feature/AmazingFeature - Open a Pull Request
ํ๋ก์ ํธ์ ๋ํ ๋ฌธ์์ฌํญ์ด๋ ๋ฒ๊ทธ ๋ฆฌํฌํธ๋ Issues์ ๋ฑ๋กํด์ฃผ์ธ์.
Made with โค๏ธ by CHACK Team