A desktop Point of Sale (POS) system for inventory management built with Spring Boot and JavaFX. This application provides a comprehensive solution for managing inventory, sales, and business operations.
Current Version: 1.0
- Multi-level Access Control
- Owner/Admin full system access
- Cashier restricted access
- Support admin for system maintenance
- Staff limited access (Coming in next version)
- Security Features
- Secure password hashing
- Password reset via support admin
- Temporary password system
- Basic session management
- Product Control
- Add, edit, and delete products
- Product image management
- Custom product descriptions
- Product history tracking
- Stock quantity management
- Category Management
- Create and manage categories
- Category-based filtering
- Basic category organization
- Inventory Control
- Real-time stock tracking
- Low stock visual indicators
- Auto stock updates on sales/returns
- Initial stock tracking
- Returns processing
- Modern POS Interface
- Intuitive product search
- Category-based filtering
- Real-time stock validation
- Product grid display with images
- Cart Features
- Multiple items management
- Quantity adjustments with stock validation
- Real-time total calculation
- Quick item removal
- Customer name tracking
- Payment Processing
- Cash and card payment methods
- Basic payment processing
- Sale record keeping
- Receipt & Returns
- Professional PDF invoice generation
- Digital invoice storage
- Invoice reprint capability
- Product returns processing
- Return stock adjustment
- Dashboard Analytics
- Basic sales overview
- Sales trend visualization
- Average ticket size tracking
- Growth rate indicators
- Product Analytics (Basic Implementation)
- Stock level monitoring
- Low stock indicators
- Basic sales tracking
- Export Features
- Sales data export to CSV
- Product data export
- Inventory reports export
- Business Settings
- Basic company information management
- Logo customization
- Contact details management
- Data Management
- Manual backup functionality
- Data restore capability
- Basic data export tools
- Invoice System
- Basic invoice generation
- PDF format invoices
- Invoice history tracking
- Modern Design
- Material design components
- Responsive layouts
- Professional styling
- Usability Features
- Basic keyboard shortcuts
- Quick actions
- Search functionality
- Sorting and filtering
- Notifications
- Basic system alerts
- Operation status alerts
- Error notifications
- Java 21
- Spring Boot 3.4.3
- JavaFX
- MaterialFX (Modern UI components)
- H2 Database
- iText 7 (PDF generation)
- Maven
- Java Development Kit (JDK) 21 or higher
- Maven 3.6 or higher
- Clone the repository:
git clone https://github.com/ZOUHAIRFGRA/inventorypos.git- Navigate to the project directory:
cd inventorypos- Build the project:
mvn clean install- Run the application:
mvn spring-boot:run- Admin Account
- Username: admin
- Password: admin123
-
src/main/java/com/fouiguira/pos/inventorypos/controllers/- JavaFX controllersentities/- JPA entitiesrepositories/- Spring Data repositoriesservices/- Business logicconfig/- Configuration classesutils/- Utility classes
-
src/main/resources/view/- FXML filesstyles/- CSS filesimages/- Image resourcesfonts/- Custom fonts
The application uses H2 database by default. Database configuration can be found in application.properties:
spring.datasource.url=jdbc:h2:file:./inventory
spring.datasource.username=sa
spring.datasource.password=- Overview of sales, products, and users
- Access to all management features
- Business settings configuration
- Product search and filtering
- Shopping cart management
- Sales processing
- Receipt generation
- Product CRUD operations
- Image upload support
- Category assignment
- Stock level tracking
- Detailed sales records
- Filter by date, cashier, or payment method
- Print/export capabilities
Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License (CC BY-NC-ND 4.0). This means:
- ✅ You can use and share the code
- ✅ You can contribute via pull requests
- ❌ You cannot use it commercially
- ❌ You cannot distribute modified versions
- ❌ You must provide attribution
See the LICENSE file for details.
For support and questions, please open an issue in the project repository.