|
|
||
|---|---|---|
| android | ||
| assets | ||
| ios | ||
| lib | ||
| linux | ||
| macos | ||
| scripts | ||
| test | ||
| tools/pengujian_ai | ||
| web | ||
| windows | ||
| .env | ||
| .env.example | ||
| .firebaserc | ||
| .gitignore | ||
| .metadata | ||
| Cuaca.md | ||
| FIREBASE_SETUP_FINAL.md | ||
| Mood.md | ||
| README.md | ||
| Suasana.md | ||
| analysis_options.yaml | ||
| firebase.json | ||
| pubspec.lock | ||
| pubspec.yaml | ||
README.md
Amori AI
Aplikasi rekomendasi menu kafe Amor Coffee Kediri menggunakan AI dan OCR technology.
🚀 Fitur Utama
- OCR Menu Recognition: Scan foto menu menggunakan Google Vision OCR
- AI-Powered Recommendations: Rekomendasi personal menggunakan Gemini AI
- User Preferences: Sistem preferensi pengguna yang komprehensif
- Firebase Integration: Autentikasi dan database real-time
- Chat Interface: Tanya jawab dengan AI tentang menu
- History & Favorites: Riwayat rekomendasi dan favorit
- Offline Support: Cache data untuk penggunaan offline
🛠️ Tech Stack
- Framework: Flutter 3.8.1+
- State Management: Riverpod
- Database: Firebase Firestore + Hive (local)
- Authentication: Firebase Auth + Google Sign-In
- AI/ML: Google Gemini AI + Google ML Kit OCR
- UI: Material Design 3 dengan custom theme
🔧 Setup & Installation
Prerequisites
- Flutter SDK 3.8.1 atau lebih baru
- Dart SDK
- Android Studio / VS Code
- Firebase account
- Google Cloud account (untuk Gemini AI)
Environment Variables
Buat file .env di root project:
GEMINI_API_KEY=your_gemini_api_key_here
GOOGLE_SIGN_IN_CLIENT_ID=your_google_client_id_here
Firebase Setup
- Buat project baru di Firebase Console
- Enable Authentication (Email/Password & Google)
- Enable Firestore Database
- Enable Firebase Messaging
- Download
google-services.jsondan letakkan diandroid/app/ - Download
GoogleService-Info.plistdan letakkan diios/Runner/
Installation Steps
- Clone repository:
git clone https://github.com/your-username/muning-menu-recommender.git
cd muning-menu-recommender
- Install dependencies:
flutter pub get
- Generate Hive adapters:
flutter packages pub run build_runner build
- Run the app:
flutter run
🏗️ Architecture
lib/
├── core/
│ ├── config/ # App configuration
│ ├── constants/ # App constants
│ └── theme/ # App theme & styling
├── models/ # Data models
├── services/ # Business logic services
├── screens/ # UI screens
│ ├── auth/ # Authentication screens
│ ├── home/ # Home screen
│ ├── camera/ # Camera & OCR screens
│ ├── recommendation/ # Recommendation screens
│ ├── history/ # History screens
│ └── profile/ # Profile screens
└── main.dart # App entry point
🧪 Testing
Unit Tests
flutter test
Integration Tests
flutter drive --target=test_driver/app.dart
Testing Strategy
- Black Box Testing: Equivalence Class Partitioning (ECP), Boundary Value Analysis (BVA), Decision Table
- SUS Questionnaire: System Usability Scale integration
- Performance Testing: CPU usage (target: 20-36%), FPS (target: 66+)
📊 Performance Metrics
- Target CPU Usage: 20-36%
- Target FPS: 66+
- OCR Accuracy: >90%
- AI Response Time: <3 seconds
- App Launch Time: <2 seconds
🔒 Security & Privacy
- Data encryption in transit dan at rest
- GDPR compliance untuk data handling
- Secure API key management
- User consent untuk data collection
🚀 Deployment
Android APK
flutter build apk --release
Android App Bundle
flutter build appbundle --release
iOS
flutter build ios --release
🤝 Contributing
- Fork the project
- Create feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add some AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Open Pull Request
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
👥 Team
- Developer: [Your Name]
- UI/UX Designer: [Designer Name]
- Project Manager: [PM Name]
🙏 Acknowledgments
- Google untuk ML Kit dan Gemini AI
- Firebase untuk backend services
- Flutter team untuk framework yang amazing