# 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 ```bash # 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: ```bash 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**: ```bash # 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**: ```yaml 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!**