You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A full-stack web application for managing inventory, orders, customers, and products across multiple store locations. Built with Spring Boot 3.2, React 18, and PostgreSQL.
Features
JWT Authentication — Secure login/registration with token-based sessions and BCrypt password hashing.
Role-Based Access Control — ADMIN users can create, update, and delete stores/products/orders. USER role has read-only access.
Multi-Store Inventory — Separate stock levels per store. A single product can exist in multiple branches with independent quantities.
Order Processing — Create orders with multiple items. Stock is automatically deducted using @Transactional to ensure atomicity.
PDF Invoice Generation — One-click download of professional invoices with customer details and itemized totals.
Product Management — Full CRUD for products with category, SKU, and pricing.
Customer Management — Track customer information and link to orders.
Real-Time Stock Tracking — Inventory audit log records every stock movement (deductions, restocks, transfers).
Responsive UI — Dark/Light mode toggle, mobile-friendly sidebar, modern design with shadcn/ui.
RESTful API — Paginated endpoints with sorting, filtering, and proper HTTP status codes.
Tech Stack
Backend
Technology
Purpose
Java 17
Core language
Spring Boot 3.2
Framework
Spring Security + JWT
Authentication & Authorization
Spring Data JPA
ORM for database interaction
PostgreSQL 17
Relational database
Maven
Dependency management
Lombok
Reduces boilerplate code
Frontend
Technology
Purpose
React 18
UI library
TypeScript 5
Type-safe JavaScript
Tailwind CSS
Utility-first styling
shadcn/ui
Reusable component library
React Router v6
Client-side routing
React Hook Form + Zod
Form handling & validation
@react-pdf/renderer
PDF invoice generation
Axios
HTTP client with JWT interceptors
Vite
Build tool
DevOps
Technology
Purpose
Docker
Containerization
Docker Compose
Multi-service orchestration
Database Schema
The system uses 7 interconnected tables:
users — Authentication and role management
stores — Store locations (name, address, city, phone, email)