Este proyecto es una colección de minijuegos Open Source desarrollados con Next.js, TypeScript, TailwindCSS y shadcn. Diseñado para ser modular y fácil de extender.
Cada minijuego está implementado como una página independiente, lo que facilita la navegación y el mantenimiento del código. Enfocado en la colaboración, el proyecto sigue una estructura clara y utiliza tecnologías modernas para ofrecer una experiencia de desarrollo fluida y eficiente.
Además, los contribuidores son agregados automáticamente en /contributors y están ordenados dependiendo de la cantidad de contribuciones realizadas.
¡Gracias por tu interés en contribuir! Sigue estas pautas para asegurarte de que tu aporte se integre correctamente al proyecto:
-
Cada juego es una página: cada minijuego se encuentra como una página independiente dentro del proyecto.
-
Uso de useSetRecentlyPlayed: en el componente principal del juego, debes incluir el custom hook
useSetRecentlyPlayedpara registrar el juego en la sección "Jugado recientemente".- Este hook acepta un único parámetro: el nombre del minijuego, que debe coincidir exactamente con el nombre de la URL.
-
Organización por carpetas:
- Todos los componentes, constantes, contextos, custom hooks, etc., específicos de un juego deben crearse dentro de la carpeta
/src/[tipo]/[juego]. - Los componentes, constantes, contextos, custom hooks, etc. generales (que no pertenecen a un juego específico) deben almacenarse en
/src/[tipo]/general.
- Todos los componentes, constantes, contextos, custom hooks, etc., específicos de un juego deben crearse dentro de la carpeta
-
Exportaciones centralizadas: cada carpeta debe incluir un archivo
index.tspara exportar todos los archivos de esa carpeta.
-
El ancho máximo para pantallas de escritorio es de 1000px.
Para cumplir con esta regla, se recomienda usar el componenteContainer, ubicado en el archivosrc\components\general\container.tsx.
Este componente incluye twMerge, lo que permite personalizar su estilo fácilmente si es necesario. -
El proyecto utiliza shadcn para los componentes de la interfaz de usuario, asegurando consistencia y una experiencia visual moderna. Por favor, sigue este estándar al agregar o modificar componentes.
Hecho con ❤️ por Nacho.