HackSprint is a comprehensive, AI-powered SaaS platform built with Next.js and Firebase to streamline the organization and management of internal college hackathons. It provides a seamless experience for students, judges, and administrators, from registration and team formation to final project judging and results announcement.
- Role-Based Portals: Separate, dedicated interfaces for Students, Judges, and Administrators.
- Team Management: Students can easily create new teams or join existing ones with a unique code.
- AI-Powered Assistance:
- Idea Generation: Stuck for an idea? The AI suggests creative project ideas based on user interests.
- Code Review: Get instant, AI-powered feedback on submitted GitHub repositories.
- Project Summaries: AI generates concise summaries of projects to assist judges in their evaluation.
- Guidance Hub: An AI chatbot to answer questions about hackathons, career paths, and more.
- Real-time Leaderboard: A live, dynamic leaderboard visualizes team scores and rankings as they come in.
- Project Showcase: A gallery to display all submitted projects, celebrating the participants' work.
- Fair & Easy Judging: A dedicated portal for judges to view submissions, score projects against a defined rubric, and view AI-generated summaries.
- Admin Dashboard: Centralized control for admins to manage users, approve registrations, add judges, and post announcements.
- Automated Certificate Generation: Winners can download a verifiable PDF certificate of achievement .
- Framework: Next.js (with App Router)
- Styling: Tailwind CSS & ShadCN UI for componentry.
- AI Integration: Google AI (Gemini) via Genkit
- Database & Auth (Simulated): State management using React Context and
localStorageto simulate a Firebase backend. - Deployment: Ready for Vercel or Firebase App Hosting.
Follow these instructions to get a copy of the project up and running on your local machine for development and testing purposes.
-
Clone the repository:
git clone https://github.com/PDR-Dhanu/hacksprint_ cd hacksprint -
Install dependencies:
npm install
-
Set up environment variables: Create a
.envfile in the root of the project and add your Google Gemini API key. You can get a free key from Google AI Studio.NEXT_PUBLIC_GEMINI_API_KEY=YOUR_API_KEY_HERE
-
Run the development server:
npm run dev
The application should now be running at http://localhost:9002.
The project follows a standard Next.js App Router structure:
/
├── public/ # Static assets
├── src/
│ ├── app/ # Main application routes and pages
│ │ ├── (portals)/ # Route groups for admin, judge, student, etc.
│ │ │ ├── page.tsx
│ │ │ └── _components/
│ │ ├── layout.tsx # Root layout
│ │ └── page.tsx # Homepage
│ ├── ai/ # Genkit AI flows and configuration
│ │ ├── flows/
│ │ └── genkit.ts
│ ├── components/ # Shared UI components (layout, ShadCN UI)
│ ├── context/ # React Context for state management
│ ├── hooks/ # Custom React hooks
│ ├── lib/ # Helper functions, constants, types
└── ... # Config files (tailwind, next, etc.)
This project leverages Genkit, a framework for building AI-powered features, to connect to the Gemini API.
- Location: All AI-related logic is located in
src/ai/. - Configuration: The central Genkit configuration is in
src/ai/genkit.ts, which initializes the Google AI plugin with the API key from the.envfile. - Flows: Individual AI features (like idea generation or code review) are defined as "flows" in
src/ai/flows/. Each flow encapsulates a prompt and the logic for interacting with the Gemini model. - Server Actions: The frontend communicates with these flows via Next.js Server Actions defined in
src/app/actions.ts.
This application is optimized for deployment on Vercel or Firebase App Hosting.
- Push your code to a Git repository (GitHub, GitLab, Bitbucket).
- Import the repository into your Vercel dashboard.
- Vercel will automatically detect the Next.js framework.
- Important: Add your
NEXT_PUBLIC_GEMINI_API_KEYas an environment variable in the Vercel project settings. - Click "Deploy". Vercel will build and deploy your application.
This project was developed by Dhanunjay Reddy Palakolanu.
- GitHub: @PDR-Dhanu
- LinkedIn: dhanunjay-reddy-palakolanu-pdr
- X (Twitter): @PDReddyDhanu
- YouTube: @pdreddy
