Skip to main content

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.

Goods Inventory is a full-stack web application built for the Departamento de Ingeniería Industrial at Universidad de Sonora. It provides a public-facing interface for department members to look up their assigned storage locations and submit inventory revisions, alongside a protected admin panel for comprehensive inventory oversight. The system is powered by a Python/Flask REST API backed by MySQL, and a React + Vite frontend styled with Tailwind CSS.

Quick Start

Get both the backend and frontend running locally in minutes.

Architecture

Understand how the Flask backend, MySQL database, and React frontend fit together.

API Reference

Explore all public and admin REST endpoints with request and response schemas.

Admin Panel

Learn how the JWT-protected admin dashboard works for inventory management.

How It Works

1

Import inventory data

On startup, the Flask server automatically reads areas.xls and articulos.xls Excel files and seeds the MySQL database with locations, responsible persons, and inventory items.
2

Public lookup

Department members visit the web app, search their name to find their assigned locations, browse items per location, and submit revision comments.
3

Admin oversight

Administrators log in with a username and password to receive a JWT token, then use the dashboard to search responsables or locations and review the full revision history for any location.

Key Features

Live Responsible Search

Debounced autocomplete search lets department members find themselves by name in real time.

Location & Item Browsing

Navigate from a responsible person down to their assigned locations and the items within each one.

Revision Tracking

Any user can submit a timestamped revision comment for a location. Admins can view the full revision history.

Excel Data Import

Inventory data is loaded automatically from Excel files on server startup — no manual SQL imports required.

JWT Authentication

The admin panel is protected with Flask-JWT-Extended. Tokens expire after a configurable number of days.

CORS-Enabled API

The Flask backend is configured with Flask-CORS, making it straightforward to deploy the frontend and backend on separate origins.

Build docs developers (and LLMs) love