Skip to content

raaam21/Uber-Clone-Using-FASTAPI

Repository files navigation

Uber Clone App

Overview

This is an Uber Clone project that aims to replicate the core functionality of the Uber ride-sharing app. The project is divided into two main components: a backend API built using FastAPI and a frontend application developed with React. This README.md file provides an overview of the project, instructions for setting up and running both the backend and frontend components, and other important information for developers and contributors.

Features

  • User registration and authentication.
  • User and driver profiles.
  • Booking and tracking rides.
  • Real-time location tracking.
  • Payment processing.

Prerequisites

Before getting started with this project, ensure you have the following prerequisites installed on your system:

Installation

Backend Setup

  1. Clone the repository:

    git clone https://github.com/your-username/uber-clone.git
    cd uber-clone/backend
  2. Create a virtual environment (optional but recommended):

    python -m venv venv
    source venv/bin/activate  # On Windows, use `venv\Scripts\activate`
  3. Install Python dependencies:

    pip install -r requirements.txt
  4. Create a .env file in the backend directory and configure the following environment variables:

    DATABASE_URL=postgresql://username:password@localhost/uber_clone
    SECRET_KEY=your_secret_key
    

    Replace username, password, and your_secret_key with your own values.

  5. Initialize the database:

    alembic upgrade head
  6. Start the FastAPI server:

    uvicorn main:app --reload

Frontend Setup

  1. Open a new terminal window and navigate to the frontend directory of the project:

    cd uber-clone/frontend
  2. Install frontend dependencies:

    npm install

Usage

Backend API

  • The FastAPI backend will be accessible at http://localhost:8000.

  • Access the FastAPI Swagger documentation at http://localhost:8000/docs for API reference.

Frontend Application

  1. Start the React development server:

    npm start
  2. The React frontend will be accessible at http://localhost:3000.

Contributing

If you'd like to contribute to this project, please follow these guidelines:

  1. Fork the repository on GitHub.

  2. Clone your fork locally:

    git clone https://github.com/your-username/uber-clone.git
  3. Create a new branch for your feature or bug fix:

    git checkout -b feature/your-feature-name
  4. Make your changes and commit them with descriptive commit messages.

  5. Push your changes to your GitHub fork:

    git push origin feature/your-feature-name
  6. Create a pull request on the original repository with a clear description of your changes.

  7. Your pull request will be reviewed by project maintainers.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Special thanks to the FastAPI and React communities for their fantastic tools and resources.

Happy coding! 🚗🚀

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages