# Fleet Driver App A mobile application for drivers to manage delivery routes, handle pickups/dropoffs, and navigate to destinations with integrated Google Maps navigation. ## Features - View and manage assigned delivery routes - Track route progress in real-time - View pickup and dropoff locations with details - Integrated Google Maps navigation to destinations - Mark stops as completed - Real-time location tracking - Interactive map view of all stops - Route status management - Stop status tracking (pending, in progress, completed, failed) ## Tech Stack - **Flutter** - UI framework - **Provider** - State management - **Google Maps Flutter** - Map integration - **Geolocator** - Location services - **Dio** - HTTP client for API calls - **URL Launcher** - Navigation integration ## Quick Start 1. **Clone the repository** ```bash git clone cd flutter_fleet_logistic_workforce_app ``` 2. **Install dependencies** ```bash flutter pub get ``` 3. **Configure Google Maps API Key** - Get your API key from [Google Cloud Console](https://console.cloud.google.com/) - See [SETUP_GUIDE.md](SETUP_GUIDE.md) for detailed configuration steps 4. **Run the app** ```bash flutter run ``` ## Documentation - **[SETUP_GUIDE.md](SETUP_GUIDE.md)** - Detailed setup and configuration instructions - **[PROJECT_STRUCTURE.md](PROJECT_STRUCTURE.md)** - Architecture and code organization ## Project Structure ``` lib/ ├── core/ # Shared resources │ ├── constants/ # App constants │ ├── theme/ # Theme configuration │ └── widgets/ # Reusable widgets ├── features/ # Feature modules │ └── routes/ # Route management feature │ ├── data/ # Models and repositories │ ├── domain/ # Business logic │ └── presentation/ # UI and state management ├── services/ # App services │ ├── location/ # Location tracking │ ├── maps/ # Navigation │ └── api/ # Backend API └── main.dart # App entry point ``` ## Screenshots Coming soon... ## Requirements - Flutter SDK >=3.7.2 - Dart SDK - Android SDK (for Android) - Xcode (for iOS) - Google Maps API Key ## Configuration ### Android Update `android/app/src/main/AndroidManifest.xml` with your Google Maps API key. ### iOS Update `ios/Runner/AppDelegate.swift` with your Google Maps API key. See [SETUP_GUIDE.md](SETUP_GUIDE.md) for detailed instructions. ## API Integration The app is designed to work with a backend API. Configure your API endpoint in: ```dart lib/core/constants/app_constants.dart ``` Expected API endpoints: - `GET /routes/:driverId` - Get driver routes - `GET /routes/detail/:routeId` - Get route details - `PUT /routes/:routeId/status` - Update route status - `PUT /stops/:stopId/status` - Update stop status ## Development ### Run in development mode ```bash flutter run ``` ### Build for production ```bash # Android flutter build apk --release # iOS flutter build ios --release ``` ### Run tests ```bash flutter test ``` ## Future Enhancements - [ ] Offline mode with local storage - [ ] Photo capture for proof of delivery - [ ] Digital signature collection - [ ] Push notifications - [ ] Route optimization - [ ] Driver performance metrics - [ ] Multi-language support - [ ] Dark mode ## Contributing 1. Fork the repository 2. Create your feature branch (`git checkout -b feature/AmazingFeature`) 3. Commit your changes (`git commit -m 'Add some AmazingFeature'`) 4. Push to the branch (`git push origin feature/AmazingFeature`) 5. Open a Pull Request ## License This project is proprietary software. All rights reserved. ## Support For support, please contact your development team or open an issue in the repository.