🚀 Mindel API
📚 Descripción del Proyecto
Mindel API es el backend robusto y desacoplado que impulsa la plataforma de aprendizaje en línea Mindel. Este proyecto está diseñado para servir datos a un frontend basado en React, gestionando la autenticación de usuarios, el contenido educativo (cursos, unidades, materiales descargables) y el almacenamiento de archivos multimedia de forma segura y eficiente.
Utilizamos una arquitectura Modern Decoupled Stack para garantizar alta disponibilidad y escalabilidad en el servicio.
👤 Autor
Nombre: Jack Utrilla Fernández
Repositorio Backend: mindel-api
Repositorio Frontend: mindel-frontend
⚙️ Arquitectura y Despliegue (Deploy)
El proyecto Mindel sigue un modelo de micro-servicios desacoplados utilizando servicios cloud gratuitos y de alto rendimiento.
| Componente | Tecnología | Servicio de Despliegue | Región / URL de Ejemplo |
|---|---|---|---|
| Backend (API) | Django Rest Framework | Render.com (Web Service) | https://mindel-api.onrender.com/api/ |
| Frontend (UI) | React.js + Vite | Vercel | https://mindel-frontend.vercel.app/ |
| Base de Datos | PostgreSQL | Supabase | Nube (Gestionado por Supabase) |
| Media Files | Amazon S3 | AWS S3 (Bucket) | América del Sur (São Paulo) sa-east-1 |
✨ Características Principales
Autenticación JWT: Seguridad gestionada con djangorestframework-simplejwt para tokens de acceso y refresh.
Almacenamiento Cloud: Uso de django-storages y AWS S3 para media files, descargando al servidor de Render de la gestión de archivos pesados.
Soporte CORS: Configuración estricta de django-cors-headers para permitir peticiones únicamente desde la URL de Vercel.
Entorno Separado: Configuración settings.py que distingue automáticamente entre desarrollo local (SQLite/Disco Local/Supabase Desarrollo) y producción (PostgreSQL/S3/Supabase Producción).
Internacionalización: Zona horaria (America/Lima) e idioma (es-pe) configurados.
💻 Funcionalidades de la Web (API Endpoints)
| Componente | Tecnología | Servicio de Despliegue | Región / URL de Ejemplo |
|---|---|---|---|
| Backend (API) | Django Rest Framework | Render.com (Web Service) | https://mindel-api.onrender.com/api/ |
| Frontend (UI) | React.js + Vite | Vercel | https://mindel-frontend.vercel.app/ |
| Base de Datos | PostgreSQL | Supabase | Nube (Gestionado por Supabase) |
| Media Files | Amazon S3 | AWS S3 (Bucket) | América del Sur (São Paulo) sa-east-1 |