Lumace LMS es una plataforma de gestión de aprendizaje (Learning Management System) desarrollada en Django, diseñada para ofrecer una experiencia educativa completa y moderna. La plataforma permite la gestión de cursos, estudiantes, contenido educativo y pagos de manera integral.
- Sistema de Autenticación Completo: Registro, login, verificación por email y gestión de perfiles de usuario
- Gestión de Cursos: Creación, organización por categorías y niveles (principiante, intermedio, avanzado)
- Sistema de Pagos: Integración con Stripe para procesamiento seguro de pagos
- Ofertas Especiales: Acceso anticipado y membresías de patrocinio
- Panel de Administración: Gestión completa desde el admin de Django
- Sistema de Notificaciones: Envío de correos automáticos y recibos de compra
- Arquitectura Escalable: Preparada para despliegue con Docker y servicios en la nube
base
- Aplicación base con modelos comunes, autenticación personalizada y templates baselanding
- Página de inicio y presentación de la plataformacursos
- Gestión completa de cursos, categorías y estudiantes inscritosofertas
- Sistema de ofertas especiales y promocionespagos
- Procesamiento de pagos con Stripe e historial de transaccionespersonal
- Gestión de usuarios personalizadossponsors
- Sistema de patrocinio de la plataformacostos
- Gestión de precios y costos de productosclases
- Módulo para clases individuales (en desarrollo)biblioteca
- Sistema de recursos educativos (en desarrollo)
Modelo abstracto que proporciona:
- Campos de auditoría (fecha_creacion, fecha_modificacion)
- Control de usuarios (usuario_creacion, usuario_modificacion)
- Estado activo/inactivo
- Información del curso (nombre, descripción, presentación)
- Categorización y niveles
- Portadas y media
- Precios con soporte multicurrency
- Contador de estudiantes inscritos
- Relación many-to-many entre usuarios y cursos
- Fecha de inscripción
- Unicidad para evitar inscripciones duplicadas
- Django 5.2.4 - Framework web principal
- PostgreSQL - Base de datos principal
- Redis - Cache y broker para Celery
- Celery - Tareas asíncronas (envío de emails, procesamiento de pagos)
- Bootstrap 5 - Framework CSS
- Font Awesome - Iconografía
- Django Templates - Sistema de plantillas
- Crispy Forms - Renderizado mejorado de formularios
- Stripe - Procesamiento de pagos
- Gmail SMTP - Envío de correos electrónicos
- Django-Allauth - Autenticación y autorización
- Django-Money - Manejo de monedas y precios
- Docker & Docker Compose - Containerización
- Nginx - Servidor web y proxy reverso
- WhiteNoise - Manejo de archivos estáticos
- Cloudflare - CDN y protección
- Docker y Docker Compose
- Git
- Clonar el repositorio
git clone <repository-url>
cd lumace-lms
- Configurar variables de entorno
Crear archivo
.env
con:
POSTGRESQL=postgresql://user:password@db:5432/lms_db
EMAIL_HOST_USER=[email protected]
EMAIL_HOST_PASSWORD=tu_app_password
STRIPE_LIVE_SECRET_KEY=sk_live_...
STRIPE_TEST_SECRET_KEY=sk_test_...
- Levantar los servicios
docker-compose up -d
- Ejecutar migraciones
docker-compose exec django python manage.py migrate
- Crear superusuario
docker-compose exec django python manage.py createsuperuser
Si prefieres trabajar sin Docker:
- Crear entorno virtual
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
- Instalar dependencias
pip install -r dependencias.txt
- Configurar base de datos local
python manage.py migrate
- Ejecutar servidor de desarrollo
python manage.py runserver
lumace-lms/
├── .devcontainer/ # Configuración para VS Code Dev Containers
├── base/ # App base con modelos comunes
├── cursos/ # Gestión de cursos y categorías
├── landing/ # Página de inicio
├── ofertas/ # Sistema de ofertas
├── pagos/ # Procesamiento de pagos
├── personal/ # Gestión de usuarios
├── sponsors/ # Sistema de patrocinio
├── costos/ # Gestión de precios
├── lms/ # Configuración principal de Django
├── templates/ # Templates globales
├── static/ # Archivos estáticos
├── media/ # Archivos subidos por usuarios
├── nginx/ # Configuración de Nginx
├── docker-compose.yml # Orquestación de contenedores
└── dependencias.txt # Dependencias de Python
- Tema: Moderno y minimalista
- Colores: Esquema de colores profesional con Bootstrap
- Tipografía: Font Awesome para iconos, Bootstrap para texto
- Responsivo: Compatible con dispositivos móviles y desktop
- Landing Page: Presentación de cursos destacados y beneficios
- Catálogo de Cursos: Lista completa de cursos disponibles
- Detalle de Curso: Información completa con precios y descripción
- Página de Lanzamiento: Oferta especial de acceso anticipado
- Panel de Usuario: Configuración de perfil y historial
- Checkout Sessions: Páginas de pago seguras hospedadas por Stripe
- Webhooks: Procesamiento automático de eventos de pago
- Historial: Registro completo de todas las transacciones
- Recibos: Envío automático de recibos por email
- Acceso Anticipado: Membresía especial con beneficios exclusivos
- Patrocinio: Sistema de apoyo a la plataforma
- Cursos: Compra individual de cursos (en desarrollo)
- Gestión de Usuarios: CRUD completo con filtros avanzados
- Gestión de Cursos: Creación y edición con preview de contenido
- Historial de Pagos: Monitoreo de transacciones
- Sistema de Auditoría: Tracking de cambios y usuarios responsables
- Información principal
- Detalles específicos
- Auditoría (colapsado por defecto)
- Recibos de Compra: Envío automático post-pago
- Confirmación de Registro: Verificación por email
- Notificaciones de Sistema: Alerts importantes
- Formato HTML con Markdown
- Diseño responsive
- Información completa de transacciones
- Verificación obligatoria por email
- Integración con Django-Allauth
- Formularios personalizados con Crispy Forms
- CSRF protection habilitado
- Validación de formularios
- Sanitización de contenido
- Debug: Desactivado
- HTTPS: Configurado para Cloudflare
- Static Files: Servidos por WhiteNoise
- Database: PostgreSQL en producción
services:
- django: Aplicación principal
- db: PostgreSQL
- redis: Cache y message broker
- nginx: Servidor web
- celery: Worker para tareas asíncronas
- Sistema de Clases: Clases individuales en vivo
- Biblioteca Digital: Recursos descargables
- BiliBot: Asistente AI para estudiantes
- Certificaciones: Emisión de certificados
- Foro de Estudiantes: Comunidad de aprendizaje
- API REST con Django Rest Framework
- Aplicación móvil
- Sistema de analytics avanzado
- Integración con plataformas de video
Este proyecto está desarrollado como una plataforma educativa comercial. Para más información sobre el uso y licenciamiento, contacta al equipo de desarrollo.
Lumace LMS - Transformando la educación en línea, un curso a la vez. 🚀