Sistema completo de gestión de tickets de soporte técnico desarrollado con Laravel
- ✨ Características
- 🛠️ Tecnologías
- 👥 Roles de Usuario
- 🚀 Instalación
- 🐳 Despliegue con Docker
- 📱 Uso del Sistema
- 🔒 Seguridad
- 📊 Base de Datos
- 🌐 Despliegue en Producción
- 🤝 Contribuir
- ✅ Gestión Completa de Tickets - Crear, asignar, actualizar y resolver tickets
- ✅ Sistema de Roles - Administrador, Técnico y Cliente con permisos específicos
- ✅ Autenticación Segura - Laravel Fortify + Jetstream con 2FA opcional
- ✅ Interfaz Responsiva - Diseño moderno con Tailwind CSS
- ✅ Dashboard Intuitivo - Paneles específicos para cada rol
- ✅ Notificaciones - Sistema de alertas y notificaciones
- ✅ Búsqueda y Filtros - Encuentra tickets rápidamente
- ✅ Historial de Actividades - Seguimiento completo de cambios
- 📱 Totalmente Responsivo - Funciona perfectamente en móviles y tablets
- 🎯 Navegación Intuitiva - Menús adaptativos según el rol del usuario
- ⚡ Carga Rápida - Optimizado para rendimiento
- 🌙 Interfaz Moderna - Diseño limpio y profesional
Backend | Frontend | Base de Datos | Despliegue |
|
|
|
|
- ✅ Gestión completa del sistema
- ✅ Crear, editar y eliminar usuarios
- ✅ Asignar roles y permisos
- ✅ Ver todos los tickets del sistema
- ✅ Generar reportes y estadísticas
- ✅ Ver tickets asignados
- ✅ Actualizar estado de tickets
- ✅ Agregar comentarios y soluciones
- ✅ Marcar tickets como resueltos
- ✅ Dashboard con métricas personales
- ✅ Crear nuevos tickets de soporte
- ✅ Ver estado de sus tickets
- ✅ Agregar comentarios adicionales
- ✅ Eliminar sus propios tickets
- ✅ Historial completo de solicitudes
- PHP 8.1 o superior
- Composer
- Node.js y npm
- MySQL o PostgreSQL
- Git
# 1. Clonar el repositorio
git clone https://github.com/Utroleee/MVCWorkflow.git
cd MVCWorkflow
# 2. Instalar dependencias de PHP
composer install
# 3. Instalar dependencias de Node.js
npm install
# 4. Copiar archivo de configuración
cp .env.example .env
# 5. Generar clave de aplicación
php artisan key:generate
# 6. Configurar base de datos en .env
# DB_CONNECTION=mysql
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=mesa_ayuda
# DB_USERNAME=tu_usuario
# DB_PASSWORD=tu_contraseña
# 7. Ejecutar migraciones y seeders
php artisan migrate --seed
# 8. Compilar assets
npm run build
# 9. Iniciar servidor de desarrollo
php artisan serve
Visita http://localhost:8000
y usa estas credenciales:
👨💼 Administrador:
- Email:
admin@mesadeayuda.com
- Contraseña:
admin12345
# 1. Construir la imagen
docker build -t mesa-ayuda .
# 2. Ejecutar el contenedor
docker run -p 8000:80 \
-e DB_HOST=tu_host_db \
-e DB_DATABASE=tu_base_datos \
-e DB_USERNAME=tu_usuario \
-e DB_PASSWORD=tu_contraseña \
mesa-ayuda
- Registro - Crea tu cuenta seleccionando el rol "Cliente"
- Crear Ticket - Describe tu problema detalladamente
- Seguimiento - Monitorea el progreso en tiempo real
- Comunicación - Agrega comentarios cuando sea necesario
- Dashboard - Ve todos tus tickets asignados
- Gestión - Actualiza estados y agrega soluciones
- Comunicación - Mantén informado al cliente
- Resolución - Marca tickets como completados
- Panel de Control - Vista general del sistema
- Gestión de Usuarios - Crear y administrar cuentas
- Asignación - Distribuir tickets entre técnicos
- Reportes - Analizar métricas y rendimiento
- 🔐 Autenticación Robusta - Laravel Fortify con hash seguro
- 🛡️ Protección CSRF - Tokens en todos los formularios
- 👮 Middleware de Autorización - Control de acceso por roles
- 🔒 Validación de Datos - Sanitización de entradas
- 📝 Logs de Seguridad - Registro de actividades críticas
⚠️ IMPORTANTE: Cambia estas credenciales en producción
Rol | Contraseña | |
---|---|---|
Administrador | admin@mesadeayuda.com |
admin12345 |
📋 users # Información de usuarios
├── id # Clave primaria
├── name # Nombre completo
├── email # Email único
├── password # Contraseña hasheada
└── timestamps # Fechas de creación/actualización
🎭 roles # Roles del sistema
├── id # Clave primaria
├── name # Nombre del rol
├── description # Descripción del rol
└── timestamps # Fechas de creación/actualización
🎫 tickets # Tickets de soporte
├── id # Clave primaria
├── title # Título del ticket
├── description # Descripción detallada
├── status # Estado actual
├── priority # Prioridad
├── user_id # Cliente que creó el ticket
├── assigned_to # Técnico asignado
└── timestamps # Fechas de creación/actualización
# Ejecutar migraciones
php artisan migrate
# Rollback de migraciones
php artisan migrate:rollback
# Refrescar base de datos
php artisan migrate:fresh --seed
- Fork este repositorio
- Conecta tu cuenta de GitHub con Render
- Crea un nuevo Web Service
- Configura las variables de entorno
- Despliega automáticamente
APP_NAME="Mesa de Ayuda"
APP_ENV=production
APP_KEY=base64:tu_clave_generada
APP_DEBUG=false
APP_URL=https://tu-dominio.com
DB_CONNECTION=pgsql
DB_HOST=tu_host_postgresql
DB_PORT=5432
DB_DATABASE=tu_base_datos
DB_USERNAME=tu_usuario
DB_PASSWORD=tu_contraseña
SESSION_DRIVER=database
SESSION_DOMAIN=.tu-dominio.com
El proyecto incluye workflows automáticos para:
- ✅ Testing automático en cada push
- ✅ Despliegue automático a Render
- ✅ Verificación de código con PHP CS Fixer
- Fork el proyecto
- Crea una rama para tu feature (
git checkout -b feature/AmazingFeature
) - Commit tus cambios (
git commit -m 'Add some AmazingFeature'
) - Push a la rama (
git push origin feature/AmazingFeature
) - Abre un Pull Request
- Seguir PSR-12 para PHP
- Usar Conventional Commits
- Incluir tests para nuevas funcionalidades
- Documentar cambios importantes
- 📧 Email: soporte@mesadeayuda.com
- 🐛 Issues: GitHub Issues
- 📖 Wiki: Documentación Completa
Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.
⭐ Si este proyecto te fue útil, ¡dale una estrella! ⭐
Desarrollado con ❤️ por Tu Nombre