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.
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.
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.
- 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.
- Language: Java 17
- Framework: Java Swing
- Database: MySQL 8
- Build Tool: Maven
You need Java JDK 17, MySQL Server, and Maven installed on your machine.
Import the provided SQL schema into your MySQL instance:
sudo mysql < pos_system.sqlCredentials and connection details can be updated in:
src/main/java/jdbc/DbConnection.java
Use Maven to compile and launch the application:
mvn clean compile exec:java -Dexec.mainClass="main.Main"| Role | Username | Password |
|---|---|---|
| Manager | admin | admin |
| Assistant | staff | staff |
src/main/java/
├── main/ # Application entry point
├── modal/ # Business logic
│ ├── process_order/
│ ├── products/
│ └── users/
├── jdbc/ # Database access
├── ui/ # Swing GUI
│ ├── assistant/
│ └── manager/
- Sales reports and analytics dashboard
- Export data to PDF/Excel
- Fork the repository
- Create your feature branch (
git checkout -b feature/new-feature) - Commit your changes (
git commit -m 'Add new feature') - Push to the branch (
git push origin feature/new-feature) - Open a Pull Request