ionic-planb-logistic-app-fl.../README.md

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.