A Python desktop application that helps IIT Patna students and staff find compatible co-riders for railway-station, airport, festival, and recurring trips. The project combines trip discovery, fuzzy route matching, participant management, and local analytics in a PyQt5 interface.
Campus rides are often coordinated through noisy group chats. Riders repeat the same messages, miss compatible trips because names are phrased differently, and lack one place to see timing, capacity, or participant details.
This application turns that ad-hoc process into a structured local workflow:
create trip → normalize route and time → search compatible rides
↓
join + share participant details
↓
manage or review the trip
- Registration and login with SHA-256 password hashing
- Create, search, join, inspect, and delete trips
- Station, airport, event, and regular route categories
- Levenshtein-based fuzzy search for route-name variations
- Date-range filtering and popular-route analytics
- Participant and creator contact visibility
- Local SQLite persistence with a normalized three-table schema
The approximately 900-line application follows an MVC-style separation:
- Views: PyQt5 windows, forms, tables, and dialogs
- Application logic: validation, matching, trip membership, and analytics
- Persistence: SQLite users, trips, and participation records
Python · PyQt5 · SQLite · Qt Designer · Levenshtein matching
git clone https://github.com/priyadeepjaiswal9c/Cab_Pooling_Application.git
cd Cab_Pooling_Application
pip install PyQt5 python-LevenshteinRun the application entry point included in the submission folder. The project documentation contains the original requirements, database design, screens, and demo flow.
| Document | Purpose |
|---|---|
| Product requirements | Users, scope, functional requirements, and constraints |
| Presentation | Product walkthrough and architecture |
This is a local desktop prototype. A production campus service would need institute identity verification, server-backed authentication, encrypted transport, privacy controls, abuse reporting, and deployment monitoring.
Priyadeep Jaiswal — product design, application architecture, implementation, and documentation · @priyadeepjaiswal9c