Skip to content

Point of Sale (POS) desktop application built with Java Swing and MySQL. Supports inventory management, product cataloging, order processing, and multi-role access for managers and sales staff.

Notifications You must be signed in to change notification settings

HossamSaberr/POS-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

POS System

This is a Point of Sale (POS) system developed using Java Swing for the frontend and MySQL for data management. It provides a complete workflow for managing retail operations, including inventory tracking, sales processing, and analytics.

Main Features

Manager Operations

Manager accounts have full control over the store's data:

  • Inventory Management: Full CRUD operations for products and categories.
  • Stock Monitoring: Automatic tracking of inventory levels with custom alert thresholds.
  • Expiration Tracking: System filters and alerts for products past their shelf life.
  • Sales Analytics: Visual dashboard showing revenue, order counts, top-selling products, and general trends.
  • System Configurations: Global settings for store name, currency, and tax rates.

Sales Assistant Operations

Designed for speed and ease of use during checkout:

  • Product Discovery: Fast search by name or category.
  • Cart Management: Interactive cart with quantity adjustments.
  • Real-time Alerts: Visible low stock warnings directly in the search results.
  • Quick View: Detailed product specifications and descriptions accessible with a double-click.
  • Order Processing: Complete checkout flow with payment validation and change calculation.

User Experience

  • Theme Support: Switch between light and dark modes at any time.
  • Modern Interface: Clean, card-based layout inspired by professional dashboards.
  • Dynamic Feedback: Status colors and icons that change based on system state.

Technical Details

  • Language: Java 17
  • Framework: Java Swing
  • Database: MySQL 8
  • Build Tool: Maven

Getting Started

Prerequisites

You need Java JDK 17, MySQL Server, and Maven installed on your machine.

Database Installation

Import the provided SQL schema into your MySQL instance:

sudo mysql < pos_system.sql

Configuration

Credentials and connection details can be updated in: src/main/java/jdbc/DbConnection.java

Running the App

Use Maven to compile and launch the application:

mvn clean compile exec:java -Dexec.mainClass="main.Main"

Default Login Credentials

Role Username Password
Manager admin admin
Assistant staff staff

Project Structure

src/main/java/
├── main/              # Application entry point
├── modal/             # Business logic
│   ├── process_order/
│   ├── products/
│   └── users/
├── jdbc/              # Database access
├── ui/                # Swing GUI
│   ├── assistant/
│   └── manager/

Future Features

  • Sales reports and analytics dashboard
  • Export data to PDF/Excel

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/new-feature)
  3. Commit your changes (git commit -m 'Add new feature')
  4. Push to the branch (git push origin feature/new-feature)
  5. Open a Pull Request

About

Point of Sale (POS) desktop application built with Java Swing and MySQL. Supports inventory management, product cataloging, order processing, and multi-role access for managers and sales staff.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages