A full-featured ride-hailing desktop application inspired by Snapp. Built with C# (WinForms) for the frontend and MySQL as the backend database.
-
User Management π€
- Passenger & Driver registration and login
- Full profile with details (username, email, gender, health status, birth date, etc.)
- Profile editing
-
Passenger Panel π§β
βοΈ - Profile management
- View all trips (current, past, canceled)
- Apply discounts and use wallet
- Request, cancel, or rate trips
- Access support (complaints, gratitude, requests)
-
Driver Panel π
- Profile management
- View assigned trips
- Accept or cancel trips
- Update trip status (in-progress, completed)
- Manage discounts and services
-
Admin Panel π οΈ
- Manage passengers and drivers
- Oversee trips and system activity
- Handle complaints, requests, and cancellations
- Define and assign discount codes
- Full support system with chat, rating, complaints, and gratitude
-
Trip Management π
- Create different types of trips (ride, van, freight, delivery, etc.)
- Manage trip status (pending, ongoing, completed, canceled)
- Support for requests, cancellations, and feedback
-
Wallet System π°
- Recharge passenger wallet
- Payment methods: wallet, online, or cash
- Show balance and transactions
-
Complaints, Requests & Gratitude π’π
- Submit complaints, requests, and gratitude messages
- Admin manages and responds
- Resolution status (open/resolved)
-
Chat Bot & Messaging π€π¬
- Built-in chatbot for quick support
- Messaging between Admin, Driver, and Passenger
- Show full conversation history
-
Rating System β
- Submit ratings and comments after trips
- Auto-calculate average rating with SQL Trigger
- Display each userβs average rating in the admin panel
-
Discount Management ποΈ
- Define discount codes by admin
- Assign discounts to specific passengers
- Usage limits and expiration date support
- Language: C# (.NET Framework, WinForms)
- Database: MySQL
- Architecture: Multi-form structure with role-based access control
- Passengers / Drivers (user info)
- Trips (ride details)
- Complaints / Requests / Gratitude (feedback system)
- Ratings (with SQL trigger for average rating)
- Messages (support chat + chatbot)
- Wallet (balance and transactions)
- Discounts (codes and assigned passengers)
-
Clone the repository:
git clone https://github.com/MahdiJDS/Esnap.git
-
Open Esnap.sln in Visual Studio.
-
Import the database into MySQL:
source Database/Tables.sql; ...
-
Update your database connection string in
Database.cs:string connection = "server=localhost;user=root;password=yourpass;database=esnap;";
-
Run the project π
Pull requests and suggestions are always welcome.
This project is licensed under the MIT License.