Eventuro es una plataforma para la gestión de eventos (backend en Node.js + frontend con Vite/React). Este repositorio contiene el servidor, la aplicación cliente y scripts de inicialización de base de datos.
Estado: Código fuente presente. Ver carpetas
Backend/ y Frontend/.
Contenido rápido
- Backend:
Backend/(API REST, Prisma, jobs, servicios) - Frontend:
Frontend/(app con Vite + React) - Scripts DB:
script/(archivos SQL de inicialización)
Requisitos
- Node.js >= 16
- npm o yarn
- PostgreSQL (u otra BD soportada por Prisma según
prisma/schema.prisma)
Instalación y ejecución (desarrollo)
- Instalar dependencias en la raíz y en ambos subproyectos:
cd c:\Users\user\Documents\IngSoft\Eventuro
npm install
cd Backend; npm install; cd ..
cd Frontend; npm install; cd ..- Variables de entorno
- Copia o crea un archivo de entorno en
Backend/segúnBackend/config/env.jsy configura la conexión a la base de datos (p. ej.DATABASE_URL) y otras variables (sesión, correo, etc.).
- Inicializar la base de datos (Prisma)
cd Backend
npx prisma migrate dev --name init
node prisma/seed.js
cd ..- Ejecutar servidores
- Backend (desarrollo):
cd Backend
npm run dev # o el script equivalente en package.json- Frontend (desarrollo):
cd Frontend
npm run devComandos útiles
npm run start— iniciar aplicación según lo defina cada package.json.npx prisma studio— abrir Prisma Studio para inspeccionar la BD (ejecutar desdeBackend/).
Estructura principal
Backend/— servidor Express/Node -src/controllers/— controladores de rutas -src/services/— lógica de negocio -src/repositories/— acceso a datos (Prisma) -prisma/— esquema Prisma y seed -jobs/— tareas programadas (ej.incrementCapacityJob.js)Frontend/— cliente con Vite + Reactscript/— SQL de inicialización
Pruebas y logs
- Revisar
Backend/log/para logs del servidor.
Para ejecutar el script de despliegue exitosamente, asegúrate de cumplir con los siguientes requisitos previos y variables de entorno.
- AWS Key Pairs: Se recomienda tener un par de claves creado en tu cuenta de AWS para el acceso a las instancias.
- DuckDNS: Se requiere un token de DuckDNS con los siguientes dominios ya configurados:
eventuroapi-eventuro
El script requiere las siguientes credenciales para funcionar las cuales pueden ser especificadas con un .env o como input en cloudformation al usar el .yaml.
Nota: El script está diseñado para utilizar un bucket S3 externo a la arquitectura principal en AWS.
EmailHost EmailUser EmailPass
GoogleClientId GoogleClientSecret
S3Endpoint S3BucketName S3SecretKey
Contribuir
- Abre un issue para discutir cambios grandes.
- Crea ramas con un prefijo claro:
feature/,fix/,chore/. - Agrega migraciones de Prisma y actualiza
prisma/seed.jssi cambias el modelo.
Licencia
- Revisa el archivo
LICENSEen la raíz para los términos de licencia.