A carpooling application.
Welcome to Journey Mate App, a carpooling application designed to revolutionize your travel experience while contributing to a cleaner and greener environment. By promoting carpooling, Journey Mate App helps reduce pollution, conserve energy, and build a community of eco-conscious travelers. Whether you're looking to create rides, search for available rides, or chat with fellow travelers, Journey Mate App has got you covered. This app is built with cutting-edge technologies and offers seamless integration with Firebase, maps, and other powerful tools.
- User Authentication: Secure login and signup using Firebase Authentication.
- Ride Creation: Create rides with detailed information like origin, destination, date, time, and price.
- Ride Search: Search for available rides based on your preferences.
- Live Map Integration: View rides and user locations on an interactive map.
- Chat System: Communicate with other users via real-time chat for each ride.
- Profile Management: View and manage your profile details, including profile picture and car details.
- Booking Confirmation: Confirm your ride bookings with ease.
- Admin Controls: Manage users, block/unblock accounts, and verify user profiles.
- Reduce Pollution: By encouraging carpooling, Journey Mate App helps reduce the number of vehicles on the road, lowering carbon emissions and air pollution.
- Energy Efficiency: Shared rides optimize fuel consumption, contributing to energy conservation.
- Community Contribution: Promotes eco-friendly travel habits and builds a community of environmentally conscious travelers.
- Android: Optimized for Android devices.
- iOS: Fully compatible with iOS devices.
- Web: Accessible via web browsers.
- Windows, macOS, Linux: Desktop support for a complete cross-platform experience.
- Flutter: A powerful UI toolkit for building natively compiled applications.
- Dart: The programming language behind Flutter.
- Firebase:
- Authentication
- Firestore Database
- Realtime Database
- Firebase Storage
- Mapbox: Interactive maps and geolocation services.
- Connectivity Plus: Network status monitoring.
lib/
βββ main.dart
βββ firebase_options.dart
βββ models/
β βββ ride.dart
β βββ user.dart
βββ screens/
β βββ home_screen.dart
β βββ login_screen.dart
β βββ register_screen.dart
β βββ profile_screen.dart
β βββ ride_creation_screen.dart
β βββ ride_search_screen.dart
βββ services/
β βββ auth_service.dart
β βββ database_service.dart
β βββ ride_service.dart
β βββ chat_service.dart
βββ widgets/
β βββ custom_button.dart
β βββ custom_input_field.dart
β βββ ride_tile.dart
β βββ user_tile.dart
βββ utils/
βββ constants.dart
βββ helpers.dart
+---------------------+ +---------------------+ +---------------------+
| | | | | |
| Flutter Frontend | | Firebase Services | | Third-Party APIs |
| | | | | |
|---------------------| |---------------------| |---------------------|
| - UI Components | | - Authentication | | - Mapbox API |
| - Screens | | - Firestore DB | | - Geocoding |
| - Widgets | | - Realtime DB | | - Directions |
| | | - Firebase |Storage| | |
+---------------------+ +---------------------+ +---------------------+
| | |
| | |
+---------------------------+---------------------------+
|
|
+---------------------+
| |
| Backend Services |
| |
|---------------------|
| - Ride Service |
| - Chat Service |
| - Location Service |
| - Admin Service |
| - Storage Service |
+---------------------+
+---------------------------------------------------+
| Frontend Layer |
|---------------------------------------------------|
| Flutter App |
| - Screens: Login, Signup, Home, Profile, Rides |
| - Widgets: UserCard, RideCard, LoadingDialog |
| - Navigation: FIFO for chat messages, LIFO for |
| screen transitions |
+---------------------------------------------------+
|
|
v
+---------------------------------------------------+
| Backend Layer |
|---------------------------------------------------|
| Firebase Services |
| - Authentication: User login/signup |
| - Firestore DB: Structured data storage |
| - Realtime DB: Real-time updates for location |
| - Firebase Storage: File uploads (e.g., profile |
| pictures, documents) |
|---------------------------------------------------|
| Backend Services |
| - Ride Service: Create/Search/Book rides |
| - Chat Service: Real-time messaging |
| - Location Service: Track user locations |
| - Admin Service: Manage users |
| - Storage Service: Upload/retrieve documents |
+---------------------------------------------------+
|
|
v
+---------------------------------------------------+
| Third-Party Integration Layer |
|---------------------------------------------------|
| Mapbox API |
| - Geocoding: Convert addresses to coordinates |
| - Directions: Calculate routes and distances |
| - Maps: Render interactive maps |
+---------------------------------------------------+
Here are some screenshots of the Journey Mate App to give you a glimpse of its features and design. Replace the placeholder text with actual screenshots when available.
- Description: The home screen provides an overview of the app, including quick access to ride creation, ride search, and user profile.
- Description: The login screen allows users to securely log in using their credentials.
- Description: The signup screen enables new users to create an account with required details.
- Description: The profile screen displays user information, including name, email, and car details. Users can edit their profile here.
- Description: The ride creation screen allows users to create a new ride by entering details like origin, destination, date, and time.
- Description: The ride search screen helps users find available rides based on their preferences.
- Description: The chat screen enables real-time communication between users for a specific ride.
- Description: The booking confirmation screen allows users to confirm their ride bookings and view ride details.
To get started with Journey Mate App, follow these steps:
- Clone the repository:
git clone https://github.com/yourusername/journey_mate_app_v1.git
- Navigate to the project directory:
cd journey_mate_app_v1 - Install the dependencies:
flutter pub get
- Set up Firebase:
- Create a new Firebase project.
- Add your app to the Firebase project (Android, iOS, Web).
- Download the
google-services.jsonandGoogleService-Info.plistfiles and place them in the respective directories. - Enable the required Firebase services (Authentication, Firestore, Storage, etc.).
- Set up Mapbox:
- Create a Mapbox account and get your access token.
- Enable the required Mapbox services (Maps, Geocoding, etc.).
- Run the app:
flutter run
For detailed instructions, refer to the documentation.
We welcome contributions to improve Journey Mate App! To contribute:
-
Fork the repository:
- Click the "Fork" button at the top-right corner of the repository page.
-
Clone your forked repository:
git clone https://github.com/yourusername/journey_mate_app_v1.git
-
Create a new branch:
git checkout -b feature-name
-
Make your changes:
- Add new features, fix bugs, or improve documentation.
-
Commit your changes:
git commit -m "Add feature-name" -
Push your changes:
git push origin feature-name
-
Create a pull request:
- Go to the original repository and click "New Pull Request."
- Provide a detailed description of your changes.
This project is licensed under the MIT License - see the LICENSE file for details.
- Flutter - The UI toolkit used to build the app.
- Firebase - The backend platform for app development.
- Mapbox - The mapping and location data platform.
- OpenAI - For providing the AI assistance in app development.
For any inquiries or feedback, please reach out:
- Email: support@journeymateapp.com
- Twitter: @journeymateapp
- Facebook: Journey Mate App
Thank you for choosing Journey Mate App. We wish you safe and happy travels!
This project is developed collaboratively by the following team members:
-
Amitabha Jana - Project Lead & Backend Developer
- Contributions: Led the project, developed backend services, coordinated development efforts, and worked on database integration and real-time features.
-
Rahul Kumar - Frontend Developer
- Contributions: Worked on UI components, screens, and overall frontend design.
-
Hrithik Bhowmik - QA Tester
- Contributions: Conducted extensive testing to ensure the app's functionality and quality.
-
Srilakha Bishwas - UI/UX Designer
- Contributions: Designed the app's user interface and provided feedback on user experience improvements.
-
Pabitra Kumar Sarkar - Market Researcher
- Contributions: Conducted market research and provided external insights to improve app usability and reach.







