Proyecto Full Stack de una tienda de ropa online. Incluye un backend robusto con FastAPI para manejar la lógica de negocio, productos, usuarios y pagos, y un frontend interactivo construido con React.
-
Backend:
- Python 3.11+
- FastAPI
- SQLAlchemy (para SQL) y Motor (para NoSQL)
- Pydantic
- MySQL (con driver
aiomysql) - MongoDB
- JWT para autenticación (
python-jose) - Google Generative AI para el Chatbot
- MercadoPago para la pasarela de pagos
-
Frontend:
- React 18+
- Vite como herramienta de desarrollo
- JavaScript (ES6+)
- CSS
Antes de empezar, asegurate de tener instalado:
- Python (versión 3.11 o superior)
- Node.js (versión 18.x o superior) y npm
- Un servidor de MySQL corriendo en tu máquina.
- Un servidor de MongoDB (opcional, si se implementan todas las funcionalidades de usuario NoSQL).
- Git para control de versiones.
Seguí estos pasos para levantar el proyecto en tu entorno local.
Primero, clonamos el repositorio y preparamos los archivos de configuración inicial.
# Clonar el repositorio
git clone https://URL_DE_TU_REPOSITORIO.git
# Entrar a la carpeta del proyecto
cd NOMBRE_DE_LA_CARPETA_DEL_PROYECTOImportante: Este proyecto usa un archivo .gitignore para evitar subir archivos sensibles o innecesarios. Asegurate de que el archivo .gitignore exista en la raíz del proyecto y contenga al menos .env, venv/, y frontend/node_modules/.
El backend necesita una base de datos MySQL para funcionar.
- Abrí tu cliente de MySQL (MySQL Workbench, DBeaver, etc.).
- Creá una nueva base de datos y sus tablas correspondientes (si no se crean automáticamente).
Nota: Las tablas se deberían crear automáticamente al iniciar el backend por primera vez gracias al
CREATE DATABASE void_db_sql;
lifespande FastAPI.
-
Crear el Entorno Virtual: Desde la carpeta raíz del proyecto, creá el entorno.
python -m venv venv
-
Activar el Entorno:
# En Windows .\venv\Scripts\activate
-
Configurar Variables de Entorno:
- Este proyecto usa un archivo
.envpara manejar las claves secretas. Este archivo NO debe subirse a GitHub. - Creá un archivo llamado
.envdentro de la carpetaBACKEND. - Copiá y pegá el siguiente contenido, reemplazando los valores con tus propias credenciales.
# backend/.env DATABASE_URL="mysql+aiomysql://TU_USUARIO_MYSQL:TU_CONTRASEÑA@localhost/void_db" SECRET_KEY="UNA_CLAVE_SUPER_SECRETA_Y_LARGA_PARA_JWT" ALGORITHM="HS256" ACCESS_TOKEN_EXPIRE_MINUTES=30 MERCADOPAGO_ACCESS_TOKEN="TU_ACCESS_TOKEN_DE_MERCADOPAGO" GOOGLE_API_KEY="TU_API_KEY_DE_GOOGLE_AI"
- Este proyecto usa un archivo
-
Instalar Dependencias: Con el entorno activado, instalá todas las librerías de Python.
pip install -r backend/requirements.txt
- Navegar a la Carpeta: Abrí una nueva terminal y andá a la carpeta del frontend.
cd frontend - Instalar Dependencias: Instalamos todas las librerías de Node.js.
npm install
Para correr el proyecto, necesitás tener dos terminales abiertas.
# 1. (Si no lo hiciste) Activar el entorno virtual desde la raíz del proyecto
.\venv\Scripts\activate
# 2. Arrancar el servidor de FastAPI
python -m uvicorn main:app --reloadEl backend estará corriendo en http://localhost:8000.
# 1. (Si no lo hiciste) Ir a la carpeta del frontend
cd frontend
# 2. Arrancar el servidor de Vite
npm run devLa aplicación web estará disponible en http://localhost:5173.
Una vez que el backend esté corriendo, podés acceder a la documentación interactiva de la API (generada por Swagger UI) en la siguiente URL: