Files
pagasis/SETUP_COLABORADORES.md
T

6.4 KiB

Guía de Configuración para Colaboradores

Esta guía te ayudará a configurar el proyecto en tu máquina local con todos los datos necesarios ya precargados.

🚀 Inicio Rápido (5 minutos)

Prerrequisitos

  • Docker y Docker Compose instalados
  • Git instalado

Paso 1: Clonar el Repositorio

git clone https://github.com/val20-11/Pagina-de-Asistencia-MAC.git
cd Pagina-de-Asistencia-MAC

Paso 2: Configurar Variables de Entorno

# Copiar el archivo de ejemplo
cp .env.development.example .env.development

# (Opcional) Puedes editar .env.development si necesitas cambiar algo
# Por defecto viene configurado y listo para usar

Paso 3: Iniciar el Proyecto

# Iniciar todos los contenedores
docker-compose -f docker-compose.dev.yml up --build -d

# Ver los logs (CTRL+C para salir)
docker-compose -f docker-compose.dev.yml logs -f

Paso 4: Acceder al Sistema

¡Listo! El sistema estará disponible en:

👤 Usuarios Precargados

El sistema viene con usuarios ya creados que puedes usar inmediatamente:

Superusuario (Admin)

  • Usuario: Admin
  • Contraseña: (la contraseña del usuario Admin original)
  • Acceso: Panel de administración completo

Asistentes

  • Usuario: asst_11111111
  • Contraseña: 11111111 (mismo que el número de cuenta)
  • Acceso: Panel de asistentes

Nota: Todos los usuarios y datos están en backend/fixtures/initial_data.json

🔄 Cómo Funciona la Inicialización Automática

Cuando inicias el proyecto por primera vez:

  1. Docker Compose ejecuta las migraciones de Django
  2. Script init_db.py detecta si la base de datos está vacía
  3. Si está vacía, carga automáticamente los fixtures desde backend/fixtures/
  4. Los fixtures incluyen:
    • Usuarios (superusuarios y asistentes)
    • Perfiles de usuario
    • Eventos (si existen)
    • Asistencias (si existen)

No necesitas hacer nada manualmente - todo se configura automáticamente.

🔧 Comandos Útiles

Ver logs en tiempo real

docker-compose -f docker-compose.dev.yml logs -f

Reiniciar contenedores

docker-compose -f docker-compose.dev.yml restart

Detener el proyecto

docker-compose -f docker-compose.dev.yml down

Resetear la base de datos completamente

# Esto elimina todos los datos y volúmenes
docker-compose -f docker-compose.dev.yml down -v

# Luego volver a iniciar (se recargarán los fixtures automáticamente)
docker-compose -f docker-compose.dev.yml up -d

Crear un nuevo superusuario (opcional)

docker-compose -f docker-compose.dev.yml exec backend python manage.py createsuperuser

Acceder a la consola de Django

docker-compose -f docker-compose.dev.yml exec backend python manage.py shell

Ejecutar tests

docker-compose -f docker-compose.dev.yml exec backend pytest

📊 Actualizar con Nuevos Datos

Si el equipo comparte nuevos datos:

Opción 1: Actualizar desde Git (Recomendado)

# Obtener los últimos cambios
git pull origin main

# Reiniciar los contenedores para cargar los nuevos fixtures
docker-compose -f docker-compose.dev.yml down -v
docker-compose -f docker-compose.dev.yml up -d

Opción 2: Cargar fixtures manualmente

# Si solo quieres cargar fixtures específicos sin borrar todo
docker-compose -f docker-compose.dev.yml exec backend python manage.py loaddata backend/fixtures/initial_data.json

🎯 Compartir tus Cambios

Si quieres que otros colaboradores tengan tus datos:

1. Exportar los datos actuales

Usa el script de exportación:

# En Windows PowerShell
python export_fixtures.py

# En Linux/Mac
python3 export_fixtures.py

Esto creará/actualizará archivos en backend/fixtures/:

  • initial_users.json - Usuarios y perfiles
  • initial_events.json - Eventos y asistencias (si existen)

2. Subir a GitHub

git add backend/fixtures/
git commit -m "Actualizar fixtures con nuevos datos"
git push origin main

3. Notificar al equipo

Avisa a tu equipo que ejecuten:

git pull origin main
docker-compose -f docker-compose.dev.yml down -v
docker-compose -f docker-compose.dev.yml up -d

Problemas Comunes

"El contenedor backend no inicia"

# Ver logs del backend
docker-compose -f docker-compose.dev.yml logs backend

# Reintentar con build limpio
docker-compose -f docker-compose.dev.yml up --build

"No puedo acceder a http://localhost"

  1. Verifica que los contenedores estén corriendo:
    docker-compose -f docker-compose.dev.yml ps
    
  2. Verifica que el puerto 80 no esté ocupado
  3. Prueba con http://127.0.0.1

"La base de datos no tiene datos"

# Verificar que los fixtures existan
ls -la backend/fixtures/

# Cargar manualmente si es necesario
docker-compose -f docker-compose.dev.yml exec backend python init_db.py

"Error al cargar fixtures"

# Verificar que los archivos JSON sean válidos
cat backend/fixtures/initial_data.json | python -m json.tool

# Ver logs detallados
docker-compose -f docker-compose.dev.yml exec backend python manage.py loaddata backend/fixtures/initial_data.json --verbosity 2

📁 Estructura de Archivos Importantes

Pagina-de-Asistencia-MAC/
├── .env.development           # Variables de entorno (NO en Git)
├── .env.development.example   # Plantilla de variables de entorno
├── docker-compose.dev.yml     # Configuración Docker para desarrollo
├── export_fixtures.py         # Script para exportar datos
├── backend/
│   ├── init_db.py            # Script de inicialización automática
│   └── fixtures/             # Datos iniciales (fixtures)
│       ├── initial_data.json # Usuarios y perfiles
│       └── initial_events.json # Eventos (si existen)
└── SETUP_COLABORADORES.md     # Esta guía

🔐 Seguridad

  • NO subas archivos .env a GitHub (ya están en .gitignore)
  • Los fixtures pueden contener contraseñas hasheadas (seguras)
  • Si compartes fixtures, asegúrate de que no contengan datos sensibles reales
  • En producción, siempre cambia las contraseñas por defecto

📞 Soporte

Si tienes problemas:

  1. Revisa esta guía
  2. Verifica los logs: docker-compose -f docker-compose.dev.yml logs
  3. Consulta el README principal del proyecto
  4. Pregunta al equipo de desarrollo

¡Bienvenido al equipo de desarrollo! 🎉