Sales Inventory System
Spring Boot application for managing sales, inventory, expenses, and generating business reports.
Overview
A comprehensive business management application featuring point of sale, inventory tracking, expense management, and reporting capabilities. Built with modern Java technologies and designed for real-world business use.
Role
Lead Programmer — School team project
- Me: Lead Programmer — core backend development, database design, POS logic
- Project Manager/Leader: Planning, coordination, and stakeholder communication
- Testers (2): QA testing, bug reporting, and validation
- Documentation Team: User manuals and technical documentation
- UI/UX Designer: Interface design and user experience
Technologies
- Java 17, Spring Boot 3.0.0
- Spring Security, Spring Data JPA / Hibernate
- Thymeleaf templates
- H2 (dev) / MySQL (prod)
- Lombok, Apache POI, Barcode4J
- Docker support
Repository
GitHub: sales-inventory-system
Screenshot

Features
- Point of Sale (POS): Sales terminal with cart, discounts, and receipt printing
- Inventory Management: Track stock levels, import/export via Excel
- Returns & Restocking: Dedicated terminals for returns and restocking
- Expense Tracking: Categorize and manage operating expenses
- Reports: Summary, financials, sales-over-time, ABC analysis, inventory reports
- Barcode Support: Auto-generate UPC-EAN barcodes for items
Tech Stack Details
- Backend: Spring Boot 3.0.0 with Java 17
- Security: Spring Security for authentication
- Database: JPA/Hibernate with H2 (dev) and MySQL (prod)
- Frontend: Thymeleaf templates
- Reporting: Apache POI for Excel export
- Barcodes: Barcode4J for barcode generation
Quick Start
# Build
./mvnw clean package
# Run
./mvnw spring-boot:runAccess at: http://localhost:8080
Docker Support
docker-compose up --buildProject Structure
Organized with clear separation of concerns:
security/- Spring Security configurationuser/- User and role managementwebpages/admin/- Admin panel and sample datawebpages/dashboard/- Dashboard views and APIwebpages/records/- Core CRUD operationswebpages/reports/- Reporting functionalitywebpages/terminals/- POS terminals