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

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:run

Access at: http://localhost:8080

Docker Support

docker-compose up --build

Project Structure

Organized with clear separation of concerns:

  • security/ - Spring Security configuration
  • user/ - User and role management
  • webpages/admin/ - Admin panel and sample data
  • webpages/dashboard/ - Dashboard views and API
  • webpages/records/ - Core CRUD operations
  • webpages/reports/ - Reporting functionality
  • webpages/terminals/ - POS terminals