Skip to content

Sumair555/ride-share-application

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Shaik Sumair Ride Share

Table of Contents


Abstract

This project is a backend system for a ride-sharing platform that enables users to book rides, register as drivers, and manage ride details. It is built using Node.js, Express.js, and MongoDB, following a structured MVC (Model-View-Controller) architecture. The system ensures seamless ride-sharing experiences, secure authentication, and efficient database management.

Ride-sharing applications help reduce traffic congestion, lower transportation costs, and promote eco-friendly commuting. This backend system provides a secure and scalable platform for managing user authentication, ride creation, driver registrations, and booking functionalities.


Project Structure-ride-share/

├── Backend/ │ ├── config.js # Configuration settings │ ├── package.json # Dependencies and project metadata │ ├── server.js # Main server entry point │ ├── .env # Environment variables │ ├── Controllers/ # Handles business logic │ │ ├── Driver-Controllers.js │ │ ├── Ride-controllers.js │ │ └── User-Controllers.js │ ├── Middlewares/ # Middleware for authentication & validation │ │ └── User-middleware.js │ ├── Routes/ # API endpoints │ │ ├── Driver-routes.js │ │ ├── Ride-routes.js │ │ └── User-Routes.js │ ├── models/ # Database models │ │ ├── Driver.js │ │ ├── Ride.js │ │ └── User.js


Objective

The main goals of this project are:

  • 🚗 Enable ride booking for users.
  • 👨‍✈️ Allow drivers to register and manage rides.
  • 🔍 Provide a structured and scalable backend.
  • 🔐 Ensure security and authentication.
  • 🌎 Promote carpooling and sustainable commuting.

Features

  • 🔑 User Authentication: Secure login and registration using JWT authentication.
  • 🚖 Driver Registration: Drivers can register, update ride details, and manage their rides.
  • 📍 Ride Management: Users can view available rides, book a ride, or cancel a booking.
  • 📊 Database Storage: MongoDB stores all user, driver, and ride data securely.
  • 🔎 REST API Endpoints: Fully functional API for easy integration with frontend applications.

Technologies Used

  • Node.js (Backend framework)
  • Express.js (Routing and middleware management)
  • MongoDB (Database for storing ride/user/driver details)
  • JWT (JSON Web Token) (User authentication)
  • Dotenv (Environment variable management)

Prerequisites

Ensure you have the following installed:

  • Node.js (v14 or later)
  • MongoDB (local or cloud database)
  • Postman (for API testing, optional)

Installation Guide

1️⃣ Clone the Repository


2️⃣ Install Dependencies bash CopyEdit npm install

3️⃣ Set up Environment Variables Create a .env file in the Backend/ folder and add: plaintext CopyEdit MONGO_URI=your_mongodb_connection_string PORT=5000 JWT_SECRET=your_secret_key

How to Run Start the server: bash CopyEdit npm start

Your backend should now be running on http://localhost:3000/.


API Endpoints 🔹 User Routes POST /api/user/register → Register a new user POST /api/user/login → Authenticate user login 🔹 Driver Routes POST /api/driver/register → Register as a driver GET /api/driver/rides → View all available rides 🔹 Ride Routes POST /api/ride/create → Create a new ride GET /api/ride/all → Get all rides POST /api/ride/book/:id → Book a ride


Future Enhancements 📱 Mobile App Integration: Connect the backend with mobile apps for easy ride access. 📍 Live Tracking: Implement Google Maps API to track ride locations. 🤖 AI-based Recommendations: Suggest the best ride options based on user history. 💳 Payment Integration: Add payment gateways for seamless transactions.


Contribution Feel free to fork this repository, raise issues, or submit pull requests to improve the project.

About

This project is a backend system for a ride-sharing platform that enables users to book rides, register as drivers, and manage ride details.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors