Join the Agent Deck Discord Server!
Check out the Agent Deck community on Discord – hang out with 357 other members and enjoy free voice and text chat.
Eventia: plataforma de eventos universitarios (NestJS + JWT)
Translation pending
SocialTypeScript · JavaScriptGitHub @4rchilaOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Plataforma web para publicar eventos, buscar actividades e inscribirse. Actividad de Programación Web (URL).
Demo: https://eventia-pied.vercel.app · API docs: https://eventia-pied.vercel.app/api/docs
npm install
cp .env.example .env
Edite .env y cambie JWT_SECRET.
npm run start:dev
| Correo | Contraseña | Rol |
|---|---|---|
| [email protected] | admin123 | administrador |
| [email protected] | organizador123 | organizador |
| [email protected] | organizador123 | organizador |
| [email protected] | usuario123 | usuario |
npm run test:e2e
Usa la base data/eventia-e2e.sqlite.
Cubre (12 tests): login con mensaje genérico, token ausente/inválido/vencido (401), token válido (200), registro que intenta asignarse rol (400), cupo negativo (400), inscripción que supera el cupo, organizador que edita evento ajeno (403) o propio (200), evento cerrado (409) y usuario que consulta inscripción ajena.
docker compose up -d --build # app en http://localhost:3000, Postgres con volumen pgdata
docker compose down # los datos persisten en el volumen pgdata
Si DATABASE_URL está definida se usa PostgreSQL; si no, SQLite local.
Vercel detecta NestJS sin configuración adicional. Variables necesarias:
| Variable | Valor |
|---|---|
| JWT_SECRET | secreto propio (no reutilizar el de .env) |
| JWT_EXPIRES | 1h |
| DATABASE_URL | la inyecta Neon (Vercel → Storage → Neon) |
Sin DATABASE_URL se usa SQLite en DATABASE_PATH (p. ej. /tmp/eventia.sqlite), que en serverless es efímero: los datos vuelven a la semilla en cada arranque en frío.
Informe de despliegue, Docker y persistencia: docs/actividad-27.md.
El informe (Actividad 24) menciona cookies HttpOnly y refresh tokens; la implementación sigue docs/plan-implementacion.md: JWT Bearer de 1 h guardado en localStorage, sin refresh token.