POS System For retail buseness

Streamlined Inventory, Sales & Reporting for Modern Retail

Project Context & Goals

This standalone Point-of-Sale system grew out of my Unit 20 Applied Programming & Design Principles project. The brief was to replace manual registers in a small electronics shop with software that could move thousands of daily transactions, stock movements and customer-loyalty updates into a single, responsive application. Real-time SQL queries and Java data models ensure that even very large tables—for products, transactions and customers—load and update instantly, eliminating the lags that plague spreadsheet-based setups .

Core Modules & User Roles

At runtime the program branches into cashier and admin work-flows. Cashiers get a lightning-fast sales screen with dynamic totals and barcode search, while administrators manage inventory levels, users and analytics from their own dashboard. Role segregation not only simplifies each user’s experience but also locks sensitive operations (like price edits) behind admin credentials, protecting data integrity.

Technology Stack & Development Tools

The system is written in Java 17 and Swing, compiled and debugged inside NetBeans IDE; all data lives in a MySQL schema hosted on XAMPP, linked through JDBC prepared statements for speed and SQL-injection safety. Automated quality gates run in Testmo, covering unit, integration and full system scenarios before every build, which slashes manual regression time and keeps delivery cycles tight.

User-Centric Interface Design

Every screen—Welcome, Login, Cashier Home, Admin Dashboard and the nine management pages—follows a consistent visual grammar: centred layouts, colour-coded action buttons and JTable components that sort and filter at 60 fps. Decisions such as greeting the user by time of day or exposing low-stock alerts inline were guided by usability heuristics to keep cognitive load low even when datasets soar.

Engineering for Scalability & Maintainability

The codebase applies all five SOLID principles. Separate classes handle products, transactions, database connections and UI logic, so a new payment gateway or discount rule can be added by extension rather than modification. Patterns such as Factory (object creation), Facade (database helpers) and Observer (UI refresh) further tame complexity, paving the way for future modules like barcode scanning or e-receipts without ripple effects.

Quality Assurance Pipeline

Beyond the happy path, a multilayered testing strategy stresses the system under peak loads and hostile input. Automated suites in Testmo verify that adding stock updates inventory counts, that negative prices are rejected, and that sales transactions cascade correctly into daily summaries. Performance scripts in JMeter and security sweeps in OWASP ZAP round out the pipeline, ensuring the release build is fast, stable and secure before it ever reaches a cashier’s hands .

These foundations clear goals, modular roles, a proven stack, disciplined design and relentless testing—define the POS System’s introduction and set the stage for the deeper feature tour that follows on the webpage.

Key Features

Core Retail Functions

  • Fast Checkout Workflow

    Single‑screen cashier module with dynamic totals, discount handling and receipt generation.

  • Real‑Time Inventory Management

    Automatic stock adjustments after each sale and low‑stock alerts to keep shelves replenished.

  • Role‑Based Access

    Separate admin and cashier dashboards ensure the right tools are in the right hands.

  • Comprehensive Reporting

    Daily, monthly or yearly sales summaries with on‑screen filtering and export options.

Security & Reliability

  • Secure Authentication

    Encrypted credential storage and input validation prevent unauthorized access.

  • MySQL + JDBC Backbone

    Stable, high‑performance database layer hosted on XAMPP for speedy queries.

  • Automated Test Suite

    Unit, integration and performance tests executed via Testmo for continuous quality assurance.

  • Scalable Architecture

    SOLID & design‑pattern‑driven codebase ready for new payment methods, customer loyalty and more.

App Screenshots

Watch the System

Download My Resume

Interested in working with me? Get a copy of my latest resume below.

Download Resume (PDF)

Contact

Email: rakindufernando@gmail.com

Phone: 0712009223/0722009223

LinkedIn: linkedin.com/in/rakindu-fernando-78a665233

Location: Sri Lanka