Aplikasi pelacakan motor dengan GPS tracking otomatis dan monitoring servis berkala
- GPS Tracking Otomatis: Melacak perjalanan motor secara otomatis
- Background Service: Tracking berjalan di background bahkan saat aplikasi tertutup
- Monitoring Servis: Pengingat jadwal servis berkala berdasarkan kilometer
- Riwayat Perjalanan: Lihat history perjalanan dengan detail rute dan jarak
- Multi Motor: Kelola beberapa motor dalam satu akun
- Activity Recognition: Deteksi otomatis kapan sedang berkendara
- Firebase Integration: Sinkronisasi data real-time
- Google Sign-In: Login mudah dengan akun Google
- Flutter 3.35.0
- Riverpod - State management
- Go Router - Navigation
- Firebase (Auth, Firestore, Storage)
- Google Maps - Maps & Location
- Background Service - GPS tracking di background
- Activity Recognition - Deteksi aktivitas berkendara
- Flutter SDK 3.35.0+
- FVM (recommended)
- Android Studio / Xcode
- Firebase account
-
Clone & Install
git clone <repository-url> cd GLIMO fvm flutter pub get
-
Setup API Keys
# Copy example file cp android/local.properties.example android/local.properties # Edit dan tambahkan Google Maps API key # GOOGLE_MAPS_API_KEY=your_key_here
-
Add Firebase Config
- Download
google-services.jsonfrom Firebase Console - Place in
android/app/google-services.json
- Download
-
Run
fvm flutter run
📖 Detailed setup instructions: See SETUP.md
lib/
├── application/ # UI Layer
│ ├── providers/ # Riverpod providers
│ ├── screens/ # App screens
│ ├── widgets/ # Reusable widgets
│ └── themes/ # Colors, typography, spacing
├── domain/ # Business logic
│ └── models/ # Data models
├── infrastructure/ # Data layer
│ └── services/ # External services
└── core/ # Core utilities
└── utils/ # Helper utilities
# Run all tests
fvm flutter test
# Run with coverage
fvm flutter test --coverage
# Run analyze
fvm flutter analyzeCurrent test status: ✅ 13 tests passing
# APK
fvm flutter build apk --release
# App Bundle (for Play Store)
fvm flutter build appbundle --releasefvm flutter build ios --releaseThis project uses secure environment configuration:
- API keys stored in
.envandlocal.properties(git-ignored) - Firebase config excluded from git
- Release signing keys excluded from git
Never commit:
.envandroid/local.propertiesandroid/key.propertiesgoogle-services.json*.jkskeystore files
- Follow Flutter style guide
- Use
fvm flutter analyzeto check for issues - Run tests before committing
Use the custom Logger utility instead of debugPrint:
import 'package:glimo/core/utils/logger.dart';
Logger.info('User logged in', tag: 'AUTH');
Logger.error('Failed to load', tag: 'API', error: e);
Logger.warn('Cache miss', tag: 'CACHE');Logger automatically disables in production builds.
- Create a feature branch
- Make your changes
- Run tests and analyze
- Submit a pull request
Personal Development Version
For issues and questions, please contact the development team.
Built with ❤️ using Flutter