The Military Ride-Share App is a secure and efficient Flutter-based platform designed exclusively for military personnel and their dependents. It facilitates seamless ride-sharing within the military community, ensuring safe and reliable transportation options tailored to their unique needs.
- User Authentication: Robust verification process to ensure access is restricted to military members and dependents.
- Ride Management:
- Riders can request rides and track progress in real-time.
- Drivers can accept or decline ride requests and manage availability.
- Location Services: Real-time GPS for accurate pickup and drop-off points.
- Notifications: Instant updates for ride status and confirmations.
- Payment Integration: Secure, cashless transactions between riders and drivers.
- Military-Specific Filters: Search rides to and from bases, duty stations, and military events.
- Admin Tools: Manage user roles, verify military credentials, and oversee platform activity.
- Frontend Framework: Flutter
- Backend: Firebase
- Authentication
- Realtime Database
- Cloud Functions
- Storage
- Deployment: Google Cloud (for Firebase backend)
Before you begin, ensure you have the following installed:
- Flutter SDK
- Android Studio or Xcode (for mobile emulators)
- Firebase CLI
- Git
-
Clone the Repository
git clone https://github.com/yourusername/military-ride-share.git cd military-ride-share -
Install Dependencies
flutter pub get
-
Set Up Firebase
- Create a Firebase project in the Firebase Console.
- Add Android and iOS apps to the project and download the configuration files:
google-services.jsonfor AndroidGoogleService-Info.plistfor iOS
- Place these files in their respective directories:
- Android:
android/app/ - iOS:
ios/Runner/
- Android:
-
Run the Application
flutter run
military-ride-share/
├── lib/
│ ├── screens/ # App screens (e.g., Home, Login, Profile)
│ ├── widgets/ # Reusable Flutter widgets
│ ├── services/ # Firebase and API integrations
│ ├── models/ # Data models (e.g., Ride, User)
│ ├── providers/ # State management using Riverpod
│ └── main.dart # App entry point
├── android/ # Android-specific files
├── ios/ # iOS-specific files
├── assets/ # Images, fonts, and other static resources
├── pubspec.yaml # Flutter dependencies and metadata
└── README.md # Project documentation Ensure your Firebase project is set up to enable the following features:
- Authentication: Enable Email/Password and any other login methods you need.
- Realtime Database: Add rules to secure data for verified users only.
- Cloud Functions: Write custom backend logic for notifications and verifications.
The app can be deployed to the respective app stores once completed:
-
Generate Build Files:
- Android:
flutter build apk --release
- iOS:
flutter build ios --release
- Android:
-
Test on Devices:
- Use Firebase Test Lab or physical devices for testing.
-
Submit to App Stores:
- Android: Upload the APK to the Google Play Console.
- iOS: Archive and distribute the app through Xcode to the App Store.
- Analytics: Integrate Firebase Analytics for user activity insights.
- Ride Scheduling: Allow users to schedule rides in advance.
- In-App Messaging: Enable communication between riders and drivers.
- Dynamic Pricing: Adjust rates based on if servicemember is job searching or coming back from a deployment.
We welcome contributions!
- Fork the repository.
- Create your feature branch:
git checkout -b feature/amazing-feature
- Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature
- Open a pull request.
This project is licensed under the MIT License.