chore: initial commit

This commit is contained in:
2025-09-11 22:35:57 +02:00
commit c8a8c3aa9f
14 changed files with 1502 additions and 0 deletions

186
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,186 @@
# 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!**