Valix is a full-stack web application designed to manage inventory and production planning for manufacturing industries.
The system solves the core problem of Stock Control vs. Production Capacity. It allows users to register raw materials and products (with their respective recipes) and uses an algorithm to determine:
-
Which products can be produced with current stock.
-
The maximum potential revenue.
-
Prioritization Strategy: Automatically prioritizes products with the highest selling price to maximize value.
-
β Product Management (CRUD): Create, Read, Update, and Delete products.
-
β Raw Material Management (CRUD): Full control over inventory inputs.
-
β Recipe Management: Associate materials to products with specific quantities (N:N relationship).
-
β Production Planning Algorithm: Calculates feasible production based on live stock, prioritizing high-value items.
-
Architecture: Complete separation between Back-end (REST API) and Front-end (SPA).
-
Responsiveness: Mobile-First approach with adaptive Sidebar and Tables.
-
Persistence: Relational data management using PostgreSQL.
-
Stack: Built with Java 21, Spring Boot 3, React, and Redux Toolkit.
-
Language: All code, database schemas, and comments are in English.
-
Automated Tests: Comprehensive coverage with JUnit 5 (Back-end) and Vitest (Front-end).
-
Dockerized: Full environment setup with a single command.
| Production Plan (Dashboard) | Product |
|---|---|
![]() |
![]() |
| Inventory Management |
|---|
![]() |
| Dashboard | Product | Inventory |
|---|---|---|
![]() |
![]() |
![]() |
-
Java 21 & Spring Boot 3.4
-
Hibernate/JPA (Data Persistence)
-
PostgreSQL (Database)
-
JUnit 5 & Mockito (Testing)
-
Lombok (Boilerplate reduction)
-
React 18 & TypeScript
-
Redux Toolkit (Global State Management)
-
Tailwind CSS (Styling)
-
Vitest & React Testing Library (Testing)
-
Lucide React (Icons)
- Docker & Docker Compose installed.
git clone [https://github.com/Dezena14/valix.git](https://github.com/Dezena14/valix.git)
cd valix
docker-compose up --build
-
Front-end: http://localhost:3000
Note: The system includes a
DataSeederthat populates the database with sample materials and products automatically upon first run.
cd api
mvn test
cd web
npm install
npm test
To satisfy the requirement of prioritizing higher-value products:
-
The system fetches all products and sorts them by Price (Descending).
-
It iterates through the sorted list.
-
For each product, it calculates the maximum units produceable based on the limiting raw material.
-
It virtually "deducts" the used materials from a temporary stock and moves to the next product.
-
This ensures the highest potential revenue is achieved with the available resources.
Redux Toolkit handles asynchronous Thunks for API calls and provides centralized error handling, ensuring a scalable and predictable state flow.
Developed by Eduardo Dezena
-
LinkedIn: linkedin.com/in/eduardo-dezena/
-
GitHub: github.com/Dezena14





