Skip to content

mohammedrattia/Hypermarket-Management-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

421 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Test and Build GitHub Release

πŸ›’ Hypermarket Management System

Java JavaFX Status

A full-featured desktop application designed to streamline retail operations. Built with Java and JavaFX, this system manages the entire flow of a hypermarket from the warehouse to the checkout counter.


Table of Contents


πŸ“– About the Project

The Hypermarket Management System is an MVC-architected application that simulates real-world retail management. It solves the complexity of tracking inventory batches, managing employee roles, and processing sales transactions.

It uses a custom File I/O DataStore to persist data, making the application portable and lightweight.


πŸ—οΈ System Architecture

To ensure scalability and maintainability, the project follows a strict object-oriented design.


πŸ“₯ Download & Install

Latest Version: Check Latest Release Notes

Platform Type Download Link
Windows Installer πŸ“₯ Hypermarket-System-App-Windows.exe
Windows Portable πŸ“¦ Hypermarket-System-Portable-Windows.zip
Linux Installer (Debian) πŸ“₯ Hypermarket-System-App-Linux.deb
Linux Installer (RedHat) πŸ“₯ Hypermarket-System-App-Linux.rpm
Linux Portable πŸ“¦ Hypermarket-System-Portable-Linux.tar.gz
Universal JAR File β˜• Hypermarket-System-App-Universal.jar

πŸ”‘ Default Credentials

To access the system for the first time, use the default Administrator account:

Role Email Password
Admin admin@system.com admin

πŸš€ System Modules

Admin Module

  • Employee Management: Add, update, and delete employees with role-based access (Admin, Inventory, Sales, Marketing).
  • Dashboard Analytics: View real-time KPIs, active user counts, and visualized data via Pie Charts.
  • Security: Session-based authentication and secure password handling.

Inventory Module

  • Product Management: Create and edit products with images, categories, and descriptions.
  • Batch Tracking: Track specific batches for expiration dates and delivery schedules.
  • Low Stock Alerts: Automatic visual indicators for products falling below threshold levels.
  • Advanced Search: Filter products by ID, Name, Category, or Price using reflection-based dynamic filtering.

Sales Module

  • Point of Sale (POS): Add items to a cart, calculate totals, and process transactions.
  • Receipt Generation: Automatically generates PDF receipts for every order.
  • Order History: View recent orders and daily revenue stats.
  • Returns Management: Process product returns and update inventory automatically.

Marketing Module

  • Offers & Promos: Manage discounts on specific products.
  • Reports: Generate sales and inventory reports.

πŸ“Έ Project Gallery

Here is a visual tour of the application modules. Click on a section to expand the screenshots.

Admin Module (Click to expand)
Admin Dashboard View Employees
Admin Dashboard View Employees
Employee Details Update Employee
Employee Details Update Employee
Add Employee
Add Employee
Inventory Module (Click to expand)
Inventory Dashboard View Products
Inventory Dashboard View Products
Product Details Add Product
Product Details Add Product
Returned Orders List
Returned Orders List
Sales Module (Click to expand)
Sales Dashboard View Orders
Sales Dashboard View Orders
Return Order Items Order Receipt
Return Order Items Order Receipt
Make Order
Make Order
Marketing Module (Click to expand)
Marketing Dashboard Reports
Marketing Dashboard Reports
Offers
Offers
Authentication & Profile (Click to expand)
Login Page Update Profile
Login Page Update Profile

πŸ› οΈ Technologies Used

  • Language: Java 25
  • UI Framework: JavaFX
  • Build Tool: Maven
  • Styling: CSS (Custom stylesheets for every view)
  • Persistence: Custom File I/O (Serialization & Text Parsing)
  • Libraries:
    • iText (PDF Generation)
    • JavaFX Controls
    • Ikonli (Icons)

πŸ‘¨β€πŸ’» For Developers

If you want to run or build the source code yourself directly from your IDE (VS Code, IntelliJ, Eclipse, Netbeans). This project includes a Maven wrapper. You can run the project without having Maven installed on your machine using ./mvnw or mvnw.cmd

Prerequisites

  1. Java JDK 25 (Ensure JAVA_HOME is set correctly).
  2. Apache Maven (Optional if using the included mvnw wrapper).
  3. WiX Toolset v3.11 (Required only for building the Windows Installer .exe).

Running from Source

  1. Clone the repository

    git clone https://github.com/mohammedrattia/Hypermarket-Management-System.git
    cd Hypermarket-Management-System
  2. Run with Maven

    # Linux / Mac
    ./mvnw javafx:run
    
    # Windows
    mvnw javafx:run

Building Executables

The project includes automated scripts in the scripts/ directory to handle building, packaging, and cleanup. All final output files will be automatically moved to the releases/ folder.

πŸͺŸ Windows

Run these scripts by double-clicking them or executing them in Command Prompt or PowerShell.

1. Windows Installer (.exe) Builds the installer that sets up the app in Program Files, creates shortcuts, and adds it to the Start Menu.

scripts\build_windows_installer.bat

Output: releases\Hypermarket-System-App-Windows.exe

2. Windows Portable (No Install) Creates a standalone folder containing the executable and Java runtime. Useful for running from USB drives without installation.

scripts\build_windows_portable.bat

Output: releases\Hypermarket-System-Portable-Windows.zip (or folder)

3. Universal JAR Builds the cross-platform JAR file (requires Java to be installed on the target machine).

scripts\build_windows_jar.bat

Output: releases\Hypermarket-System-App-Universal.jar

🐧 Linux

Ensure scripts are executable first (chmod +x scripts/*.sh).

1. Debian Package (.deb) Builds the standard installer package for Ubuntu, Debian, and Mint systems.

./scripts/build_linux_deb.sh

Output: releases/Hypermarket-System-App-Linux.deb

2. RedHat Package (.rpm) Builds the installer package for Fedora, RedHat, and CentOS systems.

./scripts/build_linux_rpm.sh

Output: releases/Hypermarket-System-App-Linux.rpm

3. Linux Portable (AppImage Folder) Creates a standalone application directory (zipped). Useful for generic Linux distros or creating AUR packages.

./scripts/build_linux_portable.sh

Output: releases/Hypermarket-System-Portable-Linux.tar.gz

4. Universal JAR Builds the cross-platform JAR file.

./scripts/build_linux_jar.sh

Output: releases\Hypermarket-System-App-Universal.jar

About

A desktop application designed to manage hypermarket operations, inventory, and staff.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors