An open API service indexing awesome lists of open source software.

https://github.com/lakshayd02/full_stack_uber_clone

A fully functional Uber clone built using the MERN stack, which consists of MongoDB, Express.js, React, and Node.js. The application mimics the core functionalities of Uber, providing both a user and captain (driver) experience, including user registration, authentication, real-time location tracking, and ride booking.
https://github.com/lakshayd02/full_stack_uber_clone

express full-stack fullstack-development mern mern-project mern-stack mern-stack-development mongodb mongoose nodejs nodemon react reactjs uber-clone uber-clone-app

Last synced: about 2 months ago
JSON representation

A fully functional Uber clone built using the MERN stack, which consists of MongoDB, Express.js, React, and Node.js. The application mimics the core functionalities of Uber, providing both a user and captain (driver) experience, including user registration, authentication, real-time location tracking, and ride booking.

Awesome Lists containing this project

README

        

# πŸš— Full Stack Uber Clone πŸš–

## πŸ’‘ Description

This **Uber Clone** is a fully functional web application built using the **MERN stack** (MongoDB, Express.js, React, and Node.js). The application emulates the core features of the popular ride-hailing service Uber, providing an intuitive user experience for both **users** (passengers) and **captains** (drivers). It allows users to register, authenticate, book rides, track real-time locations, and manage profiles, while captains can receive ride requests and manage their rides.

With features like real-time location tracking, Google Maps integration, and a seamless booking system, this Uber clone delivers a high-quality ride-sharing service with all the essentials.

## πŸš€ Main Features

### **User Features:**
- **πŸ” User Registration & Login:** Secure authentication system allowing users to register, log in, and manage their personal profiles.
- **πŸ“ Real-Time Location Tracking:** Integrated with **Google Maps API** to track user and captain locations in real time, display route suggestions, and calculate ride distances/times.
- **πŸš— Ride Booking System:** Users can book rides by selecting pick-up and drop-off locations, view nearby captains, and track ride progress in real-time.
- **πŸ“Š User Dashboard:** Users have a home screen where they can manage their ride history, view ongoing rides, and update their profile.
- **πŸ”” Real-Time Notifications:** Users receive updates on ride status, including when a captain is on the way, the ride is complete, and other essential notifications.

### **Captain (Driver) Features:**
- **πŸ” Captain Authentication:** Separate login for captains to access the driver dashboard and manage ride requests.
- **πŸ—ΊοΈ Ride Management:** Captains can view and accept ride requests, track rides, and manage ride details, including start and end locations.
- **πŸ“ Location Tracking:** Captains' location is tracked in real-time, allowing users to see their availability for ride bookings.
- **πŸ“ Profile Management:** Captains can update their profiles, manage their ride history, and view past earnings.

### **Core System Features:**
- **🌍 Google Maps Location Search:** A location search feature powered by **Google Maps**, allowing both users and captains to search for destinations, view route suggestions, and determine estimated travel time.
- **βš™οΈ Ride Management Backend:** A comprehensive backend system that handles ride creation, management, and status updates for both users and captains.
- **πŸ“± Responsive UI:** The application is designed with **modern, responsive UI** to ensure a smooth and intuitive user experience across all devices.

## βš™οΈ Technologies Used

- **Frontend:**
- **React.js** (Dynamic, fast, and interactive user interface)
- **Google Maps API** (For location tracking and mapping features)

- **Backend:**
- **Node.js** (Server-side JavaScript runtime environment)
- **Express.js** (For API routing and middleware)
- **MongoDB** (NoSQL database for storing ride data, user information, and ride status)

- **Authentication:**
- **JWT (JSON Web Tokens)** (For secure user and captain authentication)

- **Real-Time Features:**
- **Socket.io** (For real-time updates and notifications between users and captains)

## 🏁 How to Run

1. **Clone the Repository:**
```bash
git clone

2. Install Dependencies:

- Backend: Navigate to the backend directory and install the required dependencies:

```
cd backend
npm install
```

- Frontend: Navigate to the frontend directory and install the required dependencies:
```
cd frontend
npm install
```

3. Set Up Environment Variables: Create an .env file in the root of the backend directory and add the necessary variables:

```
JWT_SECRET=
MONGO_URI=
GOOGLE_MAPS_API_KEY=
```

4. Run the Backend:

```
cd backend
npm run dev
```

5. Run the Frontend:

```
cd frontend
npm run dev
```

- Access the Application: Open your browser and go to http://localhost:3000 to start using the Uber Clone platform.

## 🎯 Ideal For

- πŸš– Ride-Hailing Services: Easily set up your own ride-hailing platform with this clone, using core features similar to Uber.
- πŸ§‘β€πŸ’» Developers: A great project for developers looking to build a full-stack ride-booking platform with real-time tracking.
- 🌍 Entrepreneurs & Startups: Quickly deploy a fully functional Uber-like platform for your own local ride-sharing service.