Sistema completo de aprendizaje en línea desarrollado con Laravel 10 + Vue 3.
- PHP 8.1 o superior
- Composer
- Node.js 18 o superior
- NPM
- SQLite (incluido por defecto)
- Instalar dependencias de PHP
composer install
- Instalar dependencias de Node.js
npm install
- Configurar la base de datos
php artisan migrate:fresh --seed
php artisan db:seed --class=AdminUserSeeder
- Compilar assets
npm run build
- Iniciar el servidor
php artisan serve
- Email: admin@sable.com
- Contraseña: admin123
- Email: estudiante@sable.com
- Contraseña: estudiante123
- ✅ Registro y login
- ✅ Dashboard con progreso personal
- ✅ Visualización de módulos por nivel
- ✅ Realización de evaluaciones interactivas
- ✅ Seguimiento del progreso
- ✅ Interfaz responsive
- ✅ Dashboard con métricas del sistema
- ✅ CRUD completo de módulos
- ✅ CRUD completo de evaluaciones
- ✅ Gestión de usuarios y roles
- ✅ Visualización de progreso de estudiantes
- Modelos: User, Modulo, Evaluacion, Progreso
- Controladores: AuthController, DashboardController, ModuloController, EvaluacionController, ProgresoController, AdminController
- Middleware: AdminMiddleware para proteger rutas de administración
- Autenticación: Laravel Breeze con Inertia.js
- Layout: AuthenticatedLayout con navegación dinámica según rol
- Páginas: Dashboard, módulos, evaluaciones, administración
- Estilos: TailwindCSS para diseño responsive
- Estado: Manejo reactivo con Vue 3 Composition API
- SQLite para desarrollo
- Migraciones con estructura completa
- Seeders con datos de prueba
- id, nombre, email, contraseña, rol (estudiante|administrador)
- id_modulo, nivel, titulo, descripcion, contenido
- id_eval, id_modulo, contenido_eval (JSON con preguntas)
- id_usuario, id_modulo, estado (en_proceso|completado), puntuacion
/
- Página de bienvenida/login
- Inicio de sesión/register
- Registro
/dashboard
- Dashboard personal/modulos
- Lista de módulos/modulos/{id}
- Ver módulo específico/evaluaciones/{id}/tomar
- Realizar evaluación/mi-progreso
- Progreso personal
/admin/dashboard
- Dashboard administrativo/admin/modulos
- Gestión de módulos/admin/evaluaciones
- Gestión de evaluaciones/admin/usuarios
- Gestión de usuarios
- Framework CSS: TailwindCSS
- Componentes: Diseño modular y reutilizable
- Responsive: Compatible con móviles y tablets
- UX: Interfaz intuitiva y moderna
- Accesibilidad: Implementa buenas prácticas
# Desarrollo con hot-reload
npm run dev
# Compilar para producción
npm run build
# Ejecutar tests
php artisan test
# Limpiar caché
php artisan cache:clear
php artisan config:clear
php artisan view:clear
# Crear nuevo módulo con evaluación
php artisan db:seed --class=ModuloSeeder
php artisan db:seed --class=EvaluacionSeeder
app/
├── Http/Controllers/ # Controladores
├── Models/ # Modelos Eloquent
├── Http/Middleware/ # Middleware personalizado
└── Providers/ # Service Providers
resources/
├── js/
│ ├── Components/ # Componentes Vue reutilizables
│ ├── Layouts/ # Layouts principales
│ └── Pages/ # Páginas de la aplicación
└── css/ # Estilos globales
database/
├── migrations/ # Migraciones de base de datos
└── seeders/ # Datos de prueba
- Configurar variables de entorno
cp .env.example .env
php artisan key:generate
- Configurar base de datos en producción
# En .env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=sable
DB_USERNAME=usuario
DB_PASSWORD=contraseña
- Migrar y poblar base de datos
php artisan migrate --force
php artisan db:seed --force
- Compilar assets para producción
npm run build
- Laravel 10 con PHP 8.1+
- Vue 3 con Composition API
- Inertia.js para SPA sin APIs
- TailwindCSS para estilos
- SQLite/MySQL como base de datos
- Laravel Breeze para autenticación
- Vite para bundling de assets
- Middleware personalizado para roles
- Validaciones completas en backend y frontend
- Responsive design mobile-first
- Fork el proyecto
- Crea una rama para tu funcionalidad (
git checkout -b feature/nueva-funcionalidad
) - Commit tus cambios (
git commit -am 'Agregar nueva funcionalidad'
) - Push a la rama (
git push origin feature/nueva-funcionalidad
) - Crea un Pull Request
Este proyecto está bajo la Licencia MIT - ver el archivo LICENSE para detalles.
SABLE - Sistema de Aprendizaje de Base Linux Educativa Desarrollado con ❤️ usando Laravel + Vue.js