forked from val-lop20/Pagina-de-Asistencia-MAC
6.4 KiB
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:
- Aplicación: http://localhost
- Panel Admin: http://localhost/admin
👤 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:
- Docker Compose ejecuta las migraciones de Django
- Script
init_db.pydetecta si la base de datos está vacía - Si está vacía, carga automáticamente los fixtures desde
backend/fixtures/ - 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 perfilesinitial_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"
- Verifica que los contenedores estén corriendo:
docker-compose -f docker-compose.dev.yml ps - Verifica que el puerto 80 no esté ocupado
- 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
.enva 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:
- Revisa esta guía
- Verifica los logs:
docker-compose -f docker-compose.dev.yml logs - Consulta el README principal del proyecto
- Pregunta al equipo de desarrollo
¡Bienvenido al equipo de desarrollo! 🎉