WareWise is a multi-interface Warehouse Management System built using Java, JavaFX, Jakarta EE, React Native, Vue.js, and PostgreSQL. It offers both text-based (CLI/TUI) and graphical (GUI) admin consoles, as well as dedicated client interfaces for managers and workers on desktop, mobile, and web. This robust architecture ensures efficient warehouse operations while centralizing all data and business logic within a Java (Jakarta EE) server connected to a PostgreSQL database.
- A standalone Java server using Jakarta EE hosts the PostgreSQL database and handles requests from admin and client applications across platforms.
- Java-based Text-Based UI (CLI/TUI) for quick, command-driven operations, such as user management.
- JavaFX-based GUI dashboard for comprehensive logs and system monitoring.
- JavaFX desktop application for daily tasks including inventory management, order processing, and basic reporting.
- React Native mobile app for managers and workers, supporting barcode scanning and mobile-specific workflows.
- Upcoming Vue.js web application for responsive, browser-based access, enhancing flexibility and accessibility.
- Role-based UIs ensure users access only authorized features based on their roles (Worker or Manager).
- Secure storage of all data in PostgreSQL.
- Communication facilitated via JDBC, supporting optional AES-256 field-level encryption.
- Role-Based Access Control (RBAC): Admin, Manager, Worker.
- Password hashing using Argon2 for robust security.
- Optional AES-256 encryption for sensitive database fields.
- Real-time visibility into stock levels, order statuses, and sales trends.
- Visualization through intuitive JavaFX charts in desktop clients and planned Vue.js web dashboards.
- Jakarta EE ensures enterprise-grade reliability, scalability, and maintainability.
- JavaFX provides a native, performant desktop experience.
- React Native allows efficient cross-platform mobile app development.
- Vue.js offers rapid and flexible development for web interfaces, complementing desktop and mobile user experiences.
warewise/
├── server/
│ ├── src/
│ │ └── ... # Java server code, SQLite connectivity, business logic
├── admin-console/
│ ├── tui/
│ │ └── ... # Text-based UI (commands, console interactions)
│ └── gui/
│ └── ... # Optional JavaFX or Swing GUI for the admin console
├── client-gui/
│ └── src/
│ └── ... # JavaFX app for managers/workers
├──build.gradle
└── README.md # This file
- Java 17+ installed.
- Postgresql database (embedded or file-based).
- JDBC Driver for Postgresql (
postgresql-jdbc). - Maven or Gradle for building the project.
Clone the Repository
git clone https://github.com/yourusername/warewise.git- Ensure Postgresql is installed .
- Run the provided scripts (if any) to create necessary tables (e.g.,
inventory,orders,users).
Using Maven:
mvn clean installUsing Gradle:
gradle buildLaunch the server JAR or run from your IDE:
java -jar server/target/warewise-server.jarEnsures it can connect to SQLite on startup.
Start the TUI client:
java -jar admin-console/tui/target/warewise-admin-tui.jarType help (or similar command) to see available admin commands.
Run the Admin GUI:
java -jar admin-console/gui/target/warewise-admin-gui.jarFor managers/workers, launch the Client GUI:
java -jar client-gui/target/warewise-client.jar- Log in using admin credentials.
- Manage users, backups, and encryption settings.
- Access advanced logs and system monitoring.
- Track and manage inventory, orders, and generate warehouse reports.
- Accessible via the Client GUI with manager-level privileges.
- Perform daily warehouse tasks: scanning items, updating stock, fulfilling orders.
- Uses a simplified Client GUI interface.
- Argon2 for password hashing ensures no plaintext passwords in the database.
- Role-Based Access Control (RBAC) enforces strict permissions for each role.
- Server-Side Authentication validates credentials for every request from the TUI or GUI clients.
- Fork the Repository
- Create a Feature Branch (
feat/new-feature) - Commit Changes
This project is licensed under the MIT License — feel free to modify and use as needed.
WareWise — Streamline your warehouse operations with a secure, role-based, and easily extensible management solution.