YatraMate is an innovative, QR-based offline cashless system designed to enhance public transportation experiences by streamlining payments, reducing cash dependency, and providing real-time navigation using OpenStreetMap (OSM) data. Built using Flutter for cross-platform mobile applications and Django for the backend, this solution offers seamless integration, security, and scalability.
- Features
- System Architecture
- Tech Stack
- Installation
- Prerequisites
- Backend Setup (Django)
- Frontend Setup (Flutter)
- Deployment
- Contributing
- Documentation
- Contact
- Offline QR-Based Transactions: Allows secure, cashless fare transactions without internet requirements.
- Real-Time Navigation: Integrates OSM data for route tracking and estimated arrival times.
- Cross-Platform Mobile App: Developed using Flutter for seamless performance on Android and iOS.
- Django Backend: Robust, scalable, and secure backend handling data, payments, and API integrations.
- GPS Tracking: Real-time tracking for better transparency in vehicle location.
The architecture of YatraMate involves:
- Frontend (Flutter): A cross-platform mobile application for passengers and conductors to interact with the system.
- Backend (Django): Manages QR code generation, payment processing, real-time data updates, and secure API communication.
- Database: Stores user details, transactions, routes, and QR information.
- OpenStreetMap Integration: Provides real-time geographic data for route navigation.
- Frontend: Flutter
- Backend: Django (Python)
- Database: PostgreSQL (or any preferred database)
- Mapping: OpenStreetMap (OSM)
- IDE: Visual Studio Code
Prerequisites
Ensure you have the following installed on your system:
- Flutter: Install Flutter
- Django: Install Django
- VS Code: Install Visual Studio Code
- Python 3.8+ and pip
- Android Studio/Xcode (for mobile emulators)
Backend Setup (Django)
- Clone the repository:
git clone /~https://github.com/Ashish-Pandey62/KU_Hackfest/tree/main/transport_backend
- Install dependencies:
pip install -r requirements.txt
- Database Migrations:
python manage.py makemigrations
python manage.py migrate
- Run the Django server:
python manage.py runserver
Frontend Setup (Flutter)
- Clone the repository:
git clone /~https://github.com/Ashish-Pandey62/KU_Hackfest/tree/main/conductor_app
- Install dependencies:
flutter pub get
- Run the Flutter app:
- For Android:
flutter run
- For iOS (requires macOS):
flutter run
To deploy this project run
Flutter app for Android:
flutter build apk --release
For ios:
flutter build ios --release
We welcome contributions! Please follow these steps:
- Fork the repository.
- Create a new branch
git checkout -b feature/YourFeature
- Commit your changes
git commit -m 'Add some feature
- Push to the branch
git push origin feature/YourFeature
- Create a new Pull Request.
Before setting up the YatraMate Flutter app, ensure you have the following tools installed on your machine:
- Flutter SDK - Follow the official guide to install Flutter for your development environment.
For more information or queries, feel free to contact us at