🤝Guía de Contribución - ToLearn

¡Gracias por tu interés en contribuir a ToLearn! Esta guía te ayudará a realizar contribuciones de manera efectiva.

📋 Tabla de Contenidos

📜 Código de Conducta

Nuestro Compromiso

Nos comprometemos a hacer de la participación en nuestro proyecto una experiencia libre de acoso para todos, independientemente de:

  • Edad

  • Tamaño corporal

  • Discapacidad visible o invisible

  • Etnicidad

  • Características sexuales

  • Identidad y expresión de género

  • Nivel de experiencia

  • Educación

  • Estatus socioeconómico

  • Nacionalidad

  • Apariencia personal

  • Raza

  • Religión

  • Identidad y orientación sexual

Comportamiento Esperado

Hacer:

  • Usar lenguaje acogedor e inclusivo

  • Respetar puntos de vista y experiencias diferentes

  • Aceptar críticas constructivas con gracia

  • Enfocarse en lo mejor para la comunidad

  • Mostrar empatía hacia otros miembros

No Hacer:

  • Usar lenguaje o imágenes sexualizadas

  • Hacer comentarios insultantes o despectivos

  • Acosar públicamente o privadamente

  • Publicar información privada sin permiso

  • Otras conductas no profesionales

Aplicación

Los administradores del proyecto son responsables de aclarar y hacer cumplir estos estándares. Tomarán acciones correctivas apropiadas en respuesta a cualquier comportamiento inaceptable.

🎯 Cómo Contribuir

Tipos de Contribuciones

1. Reportar Bugs 🐛

¿Encontraste un error? Ayúdanos reportándolo.

2. Sugerir Funcionalidades 💡

¿Tienes una idea para mejorar ToLearn? Compártela.

3. Mejorar Documentación 📚

La documentación siempre puede mejorar.

4. Escribir Código 💻

Implementa nuevas funcionalidades o arregla bugs.

5. Revisar Pull Requests 👀

Ayuda revisando código de otros contribuidores.

6. Traducir 🌍

Ayuda a traducir la plataforma a más idiomas.

Primeros Pasos

  1. Fork el Repositorio

  2. Configurar Upstream

  3. Crear Rama de Trabajo

  4. Configurar Entorno

Áreas que Necesitan Ayuda

Busca issues con las siguientes etiquetas:

  • good first issue - Perfecto para principiantes

  • help wanted - Necesitamos ayuda

  • bug - Bugs reportados

  • enhancement - Nuevas funcionalidades

  • documentation - Mejoras de documentación

🔄 Proceso de Pull Request

Antes de Empezar

  1. Busca issues existentes

    • Revisa si alguien más ya está trabajando en ello

    • Comenta en el issue para indicar que trabajarás en ello

  2. Discute cambios grandes

    • Para funcionalidades grandes, abre un issue primero

    • Discute el diseño antes de invertir mucho tiempo

Hacer el Pull Request

1. Realiza tus Cambios

2. Escribe Tests

Ejecuta tests:

3. Actualiza Documentación

Si tu cambio afecta la funcionalidad pública:

  • Actualiza docstrings

  • Actualiza README si es necesario

  • Agrega ejemplos de uso

4. Commit tus Cambios

5. Push a tu Fork

6. Crear Pull Request

  1. Ve a GitHub

  2. Click en "New Pull Request"

  3. Selecciona tu rama

  4. Llena la plantilla del PR (ver abajo)

Plantilla de Pull Request

Proceso de Revisión

  1. Revisión Automática

    • CI ejecuta tests automáticamente

    • Verifica linters y formateo

  2. Revisión por Pares

    • Al menos un maintainer revisará tu código

    • Puede solicitar cambios

  3. Hacer Cambios Solicitados

  4. Merge

    • Una vez aprobado, un maintainer hará merge

    • Tu contribución aparecerá en el proyecto

🐛 Reportar Bugs

Antes de Reportar

  • Busca en issues existentes

  • Verifica que usas la última versión

  • Confirma que es un bug y no un problema de configuración

Cómo Reportar

Crea un nuevo issue con la siguiente información:

Pega logs de error aquí

💡 Sugerir Mejoras

Tipos de Sugerencias

  1. Nuevas Funcionalidades

    • Describe el problema que resuelve

    • Explica la solución propuesta

    • Considera alternativas

  2. Mejoras de UX/UI

    • Explica el problema actual

    • Proporciona mockups si es posible

    • Considera impacto en usuarios

  3. Mejoras de Rendimiento

    • Identifica el cuello de botella

    • Proporciona benchmarks si es posible

    • Sugiere optimización

Plantilla de Feature Request

🎨 Guía de Estilo

Python

Seguimos PEP 8 con adaptaciones:

Django Específico

JavaScript

CSS/HTML

📝 Estructura de Commits

Usamos Conventional Commits:

Formato

Tipos

  • feat: Nueva funcionalidad

  • fix: Corrección de bug

  • docs: Cambios en documentación

  • style: Cambios de formato (no afectan código)

  • refactor: Refactorización de código

  • test: Agregar o modificar tests

  • chore: Tareas de mantenimiento

  • perf: Mejoras de rendimiento

Ejemplos

Alcance

El alcance especifica qué parte del código se afecta:

  • courses - Sistema de cursos

  • dashboard - Panel de control

  • webinar - Sistema de webinars

  • auth - Autenticación

  • api - API endpoints

  • admin - Panel administrativo

  • docs - Documentación

👥 Comunidad

Canales de Comunicación

  • GitHub Issues: Bugs y feature requests

  • GitHub Discussions: Preguntas y discusiones generales

Reconocimientos

Reconocemos a todos los contribuidores en:

  • README.md

  • CONTRIBUTORS.md (si existe)

  • Release notes

Niveles de Contribución

Contributor

  • Ha realizado al menos una contribución aceptada

Regular Contributor

  • 5+ contribuciones aceptadas

  • Ayuda en revisiones de PR

  • Participa activamente en discusiones

Core Contributor

  • 20+ contribuciones significativas

  • Experiencia profunda en el proyecto

  • Ayuda a mantener el proyecto

Maintainer

  • Responsable de revisión y merge de PRs

  • Toma decisiones sobre roadmap

  • Administra el repositorio

🎓 Recursos para Nuevos Contribuidores

Tutoriales

Documentación

Herramientas

❓ Preguntas Frecuentes

P: ¿Necesito saber Django para contribuir? R: No necesariamente. Puedes contribuir con documentación, traduciones, reportar bugs, etc.

P: ¿Cuánto tiempo toma que revisen mi PR? R: Típicamente 2-7 días. Si no recibes respuesta en una semana, comenta en el PR.

P: ¿Puedo trabajar en múltiples issues a la vez? R: Sí, pero recomendamos enfocarte en uno a la vez para mantener la calidad.

P: ¿Qué hago si mi PR no es aceptado? R: No te desanimes. Revisa los comentarios, aprende de ellos, y sigue contribuyendo.

P: ¿Dónde encuentro issues para principiantes? R: Busca el label good first issue en GitHub Issues.

📜 Licencia

Al contribuir a ToLearn, aceptas que tus contribuciones serán licenciadas bajo la misma licencia del proyecto (MIT License).


🙏 Agradecimientos

¡Gracias por considerar contribuir a ToLearn! Cada contribución, sin importar su tamaño, es valiosa y apreciada.

Juntos estamos construyendo una mejor plataforma educativa para todos. 🎓✨


¿Listo para contribuir?

  1. Encuentra un issue

  2. Comenta que trabajarás en él

  3. Fork el repo

  4. Haz tus cambios

  5. Envía un PR

¡Esperamos tu contribución! 🚀

Last updated