A comprehensive Java Swing-based desktop application for managing a retail store's operations. The project implements a modular MVC (Model-View-Controller) architecture to manage customers, products, and orders with data persistence through CSV files.
- Inventory Control: Real-time management of product stocks. Order creation automatically deducts from available quantities.
- Order Management: Intuitive order processing with an integrated
JDateChooserfor visual date selection. - Automated Calculations: Automatic calculation of total prices based on unit price and quantity.
- Data Persistence: Flat-file storage using CSV format for Customers, Products, and Orders, allowing data recovery across sessions.
- Input Validation: Built-in logic to ensure data integrity, including phone number formatting and stock availability checks.
If you just want to use the application without setting up a development environment:
- Go to the Releases page.
- Download the
App.zipfile. - Extract (unzip) the contents of the folder to your computer.
- Open the folder and double-click on
StoreApp.exeto launch the application.
Important
Ensure the data folder remains in the same directory as the executable for the application to load the database correctly. No Java installation (JRE) is required as it is bundled within the package.
- Language: Java (JDK)
- Framework: Java Swing (GUI)
- External Library:
jcalendar-1.4.jar(for DatePicker functionality) - Storage: CSV (stored in
data/folder)
src.com.Store.Main: Entry point of the application (Main.java).src.com.Store.Model: Data models includingStoreModel,Product,Customer, andOrder.src.com.Store.View: UI components and panels (e.g.,BasePanel,OrderPanel,MainFrame).src.com.Store.Controller: Logic handlers that bridge the View and Model.src.com.Store.Utils: Helper classes likeValidationfor input checks.data/: Directory containing CSV files for permanent storage.screenshots/: Visual documentation of the application.
- Clone the Repository:
git clone https://github.com/N-Emil/Store-Application.git
- Open in IDE: Import the project into IntelliJ IDEA or Eclipse.
- Add Libraries: Ensure
jcalendar-1.4.jaris added to your project's build path. - Run: Execute
Main.javato start the application.
This project is open-source. Feel free to use and modify!

