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.
- About the Project
- System Architecture
- Download & Install
- System Modules
- Project Gallery
- Technologies Used
- For Developers
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.
To ensure scalability and maintainability, the project follows a strict object-oriented design.
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 |
To access the system for the first time, use the default Administrator account:
| Role | Password | |
|---|---|---|
| Admin | admin@system.com |
admin |
- 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.
- 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.
- 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.
- Offers & Promos: Manage discounts on specific products.
- Reports: Generate sales and inventory reports.
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 |
|---|---|
![]() |
![]() |
| Employee Details | Update Employee |
![]() |
![]() |
| Add Employee | |
![]() |
Inventory Module (Click to expand)
| Inventory Dashboard | View Products |
|---|---|
![]() |
![]() |
| Product Details | Add Product |
![]() |
![]() |
| Returned Orders List | |
![]() |
Sales Module (Click to expand)
| Sales Dashboard | View Orders |
|---|---|
![]() |
![]() |
| Return Order Items | Order Receipt |
![]() |
![]() |
| Make Order | |
![]() |
- 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 ControlsIkonli(Icons)
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
- Java JDK 25 (Ensure
JAVA_HOMEis set correctly). - Apache Maven (Optional if using the included
mvnwwrapper). - WiX Toolset v3.11 (Required only for building the Windows Installer
.exe).
-
Clone the repository
git clone https://github.com/mohammedrattia/Hypermarket-Management-System.git cd Hypermarket-Management-System -
Run with Maven
# Linux / Mac ./mvnw javafx:run # Windows mvnw javafx:run
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.
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.batOutput: 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.batOutput: 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.batOutput: releases\Hypermarket-System-App-Universal.jar
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.shOutput: releases/Hypermarket-System-App-Linux.deb
2. RedHat Package (.rpm) Builds the installer package for Fedora, RedHat, and CentOS systems.
./scripts/build_linux_rpm.shOutput: 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.shOutput: releases/Hypermarket-System-Portable-Linux.tar.gz
4. Universal JAR Builds the cross-platform JAR file.
./scripts/build_linux_jar.shOutput: releases\Hypermarket-System-App-Universal.jar



















