Skip to content

Camilocostas/adminSena

Repository files navigation

AdminSena — Sistema de Gestión de Migraciones

Laravel PHP License Blade

📋 Descripción

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.

✨ Características principales

  • 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

🚀 Requisitos del sistema

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

📦 Instalación

Opción 1 — Instalación local

1. Clonar el repositorio

git clone https://github.com/Camilocostas/adminSena.git
cd adminSena

2. Instalar dependencias PHP

composer install

3. Instalar dependencias JavaScript (si se usan)

npm install && npm run build

4. Configurar entorno

cp .env.example .env
php artisan key:generate

5. 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 migrate

7. Ejecutar servidor de desarrollo

php artisan serve

Opción 2 — Usando Laravel Sail (Docker)

git 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 migrate

Accede a la aplicación en http://localhost.

🏗️ Estructura del proyecto

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

🔧 Comandos útiles

Desarrollo

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 datos

Migraciones

php 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

Testing (PestPHP)

./vendor/bin/pest                # Todas las pruebas
./vendor/bin/pest --coverage     # Con cobertura
./vendor/bin/pest --colors=always # Modo desarrollador

📊 Gestión de migraciones

El 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

🤝 Contribuciones

¡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 Request

Estándares de código:

  • Seguir PSR-12
  • Usar Laravel Pint para formateo
  • Escribir pruebas con PestPHP
  • Documentar el código cuando sea necesario

🛠️ Stack tecnológico

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

📝 Notas de desarrollo

  • Estado: Activo
  • Fecha inicial: 2 de septiembre de 2025
  • Rama principal: main

📄 Licencia

Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.

📞 Contacto

Releases

Packages

Contributors

Languages