Skip to main content

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.

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.

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

LayerTechnology
BackendJava 17, Spring Boot 3.2.5, PostgreSQL 16, JPA/Hibernate
FrontendReact 19, Vite 8, TailwindCSS 4, Framer Motion 12, Recharts 3
SecurityJWT via JJWT 0.12.6, Spring Security 6
Real-timeWebSocket STOMP, SockJS
OCRApache PDFBox 3.0.2, Tess4J 5.11.0
CachingCaffeine (500 entries, 10 min TTL)

Default Users

The database initializer seeds two users on first startup so you can explore both roles immediately.
EmailPasswordRole
[email protected]admin123Administrador
[email protected]emp123Empleado
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.

Build docs developers (and LLMs) love