This guide walks you through running the complete Goods Inventory stack on your local machine. By the end you will have the Flask API serving data from a local MySQL database and the React dev server rendering the inventory UI in your browser.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/AndresLopezCorrales/Goods-Inventory/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites — make sure the following are available before you begin:
- Node.js ≥ 18 (includes
npm) - Python ≥ 3.9 with
pip - MySQL running locally and accessible with a user that can create databases
Set up the Flask backend
Move into the server directory and install the Python dependencies listed in Next, create a Replace On the very first run, SQLAlchemy creates the
requirements.txt:.env file in the server-flask/ directory. main.py uses python-dotenv to load these variables at startup, so the file must exist before you run the server:server-flask/.env
your_mysql_password with your actual MySQL password, and set JWT_SECRET_KEY to any long, random string — it signs the admin authentication tokens.With the environment configured, start the development server:inventario_csti database and all tables automatically. The startup routine then imports seed data from two bundled Excel files — app/data/areas.xls (locations and responsibles) and app/data/articulos.xls (items) — so the database is pre-populated and ready to query immediately.Set up the React frontend
Open a new terminal, navigate to the client directory, and install the JavaScript dependencies:Create a Vite exposes this value to the application as
.env file in client-react/ that points the frontend at your local Flask server:client-react/.env
import.meta.env.VITE_API_URL. The src/config/api.js file re-exports it as API_URL, which every component imports when making fetch calls to the Flask backend.Start the Vite development server:Open the app
The React dev server listens on
http://localhost:5173 by default. Open that URL in your browser.You will land on the public home page. Type a name into the search box to find a responsible person, then click through to see their assigned locations and the items stored at each one. The frontend is talking live to your Flask backend — any data imported from the Excel seed files will appear here.