Skip to content

Carpooling App with auth,trip creation etc with flutter

License

Notifications You must be signed in to change notification settings

aditheking/AMITransit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

31 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš— Ami Transit - Ride Sharing App

Flutter Firebase Dart

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.

โœจ Features

๐Ÿ” Authentication

  • User Registration & Login: Secure email/password authentication
  • Profile Setup: Complete user profile with personal information
  • Profile Management: Edit and update user profiles

๐Ÿš– Trip Management

  • 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

๐Ÿ’ฌ Communication

  • Real-time Chat: In-app messaging between users
  • Push Notifications: FCM-powered instant notifications
  • Trip Coordination: Communicate with other riders

๐Ÿ—บ๏ธ Location Services

  • Maps Integration: Google Maps and Flutter Map support
  • Geolocation: Real-time location tracking
  • Route Planning: Optimized route suggestions

โš™๏ธ Additional Features

  • 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

๐Ÿ—๏ธ Architecture

Frontend

  • Framework: Flutter (Dart)
  • State Management: Provider/BLoC pattern
  • UI Components: Material Design with custom widgets
  • Navigation: Flutter Navigator with named routes

Backend

  • Database: Firebase Firestore (NoSQL)
  • Authentication: Firebase Auth
  • Storage: Firebase Storage for images
  • Messaging: Firebase Cloud Messaging (FCM)
  • Functions: Cloud Functions for server-side logic

Platform Support

  • โœ… Android
  • โœ… iOS
  • โœ… Web
  • โœ… Windows
  • โœ… macOS
  • โœ… Linux

๐Ÿš€ Getting Started

Prerequisites

Before you begin, ensure you have the following installed:

Installation

  1. Clone the repository

    git clone https://github.com/aditheking/AMITransit.git
    cd AMITransit
  2. Install dependencies

    flutter pub get
  3. 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.template as a reference
    • Configure Firebase Authentication, Firestore, and Cloud Messaging
  4. Run the app

    flutter run

Development Setup

  1. Enable developer mode

    flutter config --enable-web
  2. Check Flutter doctor

    flutter doctor
  3. Run tests

    flutter test

๐Ÿ“ฑ Screenshots

Splash Screen Login Home Chat
Splash Login Home Chat

๐Ÿ› ๏ธ Built With

Core Dependencies

  • firebase_core - Firebase SDK initialization
  • firebase_auth - User authentication
  • cloud_firestore - NoSQL database
  • firebase_messaging - Push notifications
  • firebase_storage - File storage

UI & UX

  • google_fonts - Typography
  • animated_splash_screen - App startup animation
  • lottie - Vector animations
  • cached_network_image - Optimized image loading

Maps & Location

  • google_maps_flutter - Google Maps integration
  • flutter_map - Open-source maps
  • geolocator - Location services

Utilities

  • 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

๐Ÿ“‚ Project Structure

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

๐Ÿ”ง Configuration

Environment Variables

Create the following files with your configuration:

  1. Firebase Configuration (lib/firebase_options.dart)

    • Copy from lib/firebase_options.dart.template
    • Replace placeholders with your Firebase project details
  2. Android Configuration

    • Add android/app/google-services.json
    • Update android/local.properties with SDK paths
  3. iOS Configuration

    • Add ios/Runner/GoogleService-Info.plist
    • Configure in Xcode project settings

๐Ÿค Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  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

Development Guidelines

  • Follow Flutter style guide
  • Write meaningful commit messages
  • Add tests for new features
  • Update documentation as needed
  • Ensure all tests pass before submitting PR

๐Ÿ› Known Issues

  • Firebase configuration required for full functionality
  • Location permissions needed for map features
  • Internet connection required for real-time features

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ‘ฅ Authors

๐Ÿ™ Acknowledgments

  • Flutter team for the amazing framework
  • Firebase for backend services
  • Google Fonts for typography
  • Lottie for animations
  • Open source community for various packages

๐Ÿ“ž Support

If you have any questions or need help setting up the project:

  1. Check the Firebase Setup Guide
  2. Open an issue on GitHub
  3. Read the Flutter documentation

๐Ÿ”ฎ Future Features

  • 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

About

Carpooling App with auth,trip creation etc with flutter

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published