Technical overviewFull-stack application architecture

ShiftLane

An authenticated marketplace connecting a React interface to a layered Java API.

Role
Solo developer across React, Spring Boot, security, relational data, containers, and cloud deployment
Evidence status
Architecture reviewed from source; historical deployment documented; current runtime not reverified
Verified
2026-07-23

01

Purpose and scope

ShiftLane is a peer-to-peer car marketplace where users create accounts, manage vehicle listings, buy from other users, and administer inventory. React handles the customer workflow while a Spring Boot API applies authentication, business rules, and relational persistence.

What it is used for

  • Create an account and authenticate before accessing marketplace operations.
  • Add, update, list, unlist, buy, and remove vehicles tied to user ownership.
  • Give administrators visibility into users and listed inventory.
  • React
  • Spring Boot
  • Java
  • MySQL
  • JWT
  • Docker

02

Architecture

User interface

Frontend

React SPA

Login, marketplace, inventory, and admin routes

HTTP client

Axios client

Attaches bearer tokens and maps API operations

HTTPS · JWT

API and security

Security boundary

Spring Security

RSA JWT validation, BCrypt, roles, and CORS

API

REST controllers

Accounts, cars, listings, purchases, and funds

Delegates

Domain and persistence

Business logic

Domain services

Ownership, listing, purchase, and account rules

Data access

JPA repositories

Entity mapping and relational queries

Database

MySQL

Users, roles, balances, vehicles, and ownership

Packaged in

Deployment boundary

Orchestration

Docker Compose

Frontend, API, and MySQL on one network

Cloud

Cloud VM

Historical GCP and Azure deployments

Text equivalent: The React application sends authenticated requests to a stateless Spring Boot API. Spring Security validates JWTs before controllers delegate marketplace rules to services and JPA repositories. MySQL stores users and vehicles, while Docker Compose connects the frontend, API, and database for deployment.

03

Engineering decisions

Stateless token boundary

Spring Security validates RSA-backed JWTs and BCrypt protects stored passwords, keeping API authorization independent of server sessions.

Layered domain logic

Controllers delegate ownership, account, and vehicle operations to services and JPA repositories rather than coupling HTTP handlers directly to the database.

One reproducible stack

Docker Compose connects the React client, Java API, and MySQL database on one network for local and VM-based deployment.

04

Verification evidence

  • Source inspection confirmed React API calls for authentication, vehicle CRUD, listing, purchase, account funds, and administration.
  • The backend contains controller, service, repository, entity, security, and persistence layers.
  • The repository documents historical Docker Compose deployment on Google Cloud and a later Azure deployment.
  • Repository screenshots preserve the home, login, and earlier interface states.
verified-2026-07-23
$ React client -> authenticated API request
Spring Security -> JWT validation
Controller -> service -> JPA repository
Docker Compose: frontend + API + MySQL
△ current deployment not reverified

05

Demonstrated workflow

06

Limitations

Next step

Discuss the engineering behind this work.