This guide walks you through every step needed to run FridgeRadar on your local machine — from cloning the repository to verifying the health endpoint and browsing the interactive API docs. The whole process takes about ten minutes, assuming you already have the prerequisites installed.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/EstefanoARG/FridgeRadar/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Before you begin, make sure the following are available on your system:- Python 3.12+ —
python --versionshould return3.12.xor higher - MySQL 8+ — a running instance with a user that has
CREATE DATABASEprivileges - Node.js 18+ — required by Vite and the React frontend (
node --version)
Setup Steps
Create a Python virtual environment and install dependencies
Isolate the backend’s Python dependencies in a virtual environment, then install everything from Key packages installed include FastAPI 0.111, SQLAlchemy 2.0 with
requirements-dev.txt.aiomysql, APScheduler 3.10, pydantic-settings 2.2, python-jose for JWT, and bcrypt for password hashing.Configure environment variables
Copy the provided example file and fill in your local MySQL credentials.Open The six variables you must review are
backend/.env in your editor and set at minimum the database credentials and a strong secret key:DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASSWORD, and SECRET_KEY. All others have sensible defaults and can be left unchanged for local development. See Configuration for the full reference.Create the database
Run the bundled SQL script to create the Enter your MySQL root password when prompted. The script is idempotent — it uses
fridgeradar_db schema, including all 19 tables, indexes, triggers, stored procedures, views, and seed data (product categories, recipe tags).CREATE DATABASE IF NOT EXISTS and CREATE TABLE IF NOT EXISTS guards throughout.Start the backend
Launch the FastAPI application with Uvicorn in reload mode so changes to source files are picked up automatically.You should see output similar to:
Start the frontend
In a new terminal, install the Node dependencies and start the Vite dev server. All requests to Vite will print:Open http://localhost:5173 in your browser to access the FridgeRadar UI.
/api/* are automatically proxied to the backend at localhost:8000.Verify the Backend is Healthy
With the backend running, confirm the health endpoint responds correctly:200 OK with that JSON body means the FastAPI app started successfully and is connected to the scheduler. If you see a database connection error instead, double-check the DB_* values in backend/.env.
Interactive API docs are live at two URLs:
- Swagger UI — http://localhost:8000/docs: try every endpoint directly in the browser, including authentication flows.
- Redoc — http://localhost:8000/redoc: a clean, read-only reference with full schema details.
Next Steps
Authentication
Register a user, obtain a JWT token from
/api/v1/auth/login, and learn how to pass it as a Bearer header on protected routes.Inventory Concepts
Understand how the Household → Zone → Shelf → Inventory hierarchy works and how to add your first products with expiry dates.
API Overview
Browse all 13 endpoint groups, understand pagination and filtering, and learn how to filter inventory by semáforo state.