Ferromax ERP is a full-stack management platform built for Argentine hardware stores (ferreterías). It delivers two tightly integrated surfaces from a single codebase: an internal ERP where administrators and employees manage stock, process in-store sales, receive supplier shipments, and monitor dashboard KPIs; and a public Tienda storefront where retail customers browse the product catalogue, check live stock availability, and place online orders. Both surfaces share the same Spring Boot backend and PostgreSQL database, ensuring data is always consistent across every interaction.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/DragonesMagicos/ferromax_v0.8/llms.txt
Use this file to discover all available pages before exploring further.
Key Features
POS Terminal
Keyboard-driven point-of-sale terminal optimised for speed. Supports barcode scanner input, real-time stock validation, and instant receipt generation for in-store transactions.
Inventory Management
Full product catalogue with SKU and barcode lookup, category management, manual stock adjustments, and low-stock alerts that fire automatically when a product falls below its configured threshold.
Supplier Invoice OCR
Upload a scanned PDF or image of a supplier invoice and let Apache PDFBox + Tess4J extract line items automatically. Parsed data pre-populates the stock reception form, eliminating manual data entry.
Real-time Stock Alerts
WebSocket STOMP broadcasts push stock-change events to every connected admin session the moment a sale or adjustment is processed — no polling required.
E-commerce Storefront
Mobile-first public Tienda with category browsing, product search, and a checkout flow. Customers can register, log in, and track their order history from a dedicated account area.
Role-based Access Control
Three distinct roles — Administrador, Empleado, and Cliente — each scoped to a precise set of API endpoints and UI routes. Spring Security enforces access at the method level via
@PreAuthorize.Tech Stack
| Layer | Technology |
|---|---|
| Backend | Java 17, Spring Boot 3.2.5, PostgreSQL 16, JPA/Hibernate |
| Frontend | React 19, Vite 8, TailwindCSS 4, Framer Motion 12, Recharts 3 |
| Security | JWT via JJWT 0.12.6, Spring Security 6 |
| Real-time | WebSocket STOMP, SockJS |
| OCR | Apache PDFBox 3.0.2, Tess4J 5.11.0 |
| Caching | Caffeine (500 entries, 10 min TTL) |
Default Users
The database initializer seeds two users on first startup so you can explore both roles immediately.| Password | Role | |
|---|---|---|
| [email protected] | admin123 | Administrador |
| [email protected] | emp123 | Empleado |
Change these credentials before deploying to any environment accessible outside your local machine. Passwords are stored as BCrypt hashes.
Next Steps
Quickstart
Clone the repository and have both the backend and frontend running locally in under 10 minutes.
Architecture
Understand how the Spring Boot backend, React SPA, PostgreSQL database, and WebSocket layer fit together.
Roles & Permissions
Detailed breakdown of what each role can see and do across the API and the UI.
API Overview
Explore the full REST API — authentication, products, sales, stock, and more — including the Swagger UI location.