Java-SmartPos-System (Pre-release)
SmartPOS is a modern, Point of Sale (POS) system built with JavaFX and Clean Architecture. It is designed to be a robust starting point for small businesses or a portfolio project demonstrating industrial-level software design patterns in Java.
- Point of Sale (POS): Fast checkout with automatic product lookup by ID/SKU.
- Product Management: Create, edit, and deactivate products.
- Inventory Control: Track stock movements (In/Out) automatically.
- Purchasing: Register supplier invoices to replenish stock.
- Reporting: Real-time insights on Sales, Stock Levels, and Top Selling Products.
- Clean UI: Modern dark/light interface built with CSS-styled JavaFX.
- Language: Java 17
- UI Framework: JavaFX 21 (Modular)
- Database: MySQL 8.0
- Persistence: JDBC (Raw SQL for performance and control) with HikariCP Connection Pooling.
- Architecture: Hexagonal / Clean Architecture (Domain, Infrastructure, UI separation).
- Build Tool: Maven
src/main/java/io/smartpos
├── core # Domain Logic (Entities, Exceptions, Interfaces)
├── infrastructure # Data Access (DAO Impl, JDBC, Database)
├── services # Application Business Logic (Use Cases)
└── ui # JavaFX Controllers and Views (FXML)
- JDK 17 or higher
- Maven 3.8+
- MySQL Server 8.0+
- Thermal printer connectivity (optional for physical tickets).
- Create a MySQL database (e.g.,
smartpos_db). - Run the SQL script found in
database/schema.sqlto create tables. - Update
src/main/resources/application.propertieswith your credentials:db.url=jdbc:mysql://localhost:3306/smartpos_db db.username=your_username db.password=your_password
mvn clean compile exec:java📄 License This project is distributed under the MIT license. Its purpose is strictly educational and research-based, developed as an Applied Java solution.
Note for recruiters: This project demonstrates my ability to design and implement complex systems using professional standards. It highlights my mastery of transactional integrity, clean architecture, and the development of resilient software capable of handling real-world failure scenarios.
Author: JUAN S.
Contact: https://github.com/johnyse99