|
| 1 | +# Guía para Contribuir |
| 2 | + |
| 3 | +Bienvenido(a) y gracias por tu interés en mejorar el frontend del sitio PyDay Chile. Este documento tiene como objetivo orientarte sobre cómo trabajar en el proyecto y mantener la coherencia en el código, dado que se asume que los colaboradores cuentan con conocimientos básicos de Next.js, Tailwind CSS y CSS en general. |
| 4 | + |
| 5 | +## Requisitos Básicos |
| 6 | + |
| 7 | +Antes de iniciar, se recomienda tener al menos un conocimiento básico sobre: |
| 8 | +- **Next.js**: Framework de React para renderizado del lado del servidor. Consulta la documentación oficial en [Next.js Docs](https://nextjs.org/docs). |
| 9 | +- **Tailwind CSS**: Librería de utilidades para estilos. Revisa [Tailwind CSS Docs](https://tailwindcss.com/docs). |
| 10 | +- **CSS**: Conceptos fundamentales de estilos y estructura en hojas de estilo. |
| 11 | +- Uso de Git y GitHub para la colaboración en desarrollo. |
| 12 | + |
| 13 | +Si tienes dudas técnicas, considera apoyarte en asistentes de IA como [ChatGPT](https://chat.openai.com/), [Claude AI](https://claude.ai/new) o [Deepseek](https://chat.deepseek.com/). Recuerda mencionar las versiones de las herramientas usadas en el proyecto para facilitar respuestas precisas y obtener ejemplos prácticos. |
| 14 | + |
| 15 | +## Flujo de Trabajo |
| 16 | + |
| 17 | +Para minimizar problemas futuros y mantener un flujo de colaboración ordenado, sigue estas pautas: |
| 18 | + |
| 19 | +- **Clonado:** |
| 20 | + Clona el repositorio en tu entorno de desarrollo local. |
| 21 | + |
| 22 | +- **Trabajar en Ramas:** |
| 23 | + Crea una rama nueva para cada funcionalidad, ajuste o corrección de errores. Evita trabajar directamente sobre la rama principal. |
| 24 | + |
| 25 | +- **Mensajes de Commit:** |
| 26 | + Utiliza mensajes claros y descriptivos. Se sugiere un formato como: |
| 27 | + - `feat: agregar nuevo componente X` |
| 28 | + - `fix: corregir bug en Y` |
| 29 | + Esto ayudará a entender rápidamente la finalidad de cada commit. |
| 30 | + |
| 31 | +- **Pull Request (PR):** |
| 32 | + Cuando envíes un PR: |
| 33 | + - Describe claramente qué cambio introduces y por qué. |
| 34 | + - Asegúrate de que los cambios se integren con la estructura establecida del repositorio. |
| 35 | + - Si modificas estilos o componentes (por ejemplo, cambios en Next.js o Tailwind), verifica manualmente la legibilidad, contraste (por ejemplo, con herramientas de accesibilidad) y consistencia visual en distintos navegadores. |
| 36 | + - Revisa si existen cambios pendientes o discusiones abiertas para evitar conflictos, especialmente si hay contribuciones previas o revisiones. |
| 37 | + |
| 38 | +## Estructura del Proyecto |
| 39 | + |
| 40 | +La estructura actual es la siguiente: |
| 41 | + |
| 42 | +```bash |
| 43 | +pyday-frontend/ |
| 44 | +├── public/ # Recursos estáticos, incluyendo imágenes |
| 45 | +│ └── images/ |
| 46 | +│ ├── gallery/ |
| 47 | +│ ├── speakers/ |
| 48 | +│ └── sponsors/ |
| 49 | +│ |
| 50 | +├── src/ |
| 51 | +│ ├── app/ # Rutas y páginas (Next.js 13+ App Router) |
| 52 | +│ ├── components/ # Componentes reutilizables |
| 53 | +│ ├── data/ # Gestión del contenido |
| 54 | +│ └── lib/ # Utilidades y helpers |
| 55 | +│ |
| 56 | +└── tailwind.config.js # Configuración personalizada de Tailwind CSS |
| 57 | +``` |
| 58 | + |
| 59 | +**Importante:** |
| 60 | +- **Nomenclatura:** Preferimos nombres de archivos y rutas en inglés, y de una sola palabra siempre que sea posible. |
| 61 | +- **Estilos:** Evita crear archivos de estilo individuales innecesarios. Comprueba primero si puedes reutilizar `global.css` u otros estilos ya definidos para mantener una experiencia de usuario coherente. |
| 62 | + |
| 63 | +## Uso de Recursos y Documentación |
| 64 | + |
| 65 | +Para profundizar en las tecnologías utilizadas, consulta siempre la documentación oficial: |
| 66 | +- **Next.js:** [Next.js Docs](https://nextjs.org/docs) |
| 67 | +- **Tailwind CSS:** [Tailwind CSS Docs](https://tailwindcss.com/docs) |
| 68 | +- **CSS:** [MDN Web Docs para CSS](https://developer.mozilla.org/es/docs/Web/CSS) |
| 69 | + |
| 70 | +Además, si consideras que alguna herramienta o nueva IA puede ayudar a resolver problemas específicos o acelerar la solución de dudas, siéntete libre de probarla. Solo asegúrate de validar cualquier sugerencia con la documentación oficial o con el equipo. |
| 71 | + |
| 72 | +## Propuestas y Mejoras |
| 73 | + |
| 74 | +Si deseas proponer cambios en el flujo de trabajo, en la estructura del proyecto o en nuevas funcionalidades: |
| 75 | +- Abre un "issue" detallando tu propuesta. |
| 76 | +- Espera el feedback del equipo antes de implementar cambios significativos que puedan afectar la coherencia del proyecto. |
| 77 | + |
| 78 | +## Comunicación y Soporte |
| 79 | + |
| 80 | +Si tienes preguntas o necesitas aclaraciones: |
| 81 | +- Participa en los issues del repositorio. |
| 82 | +- Utiliza los canales de comunicación definidos por el equipo (por ejemplo, Discord, Slack u otros), en caso de que existan. |
| 83 | + |
| 84 | +## Conclusión |
| 85 | + |
| 86 | +Tu contribución es esencial para el éxito del proyecto. Seguiremos trabajando para afinar estos lineamientos y asegurarnos de que el código sea fácil de mantener y evolutivo. Gracias por aportar y por ayudar a que el PyDay Chile Website Frontend siga creciendo con calidad y consistencia. |
| 87 | + |
| 88 | +--- |
| 89 | + |
| 90 | +Este documento puede actualizarse a medida que se vayan definiendo nuevos procesos o se detecten áreas de mejora. ¡Bienvenido(a) a la comunidad y a contribuir en este emocionante proyecto! |
0 commit comments