Coder Social home page Coder Social logo

chinmay-395 / ride-hailing Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 6.56 MB

A realtime ride-hailing application build in Django and Reactjs in a Test-Driven-Development fashion

Python 47.57% HTML 0.52% JavaScript 50.73% CSS 0.35% Dockerfile 0.83%

ride-hailing's Introduction

Ride Pulse (Uber Clone)

Demo

The-Uber-Clone.mp4

Overview

This project is a full-stack ride-hailing application designed to simulate a real-world scenario where users can hail rides and track their routes in real-time. It encompasses a wide range of technologies and methodologies, focusing on real-time communication, authentication, and front-end interactivity. The application is built using Django, Django REST Framework, and Django Channels on the back end, with ReactJS for the front end. It features a RESTful API, token-based authentication with JWTs, real-time data updates via WebSockets, and integration with the Google Maps API.

Features

  • RESTful API Development: Utilized Django REST Framework to create scalable and secure API endpoints.
  • Real-Time Communication: Implemented Django Channels and WebSockets to push updates to the client in real-time, enhancing the user experience with live data.
  • Authentication: Integrated token-based authentication using JSON Web Tokens (JWT) to secure the application.
  • Front-End Development: Built a dynamic single-page application (SPA) with ReactJS, utilizing functional components and React Hooks.
  • Google Maps Integration: Incorporated the Google Maps API to display ride routes, enabling users to track their hailing rides visually.
  • Test-Driven Development: Ensured code reliability and functionality with test-driven development using pytest for the backend and Cypress for front-end testing.
  • Dockerization: Containerized the entire application using Docker to streamline deployment and ensure environment consistency.
  • UI/UX Design: Enhanced the user interface with Bootstrap for a polished look and feel, and added toast notifications for an interactive user experience.

Technologies

  • Backend: Django, Django REST Framework, Django Channels, Redis
  • Frontend: ReactJS, Bootstrap, Google Maps API, formiks, RxJS
  • Testing: pytest, Cypress
  • Authentication: JWT
  • Real-Time Communication: WebSockets
  • Deployment: Docker

Getting Started

Prerequisites

  • Docker and Docker Compose
  • Node.js and npm

Installation

  1. Clone the repository: git clone https://github.com/yourusername/ride-hailing-app.git
  2. Navigate to the project directory and run Docker Compose to build the services:
cd ride-hailing-app
docker-compose up --build

Usage

After successfully running the Docker containers, the application will be accessible at http://localhost:3000 for the React frontend and http://localhost:8000 for the Django backend API.

Testing

To run the backend tests, execute the following command:

docker-compose run web pytest
For front-end tests with Cypress:

For front-end tests with Cypress:

cd frontend
npm run test

ride-hailing's People

Contributors

chinmay-395 avatar

Stargazers

 avatar SchultzCG avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.