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:
-
Verifica que el error no haya sido reportado anteriormente
-
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)
-
Crea un issue con la etiqueta "bug"
💡 Sugerir Nuevas Funcionalidades
Para proponer mejoras:
- Describe el problema que la funcionalidad resolvería
- Explica la solución propuesta con detalle
- Considera el impacto en la funcionalidad existente
- 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
- Fork el repositorio
- Crea una rama para tu funcionalidad:
git checkout -b feature/nueva-funcionalidad
- Desarrolla tu contribución
- Prueba tu código exhaustivamente
- Commit con mensajes descriptivos
- Push a tu fork
- 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:
-
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
-
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:
- Calidad del código: Legibilidad y mantenibilidad
- Seguridad: No exposición de datos sensibles
- Funcionalidad: Cumple el propósito sin romper existente
- Documentación: Cambios documentados apropiadamente
- 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:
- Facilitar denuncias legítimas: Hacer más accesible el proceso legal
- Automatización responsable: Reducir trabajo manual sin perder control
- Código mantenible: Fácil de entender y modificar
- Documentación clara: Usuarios pueden usar la herramienta seguramente
- Uso ético: Prevenir mal uso del sistema de denuncias
❓ Preguntas
Si tienes preguntas sobre cómo contribuir:
- Revisa la documentación existente
- Busca en issues cerrados por respuestas similares
- Crea un issue con la etiqueta "question"
- Sé específico sobre lo que necesitas ayuda
¡Gracias por ayudar a mejorar esta herramienta para la comunidad!