AdminSena es un sistema de gestión de migraciones para el SENA, diseñado para administrar y controlar eficientemente los procesos migratorios. Desarrollado con Laravel 12, proporciona una interfaz robusta y segura para la gestión de datos migratorios.
- Gestión completa de procesos migratorios
- Arquitectura moderna basada en Laravel 12
- Sistema de autenticación y autorización
- Migraciones de base de datos optimizadas
- Interfaz responsiva con Blade
- Pruebas automatizadas con PestPHP
| Requisito | Versión |
|---|---|
| PHP | ^8.2 |
| Composer | Última versión estable |
| MySQL / MariaDB | 8.0+ |
| Node.js | 16+ (para assets) |
| Docker | Opcional, para Laravel Sail |
1. Clonar el repositorio
git clone https://github.com/Camilocostas/adminSena.git
cd adminSena2. Instalar dependencias PHP
composer install3. Instalar dependencias JavaScript (si se usan)
npm install && npm run build4. Configurar entorno
cp .env.example .env
php artisan key:generate5. Configurar base de datos en tu archivo .env:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=adminSena
DB_USERNAME=root
DB_PASSWORD=6. Ejecutar migraciones
php artisan migrate7. Ejecutar servidor de desarrollo
php artisan servegit clone https://github.com/Camilocostas/adminSena.git
cd adminSena
cp .env.example .env
./vendor/bin/sail up -d
./vendor/bin/sail artisan key:generate
./vendor/bin/sail artisan migrateAccede a la aplicación en http://localhost.
adminSena/
├── app/
│ ├── Http/
│ │ ├── Controllers/ # Controladores principales
│ │ └── Middleware/ # Middlewares personalizados
│ ├── Models/ # Modelos Eloquent
│ └── Providers/ # Proveedores de servicios
├── database/
│ ├── migrations/ # Migraciones principales
│ ├── seeders/ # Datos de prueba
│ └── factories/ # Fábricas para testing
├── resources/
│ ├── views/ # Vistas Blade
│ └── css/ # Estilos
├── tests/
│ ├── Feature/ # Pruebas de características
│ └── Unit/ # Pruebas unitarias
├── routes/
│ ├── web.php # Rutas web
│ └── api.php # Rutas API
└── docker/ # Configuración Docker
php artisan serve # Ejecutar servidor de desarrollo
php artisan test # Ejecutar pruebas
./vendor/bin/pint # Formatear código (Laravel Pint)
php artisan cache:clear # Limpiar caché
php artisan route:clear
php artisan view:clear
php artisan tinker # Interacción con base de datosphp artisan migrate # Ejecutar migraciones
php artisan make:migration nombre_de_la_migracion # Crear nueva migración
php artisan migrate --force # Ejecutar en producción
php artisan migrate:rollback # Revertir última migración./vendor/bin/pest # Todas las pruebas
./vendor/bin/pest --coverage # Con cobertura
./vendor/bin/pest --colors=always # Modo desarrolladorEl sistema utiliza migraciones de Laravel para gestionar la estructura de la base de datos. Se encuentran en database/migrations/, organizadas por fecha.
Convenciones:
- Formato:
YYYY_MM_DD_HHmmss_nombre_de_la_migracion.php - Roles: migraciones estructuradas específicamente para SENA
- Seeders: datos de prueba generados con FakerPHP
¡Las contribuciones son bienvenidas!
# 1. Fork el repositorio
# 2. Crea una rama para tu característica
git checkout -b feature/nueva-caracteristica
# 3. Commit tus cambios
git commit -m "feat: añadir nueva característica"
# 4. Push a la rama
git push origin feature/nueva-caracteristica
# 5. Abre un Pull RequestEstándares de código:
- Seguir PSR-12
- Usar Laravel Pint para formateo
- Escribir pruebas con PestPHP
- Documentar el código cuando sea necesario
| Tecnología | Versión | Propósito |
|---|---|---|
| Laravel | 12.0 | Framework principal |
| PHP | ^8.2 | Lenguaje de programación |
| Blade | - | Sistema de templates |
| MySQL | 8.0+ | Base de datos |
| PestPHP | ^3.8 | Pruebas automatizadas |
| Laravel Sail | ^1.41 | Entorno Docker |
| Laravel Pint | ^1.24 | Formateo de código |
| FakerPHP | ^1.23 | Datos de prueba |
- Estado: Activo
- Fecha inicial: 2 de septiembre de 2025
- Rama principal:
main
Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.
- Repositorio: Camilocostas/adminSena
- Issues: GitHub Issues