QuipuEco is split into two independently runnable processes — a React/Vite frontend and a FastAPI Python backend — each of which requires its ownDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/davidmpizarro/QuipuEco-Hackaton/llms.txt
Use this file to discover all available pages before exploring further.
.env file before it can start correctly. The frontend needs a Mapbox access token to render the interactive recycling-point map, while the backend needs a Google Gemini API key to power both image classification and the conversational voice agent. Neither file is committed to version control, and neither token should ever be shared between the two processes or embedded in source code.
Overview
Frontend .env
Lives in
quipueco-frontend/ (the project root). Exposes variables to Vite at build time via the VITE_ prefix. Contains VITE_MAPBOX_TOKEN.Backend .env
Lives in
quipueco-backend/. Loaded by Python’s python-dotenv at runtime. Contains GEMINI_API_KEY.Creating the environment files
Create the frontend environment file
In the Replace
quipueco-frontend/ directory (the repository root), create a file named .env:your_mapbox_token_here with a real token starting with pk.. See Mapbox Configuration for how to obtain one.Vite automatically reads .env files in the project root at dev-server startup. Variables must be prefixed with VITE_ to be accessible in browser-side code.Create the backend environment file
In the Replace
quipueco-backend/ directory, create a file named .env:your_gemini_api_key_here with a real key starting with AIza. See Gemini AI Configuration for how to obtain one.Start the backend server
http://localhost:8000. The --reload flag enables hot-reloading during development.Variable reference
Frontend variables
| Variable | Required | Description |
|---|---|---|
VITE_MAPBOX_TOKEN | ✅ Yes | Mapbox public access token. Must start with pk.. Used by VistaMapaPuntos.jsx to initialize the map and fetch walking routes. |
src/components/VistaMapaPuntos.jsx
VITE_ is intentionally stripped from the client bundle by Vite, preventing accidental secret exposure.
Backend variables
| Variable | Required | Description |
|---|---|---|
GEMINI_API_KEY | ✅ Yes | Google AI Studio API key. Must start with AIza. Used by both the /clasificar and /chat endpoints. |
API URL configuration
The backend URL is currently hardcoded as a constant in two frontend source files:API_URL constant in both files.
Port defaults
| Service | Default port | Start command |
|---|---|---|
| Vite frontend | 5173 | npm run dev |
| FastAPI backend | 8000 | uvicorn app.main:app --reload |
http://localhost:5173 during local development.
Security
The
VITE_MAPBOX_TOKEN is a public token by design — Mapbox access tokens are intended to be embedded in browser-side code and can be scoped to specific URLs in the Mapbox dashboard. However, they should still be kept out of version control. The GEMINI_API_KEY is a private secret and must never appear in any frontend code, build output, or public repository.