HackDesk is a high-performance event management system designed to seamlessly handle large-scale hackathons. It features a robust registration and check-in system, alongside a unique AI-powered Hackathon Idea Generator equipped with atomic locking to prevent race conditions during high-traffic claim events.
Built with modern web technologies to ensure low latency, high availability, and a premium user experience.
👥 Smart Registration & Attendance: Bulk-import participants via CSV parsing. Manually add late or on-the-spot attendees seamlessly. Active Session tracking (e.g., "Day 1", "Day 2") for accurate multi-day check-ins.
🧠 AI-Powered Idea Pool (Pre-generation Architecture): Organizers can generate batches of beginner-friendly project ideas based on specific themes using the Groq AI API. Pre-generating ideas prevents API rate limits and keeps the end-user experience lightning fast.
🔒 Concurrency-Proof Idea Claiming: Engineered with atomic database transactions. If 100 students click "Generate" at the exact same millisecond, the PostgreSQL backend uses strict isolation and row-level locking to ensure one unique idea is assigned per student. Zero duplicate claims.
📊 Admin Dashboard: Clean, intuitive UI for event organizers to manage themes, monitor the idea pool, and export attendance data.
Framework: Next.js 16 (App Router) Language: TypeScript Styling: Tailwind CSS Database & Auth: Supabase (PostgreSQL) with Row Level Security (RLS) AI Engine: Groq API (LLM Inference)
Prerequisites Make sure you have Node.js installed on your machine. You will also need active Supabase and Groq API accounts.
1. Clone the repository
git clone [https://github.com/CodeWithMehru/Hackathon-Management.git](https://github.com/CodeWithMehru/Hackathon-Management.git)
cd Hackathon-Management2. Install dependencies
npm install3. Set up Environment Variables
Create a .env.local file in the root directory and add the following keys securely:
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
GROQ_API_KEY=your_groq_api_key4. Run the Development Server
npm run devOpen http://localhost:3000 with your browser to see the result.
This project relies on specific tables in Supabase:
Hackathon_Attendance: Manages attendee data, sessions, and check-in status. Theme_Ideas: Stores AI-generated ideas, tracking the is_claimed boolean status to enable atomic locking.
Built by CodeWithMehru