The HackKU Management System helps manage hackathon logistics, from participant registration to event check-ins. It provides organizers and admins with tools to easily manage users, events, and real-time attendance through a simple web interface.
- User Registration & Login: Sign in using email and passwordless authentication.
- QR Code Check-Ins: Participants receive QR codes to check into events.
- Admin Dashboard: Full control over users, events, and check-in stats.
- Real-time Tracking: Track attendance and check-ins in real time.
- Frontend: Next.js, React, TypeScript, Tailwind CSS, shadcn/ui
- Backend: Next.js App Router, Prisma, PostgreSQL, NodeMailer
- Deployment: Vercel
-
Clone the repository:
git clone https://github.com/the-hackku/hackku25-website/tree/nextjs
-
Install dependencies:
npm install
-
Set up environment variables:
- Copy the
.env.examplefile to.env:cp .env.example .env
- Fill in your database URL and other environment variables in the
.envfile:DATABASE_URL="your-database-url" EMAIL_SERVER="smtp://username:password@mailserver.com:587"
- Copy the
-
Initialize the database with Prisma:
npx prisma migrate dev --name init
This command will create the necessary tables in your database.
-
Generate the Prisma client:
npx prisma generate
-
Run the development server:
npm run dev
-
Visit
http://localhost:3000in your browser to access the application.
Use npx prisma studio to view the database
- Register: Participants sign up, providing their details.
- Check-In: Use QR codes to check into events.
- Admin Panel: Manage users, events, and monitor live attendance.
- Export Data: Export event and user data to Google Sheets for backup.