Ami Transit is a comprehensive ride-sharing mobile application built with Flutter and Firebase. It enables users to share rides, communicate in real-time, and manage their transportation needs efficiently.
- User Registration & Login: Secure email/password authentication
- Profile Setup: Complete user profile with personal information
- Profile Management: Edit and update user profiles
- Trip Booking: Create and manage ride requests
- Upcoming Trips: View scheduled and upcoming rides
- Trip History: Track past ride history
- Real-time Updates: Live status updates for trips
- Real-time Chat: In-app messaging between users
- Push Notifications: FCM-powered instant notifications
- Trip Coordination: Communicate with other riders
- Maps Integration: Google Maps and Flutter Map support
- Geolocation: Real-time location tracking
- Route Planning: Optimized route suggestions
- Animated Splash Screen: Beautiful app startup experience
- Settings Management: Customizable user preferences
- About Page: App information and credits
- OTA Updates: Over-the-air app updates
- Local Notifications: Offline notification support
- Image Upload: Profile picture and image sharing
- WebView Integration: In-app web content display
- Framework: Flutter (Dart)
- State Management: Provider/BLoC pattern
- UI Components: Material Design with custom widgets
- Navigation: Flutter Navigator with named routes
- Database: Firebase Firestore (NoSQL)
- Authentication: Firebase Auth
- Storage: Firebase Storage for images
- Messaging: Firebase Cloud Messaging (FCM)
- Functions: Cloud Functions for server-side logic
- โ Android
- โ iOS
- โ Web
- โ Windows
- โ macOS
- โ Linux
Before you begin, ensure you have the following installed:
- Flutter SDK (>=3.4.3)
- Dart SDK (>=3.4.3)
- Android Studio or VS Code
- Git
-
Clone the repository
git clone https://github.com/aditheking/AMITransit.git cd AMITransit -
Install dependencies
flutter pub get
-
Firebase Setup
โ ๏ธ Important: This repository does not include Firebase configuration files for security reasons.You need to set up your own Firebase project:
- Follow the detailed instructions in
FIREBASE_SETUP.md - Use the template file
lib/firebase_options.dart.templateas a reference - Configure Firebase Authentication, Firestore, and Cloud Messaging
- Follow the detailed instructions in
-
Run the app
flutter run
-
Enable developer mode
flutter config --enable-web
-
Check Flutter doctor
flutter doctor
-
Run tests
flutter test
| Splash Screen | Login | Home | Chat |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
- firebase_core - Firebase SDK initialization
- firebase_auth - User authentication
- cloud_firestore - NoSQL database
- firebase_messaging - Push notifications
- firebase_storage - File storage
- google_fonts - Typography
- animated_splash_screen - App startup animation
- lottie - Vector animations
- cached_network_image - Optimized image loading
- google_maps_flutter - Google Maps integration
- flutter_map - Open-source maps
- geolocator - Location services
- image_picker - Camera and gallery access
- shared_preferences - Local data storage
- url_launcher - External link handling
- permission_handler - Runtime permissions
- webview_flutter - In-app web browsing
lib/
โโโ Screens/ # App screens and pages
โ โโโ Settings/ # Settings-related screens
โ โโโ ChatPage.dart # Real-time chat interface
โ โโโ home.dart # Main dashboard
โ โโโ login.dart # Authentication screen
โ โโโ Signup.dart # User registration
โ โโโ Trips.dart # Trip management
โ โโโ ...
โโโ widgets/ # Reusable UI components
โ โโโ drawer.dart # Navigation drawer
โ โโโ TripCardForUpcomingTrips.dart
โ โโโ ...
โโโ firebase_options.dart.template # Firebase config template
โโโ main.dart # App entry point
Create the following files with your configuration:
-
Firebase Configuration (
lib/firebase_options.dart)- Copy from
lib/firebase_options.dart.template - Replace placeholders with your Firebase project details
- Copy from
-
Android Configuration
- Add
android/app/google-services.json - Update
android/local.propertieswith SDK paths
- Add
-
iOS Configuration
- Add
ios/Runner/GoogleService-Info.plist - Configure in Xcode project settings
- Add
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow Flutter style guide
- Write meaningful commit messages
- Add tests for new features
- Update documentation as needed
- Ensure all tests pass before submitting PR
- Firebase configuration required for full functionality
- Location permissions needed for map features
- Internet connection required for real-time features
This project is licensed under the MIT License - see the LICENSE file for details.
- Aditya - Initial work - @aditheking
- Flutter team for the amazing framework
- Firebase for backend services
- Google Fonts for typography
- Lottie for animations
- Open source community for various packages
If you have any questions or need help setting up the project:
- Check the Firebase Setup Guide
- Open an issue on GitHub
- Read the Flutter documentation
- Driver mode for ride providers
- Payment integration
- Rating and review system
- Advanced trip filtering
- Social features
- Multi-language support
- Dark mode theme
- Offline mode capabilities
Made with โค๏ธ using Flutter



