155 lines
3.8 KiB
Markdown
155 lines
3.8 KiB
Markdown
# 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 <your-repo-url>
|
|
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.
|