Welcome to the Hour & Pricing Tracker for Drivers! This Flutter application is designed to help drivers track their working hours and calculate their earnings efficiently.
| Screenshot 1 | Screenshot 2 |
|---|---|
| Screenshot 3 | Screenshot 4 |
| Screenshot 5 | Screenshot 6 |
| Screenshot 7 | Screenshot 8 |
| Screenshot 9 | Screenshot 10 |
| Screenshot 11 | |
The Hour & Pricing Tracker for Drivers is a next-generation payroll application tailored for the trucking industry. It allows drivers to log their hours, manage their schedules, and calculate their earnings seamlessly.
- Admin Login: Secure login for administrators to manage driver data.
- Driver Login: Secure login for drivers to track their hours and earnings.
- Real-time Data Sync: Syncs data with Firebase for real-time updates.
- User-friendly Interface: Easy-to-use interface with intuitive navigation.
To get started with the project, follow these steps:
-
Clone the repository:
git clone https://github.com/Flutternest/hour_tracking_app.git cd hour_tracking_app -
Install dependencies:
flutter pub get
-
Run the application:
flutter run
For more detailed instructions, refer to the Flutter documentation.
The application follows the Model-View-Presenter (MVP) architecture pattern, which helps in separating the concerns and making the codebase more maintainable and testable. Also, the application follows a modular architecture with a focus on maintainability and scalability. Here are the key components:
- State Management: Using
hooks_riverpodfor state management. - Routing: Managed by a custom router (
AppRouter). - Firebase Integration: Utilizes
firebase_core,firebase_auth, andcloud_firestorefor backend services. - Local Storage: Uses
shared_preferencesfor local data storage.
The project relies on several key dependencies:
flutter: The core framework.hooks_riverpod: State management.firebase_core: Firebase core services.firebase_auth: Firebase authentication.cloud_firestore: Firestore database.shared_preferences: Local storage.flutter_svg: SVG rendering.
For a complete list of dependencies, refer to the pubspec.yaml file.
We welcome contributions from the community! If you would like to contribute, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch). - Make your changes and commit them (
git commit -m 'Add new feature'). - Push to the branch (
git push origin feature-branch). - Create a pull request.