SIGEC
Sistema de Gestión de Congresos - Documentación Técnica
Descripción del Proyecto
SIGEC es una aplicación web desarrollada con Laravel 12.x para la gestión integral de congresos y eventos académicos. Permite administrar usuarios con diferentes roles, gestionar ponencias, pósters, patrocinadores y categorías.
Gestión de Usuarios
Sistema de roles y permisos para asistentes, ponentes y administradores.
Ponencias y Pósters
Admite presentaciones orales y pósters digitales con subida de archivos.
Patrocinadores
Gestión de patrocinadores con niveles de colaboración.
Tecnologías
Configuración Regional
- Idioma: Español (es_ES)
- Zona Horaria: Europe/Madrid
- Locación Faker: es_ES
Roles del Sistema
| Rol | ID | Descripción | Permisos |
|---|---|---|---|
| Asistente | 1 | Participante básico del congreso | Ver dashboard, gestionar perfil |
| Ponente | 2 | Presentador de ponencias y pósters | Asistente + crear/editar/eliminar sus presentaciones y pósters |
| Admin | 3 | Administrador del sistema | Todos los permisos incluyendo gestión de usuarios, sponsors, categorías |
Estructura del Proyecto
├── app/
│ ├── Http/
│ │ ├── Controllers/ # Controladores
│ │ │ ├── Auth/ # Autenticación
│ │ │ └── Tools/ # Herramientas
│ │ ├── Middleware/ # Middlewares personalizados
│ │ └── Requests/ # Validación
│ ├── Models/ # Modelos Eloquent
│ └── Providers/ # Service Providers
├── database/
│ ├── migrations/ # Migraciones
│ ├── seeders/ # Seeders
│ └── factories/ # Factories
├── resources/views/ # Vistas Blade
└── routes/ # Rutas
Guía de Instalación
1. Requisitos Previos
- PHP 8.4 o superior
- Composer
- MySQL 5.7+ / PostgreSQL / SQLite
- Node.js y npm (para assets)
2. Instalación entorno desarrollo local
# Comprobar versiones de php, composer y node
Dentro de la carpeta sigec se encuentra el proyecto hecho en laravel 12.
En el mismo directorio hay una versión local de php, composer y node en las carpetas php y node.
Se han creado los archivos php.bat, composer.bat y npm.bat para ejecutar las versiones locales.
Comandos a ejecutar:
.\php --version # Debe mostrar la version 8.4.19
.\composer --version # Debe mostrar la version 2.9.5 sobre PHP 8.4.19
.\npm --version # Debe mostrar la version 11.11.0
# Instalar dependencias
Hay que instalar las dependencias php y javascript con los siguientes comandos en windows:
.\composer install
.\npm install
# Compilar los assets css y javascript
.\npm run build
# Crear el link para subir los posters y ponencias al servidor
.\php artisan storage:link
# Ejecutar el servidor local de laravel
.\php artisan serve # Tarda un poco
Si se desea cerrar el servidor con Ctrl+C y a continuación
¿Desea terminar el trabajo por lotes (S/N)? s
# Abrir la url en el navegador
http://localhost:8000/ # Tarda un poco por el cache opcache de php y es http no tiene certificado SSL.
# Usuarios de la aplicación con distintos roles
Usuario admin: manuel@iesaguadulce.es contraseña: 12345678
Usuario ponente: lucia@tech.es contraseña: 12345678
Usuario asistente: vito@rancho.es contraseña: 12345678
# Aclaraciones
1. Se han incluido versiones locales de php y node para no tener que instalar nada en el sistema.
2. Es necesario ejecutar .\npm run build para que la que los css se vean correctamente.
3. En principio ya hay introducidos datos de prueba en la base de datos.
La base de datos está situada en database/database.sqlite
3. Instalación en produccion
# Clonar repositorio
git clone https://github.com/antonioverdugo/sigec.git;
cd sigec
# Instalar dependencias
composer install
npm install
# Copiar archivo de configuración
cp .env.example .env
# Configurar el archivo .env
APP_NAME=Sigec
APP_ENV=production
APP_DEBUG=false
APP_URL=https://sigec.novaimagen.es
# Generar clave de aplicación
php artisan key:generate
# Ejecutar migraciones
php artisan migrate
# Poblar base de datos (opcional)
php artisan db:seed
# Compilar assets
npm run build
# Configurar el servidor lamp
Instalar apache
Intalar php y sus extensiones para que funcione laravel
Configurar el virtual host para que apunte a la carpeta public del proyecto
Crear el certificado SSL para el dominio
Configurar el servidor para que use el certificado SSL
4. Configuración
Editar el archivo .env con las
credenciales de base de datos:
DB_CONNECTION=sqlite
#DB_HOST=127.0.0.1
#DB_PORT=3306
#DB_DATABASE=sigec
#DB_USERNAME=root
#DB_PASSWORD=
Datos de Prueba
El proyecto incluye seeders que crean usuarios de prueba con diferentes roles:
Usuario admin: manuel@iesaguadulce.es contraseña: 12345678
Usuario ponente: lucia@tech.es contraseña: 12345678
Usuario asistente: vito@rancho.es contraseña: 12345678
Tipos de Presentación
| ID | Nombre | Descripción |
|---|---|---|
| 1 | oral | Presentación en PowerPoint, Keynote o PDF de forma presencial |
| 2 | poster | Presentación en formato PDF o imagen de una sola página |
Categorías
| ID | Nombre | Descripción |
|---|---|---|
| 1 | General | Categoría preestablecida |
| 2 | Ciberseguridad | Temas de seguridad informática |
| 3 | Cloud Computing | Computación en la nube |
| 4 | Administración de Sistemas | Gestión de infraestructura |