This is the mobile client application for the Quanta HRIS ecosystem. It provides employees with seamless access to attendance tracking, payroll information, and leave management directly from their smartphones.
If you are looking for the Backend API & Admin Panel, please check: Quanta HRIS Backend Repository
- GPS & Face Attendance: Clock in and out securely using facial recognition and real-time GPS location validation.
- Dashboard Overview: View daily operational hours, current attendance status, and today's leave summary at a glance.
- Payslip Access: View detailed salary slips and download them as PDF files directly to your device.
- Leave Management: Apply for annual leave (Cuti) and track the status of your requests.
- Permission Requests: Submit permission notes (Izin) for sickness or other purposes.
- Overtime Tracking: Request overtime (Lembur) and view your overtime history.
- Attendance History: Browse your complete attendance logs.
- Profile Management: Update your personal profile information.
| Login | Home | Attendance |
|---|---|---|
![]() |
![]() |
![]() |
| Profile | Payslip | Leave |
|---|---|---|
![]() |
![]() |
![]() |
- Framework: Flutter (Dart)
- State Management: BLoC (flutter_bloc)
- HTTP Client: Dio (with Interceptors)
- Navigation: GoRouter
- Dependency Injection: GetIt (Manual Configuration)
- Maps & Location: Flutter Map, LatLong2, Geolocator
- Face Recognition: Google ML Kit & TFLite
- Local Storage: Flutter Secure Storage
- Flutter SDK: ^3.9.2
- Dart SDK: Compatible with Flutter 3.9.2+
- IDE: VS Code or Android Studio
- Backend: A running instance of the Quanta HRIS Backend (Laravel)
Follow these steps to set up the project locally:
-
Clone the Repository
git clone https://github.com/munovrizall/quanta-hris-flutter.git cd quanta-hris-flutter -
Install Dependencies
flutter pub get
-
Run Code Generation This project uses
freezedandjson_serializablefor code generation.dart run build_runner build -d
-
Configuration To connect the app to your backend, you need to configure the Base URL.
Open
lib/main_dev.dart(for development) orlib/main_production.dart(for production) and update thebaseUrlin theFlavorConfig:final devConfig = FlavorConfig( flavor: Flavor.dev, baseUrl: "https://your-backend-domain.com/api", // <--- Update this URL );
Development Mode: To run the app in debug mode with the development configuration:
flutter run -t lib/main_dev.dartProduction Mode: To build the APK for release:
flutter build apk --release -t lib/main_production.dart




