This is a Next.js project bootstrapped with create-next-app.
The application is used to manage event registration, allowing users to register for campus events while providing an admin dashboard to monitor participants and event capacity.
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun devOpen http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying:
app/page.js
The page auto-updates as you edit the file.
- Next.js (App Router)
- Tailwind CSS
- Heroicons
- Next.js Route Handlers
- Prisma ORM
- Neon PostgreSQL
Install dependencies:
npm install prisma @prisma/clientInitialize Prisma:
npx prisma initConfigure .env:
DATABASE_URL="your-neon-postgresql-url"Push schema and generate client:
npx prisma db push
npx prisma generateStores event information and capacity.
Stores participant registration data and references an event.
GET /api/events
Retrieve all events.
POST /api/events
Create a new event.
GET /api/participants
Retrieve all participants.
POST /api/participants
Register a participant.
Includes validation:
- Required field validation
- Duplicate registration prevention
- Event existence check
- Capacity limit enforcement
The admin dashboard provides:
- Total events
- Total participants
- Active events
- Recent registrations
- Event capacity monitoring
Data is fetched from:
/api/events
/api/participants
- Event creation
- Event listing
- Participant registration
- Duplicate registration protection
- Capacity limitation
- Admin monitoring dashboard
To learn more about Next.js:
You can check out the Next.js GitHub repository:
https://github.com/vercel/next.js
The easiest way to deploy is using:
For deployment details:
https://nextjs.org/docs/app/building-your-application/deploying
- Admin authentication
- Participant export (Excel)
- Email confirmation system