Skip to content

πŸš• This is a ride-hailing application that connects passengers with drivers, offering services similar to Uber. The app allows users to request rides, track drivers in real-time, and make payments, while providing drivers with a platform to accept ride requests and manage their profiles.

License

Notifications You must be signed in to change notification settings

WizardOfDigits/Uber_Like_App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

57 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Ride-Sharing Application (Uber-like)

A full-stack ride-sharing application with real-time ride tracking, driver-user matching, fare calculation, and authentication. Built with MERN stack (MongoDB, Express, React, Node.js) and Socket.IO for real-time communication.


πŸ“‘ Table of Contents

  1. πŸ“Έ UI Screenshots
  2. ✨ Key Features
  3. πŸ› οΈ Installation
  4. πŸš€ Usage
  5. πŸ”’ Protected Routes
  6. 🌐 Real-Time Features
  7. πŸ› οΈ Technologies Used
  8. πŸ“„ License

UI Screenshots

User Login User Signup Ride Booking
Login Signup Booking
Active Ride (User) Driver Home Driver Ride Panel
Riding Driver Home Driver Riding

✨ Key Features

User Features

  • βœ… User registration/login/logout
  • πŸ“ Address autocomplete suggestions
  • πŸš— Ride booking with fare estimation
  • πŸ—ΊοΈ Real-time ride tracking
  • πŸ”’ Protected routes with JWT authentication

Driver Features

  • βœ… Driver registration/login/logout
  • πŸ“ Real-time location sharing (every 10 seconds)
  • πŸ”” Ride request notifications
  • πŸ›£οΈ Ride confirmation/start/end workflows
  • πŸ’΅ Fare calculation based on distance

πŸ› οΈ Installation

Backend Setup

  1. Clone repo:

    git clone https://github.com/WizardOfDigits/Uber_Like_App.git
  2. Create .env file:

    # Backend env
     PORT=<your port>
     DB_CONNECT=<mongodb:url>
     JWT_SECRET=<JWT_SECRET_KEY>
     MAPS_API=<Map api / or other map api>
    
    # frontend env
     VITE_BASE_URL=<Base Url>
     VITE_MAP_API_URL=<Enter Map API URL here>
    

πŸš€ Usage

User Flow

  1. Sign Up/Login at /login
  2. Enter pickup/destination addresses
  3. Select vehicle type (Auto/Car/Motorcycle)
  4. Confirm fare and request ride
  5. Track driver in real-time

Driver Flow

  1. Sign Up/Login at /driver-login
  2. Receive ride requests via Socket.IO
  3. Confirm/Reject rides
  4. Start/End rides with OTP verification
  5. Update location automatically

πŸ”’ Protected Routes

User Protection

// Usage in React Router
<Route element={<UserProtectWrapper />}>
  <Route path="/home" element={<Home />} />
  <Route path="/riding" element={<Riding />} />
</Route>

Driver Protection

<Route element={<DriverProtectWrapper />}>
  <Route path="/driver-home" element={<DriverHome />} />
  <Route path="/driver-riding" element={<DriverRiding />} />
</Route>

🌐 Real-Time Features

  • Socket.IO Events:

    // User receives updates
    socket.on("ride-confirmed", (ride) => {...});
    socket.on("ride-started", (ride) => {...});
    
    // Driver receives requests
    socket.on("new-ride", (data) => {...});

πŸ› οΈ Technologies Used

  • Frontend: React, GSAP (animations), Socket.IO Client
  • Backend: Express.js, MongoDB, Mongoose, JWT
  • Mapping: Google Maps API
  • Real-Time: Socket.IO

πŸ“„ License

MIT License - see LICENSE for details.

About

πŸš• This is a ride-hailing application that connects passengers with drivers, offering services similar to Uber. The app allows users to request rides, track drivers in real-time, and make payments, while providing drivers with a platform to accept ride requests and manage their profiles.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages