Construir una API básica que gestione productos y un carrito de compras, junto con un frontend que consuma esta API para permitir agregar y visualizar productos en el carrito.
El backend (FastAPI) maneja productos y carrito, mientras que el frontend (React + TypeScript) permite interactuar con él.
- Backend: Python, FastAPI
- Frontend: React, TypeScript
- Herramientas: pip, npm
-
Abrir la carpeta del backend.
-
Instalar dependencias:
pip install -r requirements.txt
-
Activar el entorno virtual (si aplica):
.venv\Scripts\activate
-
Ejecutar el servidor:
uvicorn main:app --reload
El backend estará en
http://localhost:8000
.
-
Abrir la carpeta del frontend.
-
Instalar dependencias:
npm install
-
Ejecutar la aplicación:
npm run dev
El frontend estará en
http://localhost:5173
.
Método | Ruta | Descripción | Body / Query |
---|---|---|---|
GET | /productos | Devuelve la lista de productos | - |
POST | /productos | Agrega un nuevo producto | { "name": "Producto X", "price": 100 } |
GET | /carrito | Devuelve los productos en el carrito con cantidad | - |
POST | /carrito | Agrega una unidad de un producto | { "product_id": 1 } |
DELETE | /carrito/{product_id} | Elimina un producto del carrito | Query opcional: all=true para eliminar todas las unidades |