Skip to content

atsin6/uberApp

Repository files navigation

🚗 Uber Clone Backend — Java Spring Boot

📘 Project Overview

This project, “Development of an Uber Clone Backend using Java Spring Boot”, is a backend system built to replicate core functionalities of ride-hailing applications like Uber. The primary goal is to design and implement a robust backend architecture that supports secure authentication, fare calculation, wallet-based payments, and ride management.

This project was developed as part of my BCA final year major project at Amrita Vishwa Vidyapeetham.


🧩 Key Features

  • User Authentication & Authorization

    • Implemented secure login and registration using JWT (JSON Web Token) and Spring Security.
    • Public access to /auth/** routes while securing other endpoints.
  • Ride Management

    • APIs for creating, assigning, and completing rides.
    • Distance and fare calculation integrated with OSRM (Open Source Routing Machine) API.
  • Dynamic Fare Calculation

    • Different fare strategies based on distance and time.
    • Automatically calculates the total ride fare.
  • Wallet System

    • Automatic deduction from the user’s wallet upon ride completion.
    • Real-time balance updates and transaction history.
  • Testing & Validation

    • JUnit and Postman used for unit and API testing.
    • Maven used for build and dependency management.

🏗️ System Design

🧠 Low-Level Design (LLD)

LLD Diagram

🗃️ Unifed Modeling Language (UML) Diagram

UML Diagram

🗃️AWS Architecture Flowchart

AWS Architecture Flowchart


🎥 Demo Video

Watch the project in action here:
▶️ Demo Video


📄 College Final Report

You can view or download the final project report here:
Final Project Report (Word Document)


⚙️ Tech Stack

Layer Technology
Backend Framework Spring Boot (Java 17, Corretto)
Security Spring Security, JWT
Database AWS RDS (PostgreSQL with PostGIS extension)
Deployment & Scaling AWS Elastic Beanstalk
CI/CD AWS CodePipeline
Build Tool Maven
API Testing Postman
Others OSRM API

🚀 Future Enhancements

  • Develop a frontend for the system.
  • Integrate OAuth2 for secure third-party authentication.

👨‍💻 Author

Atul Pal
LinkedIn: atulpal2200


⚠️ Current Deployment Status

This project was previously deployed for demonstration purposes but is not deployed currently due to cost considerations (AWS usage).
It is intended for academic and learning purposes only.

About

Backend system for a ride-hailing app implementing user authentication, ride management, fare calculation, and wallet-based payments. Built with Java Spring Boot, Maven, and AWS services. Intended for academic and learning purposes.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages