FH.
ES
Case study

Project dossier

Auto Shop Management

Functional demo

Work orders, customers, and shop tracking within one coherent structure.

Stack

  • Java
  • Spring Boot
  • Oracle
updated 2026-08-04

Engineering and architecture

Auto Shop Management digitizes the operations of a small-to-medium auto repair shop: customers, vehicles, repair orders with their line items and prices, appointment scheduling, and a public portal so customers can track their repair without calling or needing an account. It's a personal portfolio project, and every screen in this dossier comes from the real application running against an Oracle database — not a mockup.

Versioned schema migrations with Flyway

The database schema is managed with Flyway: a versioned baseline of the 8 tables, plus migrations that normalize legacy data and enforce NOT NULL constraints. The ORM no longer generates the schema on every startup — Flyway applies it reproducibly, and Hibernate only validates that the entities match what's been applied.

Other decisions

  • Backend audit and hardening: JOIN FETCH to eliminate N+1 queries in listings, fail-fast credentials instead of weak defaults, Docker running as a non-root user with a healthcheck, test coverage expanded with JaCoCo.
  • Public tracking portal, no login required: every order gets a unique UUID link so the customer can see the status, the estimate, and download the PDF without needing an account.
  • Roles enforced on the server, not just the UI: admins have full access; mechanics have everything except deleting records and managing prices/users.

No public demo

The project is documented through screenshots and this dossier; there's no publicly deployed instance.

Fictional data

The data shown in the screenshots — customers, vehicles, plate numbers, and amounts — is fictional and used solely for demonstration purposes.

Screenshots

Shop dashboard with vehicles grouped by status and monthly billing totals
Shop operations dashboard, with vehicle status and monthly billing
Repair order list with status filters and a search bar by plate number
Repair order list, filterable by status and vehicle type
Detail panel for a repair order showing its states, line items, and total price
Order detail view, with the estimate, line items, and a tracking link for the customer
Weekly view of appointments organized by day, with their status
Weekly appointment schedule, with confirmation status
Vehicle record with technical details and its associated appointment and repair history
Vehicle record, with its details and repair and appointment history