Gestión integral de datos y procesos para el evento Patrones Hermosos.
- Frontend: Next.js (React) + Tailwind CSS
- Backend/API: Node.js + Express
- ORM: Prisma (MySQL)
- Testing: Jest, Testing Library, Cypress
- Control de versiones: Git + GitHub
├── prisma/ # Esquema, migraciones y datos semilla de la base de datos
│ ├── schema.prisma
│ ├── migrations/
│ └── seed/
├── public/ # Archivos estáticos (imágenes, PDFs, íconos, diplomas)
│ ├── assets/
│ └── diplomas/
├── scripts/ # Utilidades y scripts de automatización (íconos, SQL, releases)
├── src/ # Código fuente principal
│ ├── app/ # Entradas de Next.js, layouts, páginas y estilos globales
│ ├── components/ # Componentes reutilizables (UI, íconos, hooks, tablas, etc.)
│ ├── controllers/ # Lógica de negocio y controladores Express
│ ├── middlewares/ # Middlewares de Express
│ ├── routes/ # Definición de rutas Express
│ ├── services/ # Servicios auxiliares (correo, archivos, etc.)
│ ├── types/ # Tipos y definiciones TypeScript
│ ├── uploads/ # Archivos temporales y subidas
│ ├── validators/ # Validaciones de datos
│ └── __tests__/ # Pruebas unitarias y de integración
├── .env # Variables de entorno (no versionado)
├── package.json # Dependencias y scripts
├── tsconfig.json # Configuración TypeScript
└── README.md
-
Clona el repositorio:
git clone https://github.com/usuario/proyecto.git cd proyecto -
Instala las dependencias:
npm install
-
Configura el entorno:
Crea un archivo
.enven la raíz con el siguiente contenido (ajusta según tu entorno):DATABASE_URL="mysql://root@localhost:3306/patrones-hermosos" DATABASE_NAME=patrones-hermosos JWT_SECRET=mi_clave_secreta NEXT_PUBLIC_API_URL=http://localhost:3000 EMAIL_USER=TU_EMAIL EMAIL_PASS=TU_CONTRASEÑA (Para saber cómo conectar tu cuenta de Gmail a este programa, puedes ver la siguiente página https://support.google.com/mail/answer/185833?hl=es-419)
-
Prepara la base de datos:
npx prisma migrate reset
Esto elimina la base de datos, aplica migraciones y ejecuta el seed.
-
Inicia el servidor de desarrollo:
npm run dev
npm run dev– Inicia el servidor Express y Next.js en modo desarrollonpm run build– Compila backend y frontend para producciónnpm run start– Ejecuta la app en modo producciónnpm run icons– Genera componentes React desde SVGs enpublic/assets/iconsnpm run sql– Convierte los JSON deprisma/seeda SQLnpm run test– Ejecuta pruebas unitarias con Jest
-
Crea una rama para tu feature o fix:
git checkout -b feature/nombre-de-la-rama
-
Realiza tus cambios y súbelos:
git add . git commit -m "feat: descripción clara" git push origin feature/nombre-de-la-rama
-
Abre un Pull Request hacia
main.
Consulta la Guía de Contribución para más detalles.
- No trabajes directamente sobre
main. - Usa mensajes de commit claros (
feat:,fix:, etc.). - Mantén ramas pequeñas y enfocadas.
- Prueba tus cambios antes de subirlos.
- Documenta nuevas funciones/componentes.
Proyecto desarrollado y mantenido por el equipo de ByteForge.
This software is based on the original work by Diego López Romero, Fernando Maggi Llerandi, Alejandro Guzmán Sánchez and Rodrigo López Guerra for the organization Patrones Hermosos, 2025.