UniEvents is a full-stack event management system designed for universities and their faculties. It provides a structured multi-tenant hierarchy — universities contain faculties (tenants), each of which can independently manage events, spaces, attendees, and payments under a unified role-based access model.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Edfermachado/proyectoSistemas/llms.txt
Use this file to discover all available pages before exploring further.
Quickstart
Get UniEvents running locally in minutes with database setup and seed data.
Architecture
Understand the multi-tenant data model, service layer, and Next.js App Router structure.
Core Concepts
Learn about tenants, roles, events, spaces, tickets, and the payment workflow.
API Reference
Explore every REST endpoint — authentication, events, users, tickets, and more.
Platform Overview
UniEvents is built for three distinct user personas, each with their own portal and capabilities:Super Admin
Manage the entire network of universities, faculties, categories, and system settings.
Faculty Admin
Create events, manage spaces, verify payments, scan QR tickets, and view faculty metrics.
End User
Register for events, upload payment proofs, and access QR-coded tickets from a personal profile.
Key Features
Multi-Tenant Architecture
Universities contain multiple faculty tenants. Each tenant has isolated event management with shared global discovery.
QR Ticket System
Every attendee registration generates a unique QR ticket token. Scanning marks it as used with a tamper-proof audit log.
Payment Workflow
Attendees upload payment screenshots. Faculty admins approve or reject them, toggling ticket status to confirmed.
Space Conflict Detection
The event service automatically prevents double-booking of spaces using an interval overlap algorithm.
Role-Based Access
Five roles: superadmin, tenant_admin, event_manager, access_control, and user — each with scoped permissions.
External Requests
Accept and manage sponsorship, press accreditation, and broadcasting rights requests per event.
Getting Started
Set up the database
Configure a PostgreSQL instance and set the
DATABASE_URI environment variable. UniEvents uses Drizzle ORM with schema migrations.Configure environment variables
Set
JWT_SECRET, DATABASE_URI, and optional Supabase credentials for image storage.Run migrations and seed
Apply the Drizzle schema and run
pnpm seed to populate initial data including a superadmin account.See the Quickstart guide for the complete step-by-step setup with all environment variables and seed commands.