Skip to content

CampusRide is a university-exclusive ride-sharing platform designed to connect students and staff for daily commutes. It ensures cost-effective, secure, and community-based transportation by allowing only verified university members to share rides.

License

Notifications You must be signed in to change notification settings

badhon-dalbot/campus-ride

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽ“๐Ÿš— CampusRide

CampusRide is a university-exclusive ride-sharing platform designed to connect students and staff for daily commutes. It ensures cost-effective, secure, and community-based transportation by allowing only verified university members to share rides.


๐Ÿ“ธ Demo

(To be added)

  • ๐Ÿ”— Live Demo
  • ๐Ÿ“ท Screenshots:

โœจ Key Features

  • ๐Ÿ” Search Rides: Easily find upcoming rides by time, route, or availability.
  • โœ๏ธ Post a Ride: Offer rides with route, date, seat count, and pricing.
  • ๐Ÿ”„ Real-Time Updates: Live tracking of rides and status updates.
  • ๐Ÿ‘ฅ User System: Profile, authentication, trust scores, and ratings.
  • ๐Ÿ’ฌ Built-in Chat: Communicate with drivers/passengers securely.
  • ๐Ÿ”” Notifications: Get alerts about requests, acceptances, cancellations, etc.
  • ๐Ÿงพ History Log: See your previous rides and interactions.

๐Ÿ› ๏ธ Tech Stack

Type Technology
Frontend React
Styling Tailwind CSS
Backend Node.js + Express
Database MySQL
Authentication JWT
Real-Time Socket.IO

๐Ÿš€ Getting Started

Prerequisites

Make sure you have installed:

  • Node.js โ‰ฅ 16
  • npm or yarn
  • MySQL (local or cloud)
  • Git

Installation

  1. Clone the repo
git clone https://github.com/badhon-dalbot/campus-ride.git
cd campus-ride
  1. Install dependencies
npm install
  1. Run the Application

Backend

npm start

Frontend (in a new terminal)

npm run dev

Visit http://localhost:5173 to use the app.


๐Ÿงช Testing

Coming soon!

โ“ FAQs

Q: Who can use CampusRide? A: Currently, only verified students from registered universities.

Q: Is CampusRide free? A: Yes, but ride providers may request a small fee for fuel.

Q: Can I cancel a ride request? A: Yes. Requests can be canceled until accepted.

Q: How is trust handled? A: Users can rate each other and report issues. Moderation tools are in progress.

๐Ÿž Known Issues

  • ๐Ÿšซ Ride map is currently static (in progress).

  • ๐Ÿ“ต No SMS or email notifications yet.

  • ๐Ÿ› Some mobile layouts need polish.

  • ๐Ÿ” No admin/moderator panel yet.

๐Ÿ”ฎ Future Plans

  • โœ… Admin dashboard for managing users and complaints

  • ๐Ÿ”„ Automated ride suggestions based on history

  • ๐Ÿ“ฒ Publish as native Android/iOS app

  • ๐Ÿง  ML for optimizing ride matches

  • ๐ŸŒ Community carpool expansion

๐Ÿค Contributing

Contributions are welcome!

Fork the repo

Create a feature branch

git checkout -b feature-xyz

Make changes and commit

git commit -m "Add feature xyz"

Push to GitHub and open PR

git push origin feature-xyz

Check CONTRIBUTING.md (to be added) for full guidelines.

๐Ÿ“„ License

This project is licensed under the MIT License. See LICENSE for more info.

โญ Show your support

If you like the project, consider giving it a โญ on GitHub!

Features

Driver Features

  • Driver Dashboard: View earnings, ratings, upcoming rides, and vehicle information
  • Offer Rides: Create new rides with a 3-step process:
    1. Basic ride details (from/to, date, time, seats, price)
    2. Map selection for pickup and dropoff points using Google Maps
    3. Review and confirmation
  • Ride Management: View and manage ride requests from riders
  • Earnings Tracking: Monitor daily and weekly earnings

Rider Features

  • Find Rides: Browse available rides with filters
  • Book Rides: Request rides from drivers
  • Chat: Communicate with drivers during rides
  • Payment: Manage payment methods and view payment history

API Endpoints

Ride Management

  • POST /api/rides - Create a new ride (drivers only)
  • GET /api/rides - Get all rides
  • GET /api/rides/available - Get available rides for booking
  • GET /api/rides/:id - Get specific ride details
  • POST /api/rides/requests - Create ride request (riders)
  • GET /api/rides/requests/:id - Get ride request details

Driver Dashboard

  • GET /api/driver/:id/dashboard - Get driver dashboard data
  • GET /api/driver/:id/ride-requests - Get pending ride requests
  • GET /api/driver/:id/accepted-rides - Get accepted rides
  • PATCH /api/ride-request/:id - Update ride request status

Database Schema

The application uses the following main tables:

  • users - User accounts (drivers and riders)
  • rides - Ride offerings from drivers
  • ride_requests - Booking requests from riders
  • ride_fares - Calculated fares for rides
  • vehicles - Driver vehicle information
  • ratings - User ratings and reviews

About

CampusRide is a university-exclusive ride-sharing platform designed to connect students and staff for daily commutes. It ensures cost-effective, secure, and community-based transportation by allowing only verified university members to share rides.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5