Hardware store: inventory and sales
Inventory and sales for a hardware store, deployed locally, with a REST API in Java 17 and Spring Boot, SQL Server and an Angular interface.

The problem
The business needed to control its stock and sales without depending on external services.
What I built
A Spring Boot REST API on SQL Server with normalized schemas and an Angular SPA, deployed locally.
Outcome
A local inventory and sales system with no dependency on external services.
Decisions that mattered
- 01
Real-time stock
Every entry and exit updates stock instantly, and movement reports explain where each figure comes from.
- 02
Role-based access
Check-in and check-out with JWT authentication and role-based access control (RBAC).
- 03
Tidy data
Normalized SQL Server schemas keep products, movements and users consistent.
Technologies
- Java 17
- Spring Boot
- SQL Server
- Angular
- JWT
C4 model. The pulsing line is the main path of a request.
Level 1 · who uses the system and what it connects to
Level 2 · the applications and data stores it is made of
Level 3 · the components inside the API
- Person
- System
- Container
- Database
- Main path
- 01Checkout
- 02Angular
- 03Spring Boot REST API
- 04SQL Server