Back to Projects

Park & Ride Simulator

Java
Spring Boot
Microservices
Docker
React

A cloud-native microservices application to simulate and manage city parking networks.

Screenshot of Park & Ride Simulator

Park & Ride Simulator (PRR)

Core Goal: Reduce urban traffic congestion and CO2 emissions by encouraging drivers to park at peripheral hubs and switch to public transport.

This project is a technical showcase of Distributed Systems, Microservices Architecture, and Full-Stack Development.


🏗️ Technical Architecture

The system is built on the Spring Cloud Ecosystem (Java 21), orchestrated via Docker.

  • Service Registry: Netflix Eureka.
  • Gateway: Spring Cloud Gateway.
  • Communication: OpenFeign (REST).
  • Database: PostgreSQL (Containerized).

🚦 Phase 1: Onboarding (The Driver)

1. Registration & Identity

The system employs a secure JWT-based authentication flow. Users first create an account and then register their vehicles (license plates) to their profile.

<div className="grid grid-cols-1 md:grid-cols-2 gap-4"> <img src="/projects/prr-simulator/register.png" alt="User Registration" className="rounded-lg border border-white/10" /> <img src="/projects/prr-simulator/register_car.png" alt="Vehicle Registration" className="rounded-lg border border-white/10" /> </div>

2. Authentication

Once registered, users log in to access the system. The API Gateway handles the routing and validation of credentials.

Login Screen

3. User Profile

Users can manage their fleet, view personal details, and verify their role status (User vs Operator vs Admin) from their profile page.

User Profile


🅿️ Phase 2: The Core Experience

1. Real-Time Dashboard

Upon logging in, the user is greeted by a live dashboard showing the capacity of all peripheral parks. Green indicates available spots; Red indicates full capacity.

User Dashboard

2. Simulation Engine (Check-In)

This is the heart of the simulator. A user selects a park and initiates a parking session ("Check In"). The Sessions Microservice begins tracking the duration in real-time.

Parking Simulation

3. Smart Billing (Check-Out)

When the user "Checks Out", the Tariffs Microservice calculates the cost based on the exact duration and vehicle type, generating an instant digital invoice.

<div className="grid grid-cols-1 md:grid-cols-2 gap-4"> <img src="/projects/prr-simulator/payment.gif" alt="Payment Animation" className="rounded-lg border border-white/10" /> <img src="/projects/prr-simulator/payment.png" alt="Invoice Receipt" className="rounded-lg border border-white/10" /> </div>

👮‍♂️ Phase 3: Operational Control

1. Operator Dashboard

Operators have a privileged view of the network. They can monitor real-time occupancy and manually Close or Open parks for maintenance or emergencies.

Operator Dashboard

2. Operator Registration

The system supports distinct role onboarding. New operators can be registered with specific permissions to manage the infrastructure.

Operator Registration


📊 Phase 4: Administrative Intelligence

Cost Copilot Analytics

Administrators have access to high-level metrics. The Analytics Microservice aggregates data from all other services to visualize total revenue, network health, and usage trends.

Admin Dashboard

Project Links