Files
laliga-denuncias/CONTRIBUTING.md
2025-09-11 22:35:57 +02:00

5.9 KiB

Guía de Contribución

¡Gracias por tu interés en contribuir al Sistema Automatizado de Denuncias LaLiga! Tu ayuda es muy valiosa para mejorar esta herramienta.

🚨 Importante: Uso Responsable

Antes de contribuir, es fundamental entender que esta herramienta debe usarse únicamente para denuncias legítimas de emisiones ilegales. Las contribuciones deben enfocarse en mejorar la funcionalidad para usuarios reales que necesitan reportar infracciones genuinas.

🤝 Formas de Contribuir

🐛 Reportar Errores

Si encuentras un error o problema:

  1. Verifica que el error no haya sido reportado anteriormente

  2. Incluye información detallada:

    • Descripción clara del problema
    • Pasos para reproducir el error
    • Logs relevantes (sin datos personales)
    • Versión de Docker y sistema operativo
    • Configuración de variables de entorno (sin valores sensibles)
  3. Crea un issue con la etiqueta "bug"

💡 Sugerir Nuevas Funcionalidades

Para proponer mejoras:

  1. Describe el problema que la funcionalidad resolvería
  2. Explica la solución propuesta con detalle
  3. Considera el impacto en la funcionalidad existente
  4. Crea un issue con la etiqueta "enhancement"

🔧 Contribuir con Código

Configuración del Entorno de Desarrollo

# Clonar el repositorio
git clone [URL_DEL_REPO]
cd l4l1g4-d3nunc145

# Instalar dependencias
uv sync

# Configurar variables de entorno para desarrollo
cp .env.example .env
# Editar .env con configuración de desarrollo

Proceso de Desarrollo

  1. Fork el repositorio
  2. Crea una rama para tu funcionalidad:
    git checkout -b feature/nueva-funcionalidad
    
  3. Desarrolla tu contribución
  4. Prueba tu código exhaustivamente
  5. Commit con mensajes descriptivos
  6. Push a tu fork
  7. Crea un Pull Request

Estándares de Código

  • Código limpio: Sigue las mejores prácticas de Python
  • Comentarios: Documenta código complejo en español
  • Logging: Usa el sistema de logging existente
  • Variables de entorno: Mantén la compatibilidad con la configuración actual
  • Manejo de errores: Implementa manejo robusto de excepciones

📚 Mejorar la Documentación

La documentación es crucial para los usuarios:

  • README.md: Mejoras en las instrucciones de uso
  • Comentarios de código: Explicaciones claras en español
  • Ejemplos: Casos de uso adicionales para denuncias.yml
  • Solución de problemas: Nuevos casos y soluciones

🌐 Internacionalización

Aunque el proyecto está en español, las contribuciones pueden incluir:

  • Comentarios de código en inglés: Para desarrolladores internacionales
  • Documentación técnica: En inglés para la comunidad global
  • Mensajes de error: Bilingües cuando sea apropiado

🧪 Testing y Validación

Entorno de Pruebas

⚠️ NUNCA pruebes contra el sitio real de LaLiga con datos falsos.

Para desarrollar y probar:

  1. Configura un servidor de pruebas local:

    # Ejemplo con un servidor local que simule el formulario
    TARGET_URL=http://localhost:3000/test-form
    USE_MOCK_DATA=true
    
  2. Usa datos de prueba claramente identificables:

    denuncias:
      - nombre_local: "TEST - No es real"
        descripcion: "PRUEBA - No es una denuncia real"
    

Validación Antes del PR

Antes de enviar tu Pull Request:

  • El código funciona sin errores
  • Los logs son claros y útiles
  • La documentación está actualizada
  • No hay datos sensibles en el código
  • Las variables de entorno funcionan correctamente
  • El Docker build funciona correctamente

📋 Tipos de Contribuciones Necesarias

Prioridad Alta

  • Manejo de errores mejorado: Más robusto ante fallos de red
  • Validación de datos: Verificar formato de emails, códigos postales
  • Logs más detallados: Mejor información para debugging
  • Optimización de rendimiento: Reducir tiempo de espera

Prioridad Media

  • Configuración flexible: Más opciones de personalización
  • Soporte para más formatos de imagen: WEBP, SVG
  • Modo de verificación: Revisar datos antes de enviar
  • Estadísticas: Contador de denuncias enviadas

Prioridad Baja

  • Interfaz gráfica: GUI para usuarios no técnicos
  • Integración con APIs: Automatizar obtención de datos
  • Notificaciones: Alertas cuando se complete el proceso
  • Backup automático: Respaldo de configuraciones

🔍 Revisión de Código

Todos los Pull Requests serán revisados considerando:

  1. Calidad del código: Legibilidad y mantenibilidad
  2. Seguridad: No exposición de datos sensibles
  3. Funcionalidad: Cumple el propósito sin romper existente
  4. Documentación: Cambios documentados apropiadamente
  5. Testing: Evidencia de pruebas realizadas

💬 Comunicación

Idiomas

  • Issues y PRs: Preferiblemente en español
  • Código y comentarios técnicos: Español o inglés
  • Documentación de usuario: Español

Etiqueta

  • Sé respetuoso y constructivo
  • Proporciona contexto suficiente
  • Agradece las contribuciones de otros
  • Mantén las discusiones enfocadas en el tema

🎯 Objetivos del Proyecto

Recuerda que nuestros objetivos son:

  1. Facilitar denuncias legítimas: Hacer más accesible el proceso legal
  2. Automatización responsable: Reducir trabajo manual sin perder control
  3. Código mantenible: Fácil de entender y modificar
  4. Documentación clara: Usuarios pueden usar la herramienta seguramente
  5. Uso ético: Prevenir mal uso del sistema de denuncias

Preguntas

Si tienes preguntas sobre cómo contribuir:

  1. Revisa la documentación existente
  2. Busca en issues cerrados por respuestas similares
  3. Crea un issue con la etiqueta "question"
  4. Sé específico sobre lo que necesitas ayuda

¡Gracias por ayudar a mejorar esta herramienta para la comunidad!