[Spring Boot][Java 17][PostgreSQL][Hibernate][Spring Security]
01 Context & Problem
Retail shops often rely on manual tracking or disconnected spreadsheets, leading to stock discrepancies and employee theft.
02 Architecture & Design
[ Initializing Diagram... ]
Designed a centralized RESTful API to manage inventory state, track employee actions, and automate stock alerts. Enforces data integrity through a relational schema.
03 Key Technical Decisions
- Decision: Used Relational Database (PostgreSQL) strictly for ACID compliance on inventory transactions.
- Decision: Spring Security implementation for granular role management (Admin vs Employee).
- Decision: DTO Pattern used to decouple internal entities from API contracts.
04 Challenges & Resolutions
! Warning: N+1 Query Problem: Solved using Fetch Joins in JPA repositories.
! Warning: Concurrency: Implemented optimistic locking to prevent stock count race conditions.
! Warning: Scalability: Designed schema to support future multi-branch expansion.