This project is a full-stack web application for managing inventories. It allows users to add, view, update, delete, and restore products in real time, as well as export inventory data as PDF reports. The system is designed for efficiency and ease of use, supporting user authentication and role-based access.
- Frontend: React (Vite, Mantine UI)
- Backend: Java Spring Boot (REST API)
- Database: MySQL
- Authentication: JWT (JSON Web Tokens)
- Containerization: Docker (multi-stage builds)
- Other: jsPDF (PDF export), Axios (HTTP requests)
To run the entire application (frontend, backend, and database) with a single command, use Docker Compose. Make sure you have Docker and Docker Compose installed, then run:
docker compose up --buildThis will build and start all services. The frontend will be available at http://localhost. If you wish to contact the backend API directly, it will be available at http://localhost:8080, while the MySQL server will be accessible on port 3306 (localhost:3306).
Make sure you do not have any other services or applications running on ports 80, 8080, or 3306, or Docker Compose may fail to start the containers.
- backend/: Contains all backend code, including API endpoints, security, database entities, and configuration. Built with Java Spring Boot.
- frontend/: Contains the React application for the user interface, including components, hooks, and utilities.
- docs/: Contains LaTeX files aand diagrams for the project report and technical documentation (in Spanish).