Este proyecto corresponde a una prueba técnica Full Stack que implementa un mini e‑commerce utilizando React + TypeScript en el frontend y Django REST Framework en el backend.
El objetivo es demostrar buenas prácticas de arquitectura, consumo de APIs, manejo de estado global, persistencia de datos y una interfaz limpia y funcional.
- ⚛️ React
- 🟦 TypeScript
- ⚡ Vite
- 📦 Axios
- 🎨 CSS puro
- 🐍 Python
- 🌐 Django
- 🔗 Django REST Framework
- 🗄️ SQLite
MINI-ECOMMERCE/
├── backend/ # API REST (Django)
├── frontend/ # Aplicación React
├── .gitignore
└── README.md
components/→ Componentes reutilizables (productos, carrito, botones)contexts/→ Context API para el carrito de comprashooks/→ Hooks personalizadospages/→ Vistas principalesservices/→ Servicios de comunicación con la APItypes/→ Tipos TypeScriptutils/→ Utilidades (localStorage, formateo de precios)
- Carga de productos desde la API (
GET /api/products/) - Manejo de estados: loading y error
- Diseño responsive
- Agregar productos al carrito
- Manejo de duplicados (incrementa cantidad)
- Editar cantidades con botones + / −
- Eliminar productos individuales
- Vaciar carrito completo
- Cálculo automático de subtotales y total
- Persistencia en
localStorage
- Envío del carrito al backend (
POST /api/cart/) - Confirmación visual de guardado exitoso
- Limpieza automática del carrito después de guardar
cd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
python manage.py migrate
python manage.py runserverServidor disponible en:
http://127.0.0.1:8000
Panel de administración:
http://127.0.0.1:8000/admin/
cd frontend
npm install
npm run devAplicación disponible en:
http://localhost:5173
El frontend utiliza un archivo .env para definir la URL del backend:
VITE_API_URL=http://127.0.0.1:8000/api- Estilo Minimal UI
- Colores basados en la identidad de Softseguros:
- Azul principal:
#0E75FA - Azul claro:
#EAF3FE - Texto oscuro:
#192738
- Azul principal:
- Interfaz responsive y clara
- Crear productos desde Django Admin
- Ver listado en el frontend
- Agregar productos al carrito
- Editar cantidades
- Guardar carrito
- Ver registros creados en el admin
✔️ Prueba técnica completada ✔️ Funcionalidad completa y estable ✔️ Código organizado y documentado
Desarrollado como prueba técnica por Laura Valeria Acosta Vélez
Gracias! 🚀