159 lines
4.2 KiB
Markdown
159 lines
4.2 KiB
Markdown
# Struktur Proyek TelurKu
|
|
|
|
## Overview
|
|
Proyek ini adalah aplikasi Flutter untuk mengelola peternakan ayam dengan fitur:
|
|
- Landing Page
|
|
- Autentikasi (Sign Up, Login)
|
|
- Firebase Integration
|
|
- Bottom Navigation untuk navigasi antar halaman
|
|
|
|
## Struktur Folder
|
|
|
|
```
|
|
lib/
|
|
├── main.dart # Entry point aplikasi
|
|
├── firebase_options.dart # Firebase configuration
|
|
├── providers/
|
|
│ └── auth_provider.dart # State management untuk Auth
|
|
├── screens/
|
|
│ ├── landing_page.dart # Landing page
|
|
│ ├── login_page.dart # Halaman login
|
|
│ ├── signup_page.dart # Halaman registrasi
|
|
│ └── (halaman lain akan ditambahkan)
|
|
├── models/
|
|
│ └── (Model data akan ditambahkan)
|
|
├── services/
|
|
│ └── (Service untuk API/Database akan ditambahkan)
|
|
└── utils/
|
|
└── (Utility dan helper functions)
|
|
|
|
assets/
|
|
├── images/
|
|
│ └── logo.png # Logo TelurKu (SIAPKAN INI)
|
|
└── icons/
|
|
└── (Icon-icon lainnya)
|
|
```
|
|
|
|
## File Penting
|
|
|
|
### `main.dart`
|
|
- Konfigurasi Firebase
|
|
- Setup Provider untuk state management
|
|
- Routing aplikasi
|
|
- Auth wrapper untuk menentukan halaman pertama
|
|
|
|
### `firebase_options.dart`
|
|
- Konfigurasi Firebase untuk setiap platform
|
|
- **HARUS DIUPDATE dengan data dari Firebase Console**
|
|
|
|
### `providers/auth_provider.dart`
|
|
- Mengelola login, signup, logout
|
|
- Menyimpan state user
|
|
- Error handling
|
|
|
|
### `screens/landing_page.dart`
|
|
- Halaman pertama saat app dibuka
|
|
- Tombol "Masuk" dan "Daftar"
|
|
|
|
### `screens/login_page.dart`
|
|
- Form login dengan email + password
|
|
- Validation
|
|
- Error handling
|
|
- Link ke signup page
|
|
|
|
### `screens/signup_page.dart`
|
|
- Form registrasi: nama, email, password, konfirmasi password
|
|
- Checkbox terms & conditions
|
|
- Validation
|
|
- Link ke login page
|
|
|
|
## Cara Menggunakan
|
|
|
|
### 1. Install Dependencies
|
|
```bash
|
|
flutter pub get
|
|
```
|
|
|
|
### 2. Setup Firebase (Lihat FIREBASE_SETUP.md)
|
|
```bash
|
|
# Setelah setup Firebase
|
|
flutter run
|
|
```
|
|
|
|
### 3. Test Fitur
|
|
- Landing Page akan tampil pertama kali
|
|
- Klik "Masuk" untuk login page (test belum ada user)
|
|
- Klik "Daftar Akun Baru" untuk signup page
|
|
- Setelah signup berhasil, otomatis login
|
|
- Setelah login, akan diarahkan ke dashboard (Coming Soon)
|
|
|
|
## Next Steps
|
|
|
|
1. **Setup Firebase** sesuai FIREBASE_SETUP.md
|
|
2. **Siapkan Logo** di folder assets/images/logo.png
|
|
3. **Test Landing Page & Auth**
|
|
4. **Buat Dashboard/Home Page**
|
|
5. **Tambah fitur lain** (Data panen, kondisi kandang, dll)
|
|
|
|
## Dependencies yang Ditambahkan
|
|
|
|
```yaml
|
|
dependencies:
|
|
firebase_core: ^3.3.0 # Firebase core
|
|
firebase_auth: ^5.1.4 # Firebase authentication
|
|
cloud_firestore: ^5.1.0 # Firebase database
|
|
provider: ^6.1.0 # State management
|
|
google_fonts: ^6.2.1 # Google fonts
|
|
```
|
|
|
|
## Color Scheme
|
|
|
|
- Primary: `#F4D03F` (Kuning - TelurKu brand)
|
|
- Secondary: Orange shade
|
|
- Background: Gradient (Orange → Amber → Green)
|
|
- Text: Grey variations
|
|
|
|
## Asset Configuration
|
|
|
|
Pastikan file berikut sudah ada:
|
|
- `assets/images/logo.png` - Logo TelurKu (150x150px recommended)
|
|
- Folder `assets/icons/` untuk icon tambahan
|
|
|
|
## Tips Development
|
|
|
|
1. **Hot Reload**: Tekan `r` di terminal untuk hot reload (ganti code)
|
|
2. **Hot Restart**: Tekan `R` di terminal untuk hot restart (reset state)
|
|
3. **Debug Mode**: Check error di bawah code di VSCode
|
|
4. **Firebase Console**: Monitor user, database dari web
|
|
|
|
## Environment Requirements
|
|
|
|
- Flutter SDK: ^3.10.7
|
|
- Dart: ^3.10.7
|
|
- Android SDK (untuk Android)
|
|
- Xcode (untuk iOS)
|
|
- Firebase Project sudah dibuat
|
|
|
|
## Troubleshooting
|
|
|
|
### Aplikasi Error saat Run
|
|
1. Jalankan `flutter clean`
|
|
2. Jalankan `flutter pub get`
|
|
3. Jalankan `flutter run`
|
|
|
|
### Firebase Error
|
|
1. Pastikan `firebase_options.dart` sudah di-update
|
|
2. Pastikan `google-services.json` ada di `android/app/`
|
|
3. Pastikan `GoogleService-Info.plist` ada di iOS
|
|
|
|
### Assets Not Found
|
|
1. Pastikan folder `assets/images/` sudah ada
|
|
2. Pastikan file ada di folder tersebut
|
|
3. Restart aplikasi setelah menambah file baru
|
|
|
|
## Support & Documentation
|
|
|
|
- [Flutter Documentation](https://flutter.dev)
|
|
- [Firebase Documentation](https://firebase.google.com/docs)
|
|
- [Provider Package](https://pub.dev/packages/provider)
|