CoRide

Car Pooling Application

Car pooling, also known as car sharing, is a transportation strategy where multiple individuals share a vehicle to travel together to a common destination. The theory behind car pooling is to reduce the number of cars on the road, ease traffic congestion, and lower carbon emissions.

The idea of car pooling is rooted in the concept of sharing resources. By sharing a car, the costs associated with owning and maintaining a vehicle are spread among several people, reducing the financial burden on individual drivers.

In a carpooling app, the 'Rider' and 'Driver' roles are the two primary roles that users can assume. The rider is the person who is seeking a ride, while the driver is the person who is offering a ride.

img

Roles

  • Driver
  • The driver's role is to offer rides to riders who are seeking transportation. Drivers must create a profile within the carpooling app, specifying their vehicle type, pickup location, and desired route. Drivers can view ride requests and accept or decline them based on their availability and preference. Once a ride request is accepted, drivers must communicate with the rider, pick them up at the specified location, and transport them to the requested destination.

    After the ride, drivers can rate the rider and receive payment for the ride, which is typically handled within the app.

  • Rider
  • The rider's role is to search for available rides within the app, select a driver, and request a ride. The rider must provide details such as pickup location, drop-off location, and the number of passengers. Once a driver accepts the ride request, the rider can proceed with the payment and rate the driver after the ride is completed.'Stripe Library' is used for completing the payment and updating the status in the data base.

User Requirements/Flow

Driver

  • An user can sign up as a Driver
  • An user can post rides as per his/her date and time and routes he/she wants to go
  • The driver gets options to accept/reject riders

Rider

  • A rider can search for rides
  • A rider can post their Origin , Destination , Date&Time of Pickup
  • Once approved , rider will get an option to Pay
  • Payment Page will be provided for the rider to enter Payment Details

Ride Matching

  • Google Maps Directions API: This API allows developers to programmatically retrieve directions between two or more locations. While it doesn't explicitly offer ride matching functionality, it could potentially be used as part of a larger ride matching system to calculate routes and travel times.
  • Google Places API: This API provides information about places, such as their name, address, and type. It could potentially be used to find nearby pickup and dropoff points for rides, or to search for places of interest along a route.
  • Google Distance Matrix API: This API provides travel distance and time estimates between multiple origins and destinations. It could potentially be used to calculate the distance and estimated travel time between riders and drivers, as part of a ride matching algorithm.
  • Payment Page will be provided for the rider to enter Payment Details

The carpool driver-rider flow typically involves the following steps:

Driver creates a carpool: The driver initiates the carpool by creating a ride request on a carpooling platform or by reaching out to their co-workers, friends, or neighbors who might be interested in sharing a ride.

Rider joins the carpool: Interested riders respond to the carpool request by accepting the ride or expressing their interest in joining the carpool.

Pre-trip communication: The driver and the riders communicate with each other to finalize the pick-up and drop-off locations, timing, and any other details relevant to the ride.

Pick-up: The driver picks up the riders at the agreed-upon location and time. In some cases, the driver might pick up riders from different locations.

Ride: The driver drives the riders to the destination, which could be a workplace, school, or any other location.

Drop-off: The driver drops off the riders at their respective destinations.

Post-trip communication: The driver and the riders might communicate with each other after the ride to provide feedback

Steps to run the project

  1. Server
    • cd backend
    • run npm install
    • node server.js
  2. Client
    • cd carpool.js
    • run npm install
    • npm start