Skip to content

An open-source hackathon registration management platform focused exclusively on event registration functionality. Extracted from the full HackFlow platform to provide a streamlined, easy-to-deploy solution for hackathon organizers.

Notifications You must be signed in to change notification settings

jdanjohnson/HackFlow-Lite-Hackathon-Manager

Repository files navigation

HackFlow Lite: Registration Manager

An open-source hackathon registration management platform focused exclusively on event registration functionality. Extracted from the full HackFlow platform to provide a streamlined, easy-to-deploy solution for hackathon organizers.

Deployed on HackFlow.org License PRs Welcome

🌟 Features

πŸ” Authentication System

  • Organizer and applicant role-based authentication
  • Secure login/logout with session management
  • Profile management with role assignments

πŸ“… Event Management

  • Create and configure hackathon events
  • Set event dates, location, and participant limits
  • Manage registration windows and event visibility
  • Event dashboard with overview and analytics

πŸ“ Registration Form Builder

  • Drag-and-drop custom question builder
  • Multiple field types (text, email, select, checkbox, textarea)
  • Question reordering and live preview
  • Standard questions (name, email, university) included

🌐 Public Registration Pages

  • Unique event URLs for public registration
  • Dynamic form rendering based on organizer configuration
  • Client-side validation and error handling
  • Responsive design for all devices

πŸ‘₯ Applicant Management

  • Comprehensive applicant listing and filtering
  • Detailed application review interface
  • Application status management (pending, accepted, rejected, waitlisted)
  • Export functionality for applicant data

πŸš€ Cloud Hosted Version

HackFlow Lite is available as a fully managed service at HackFlow.org. The cloud version includes:

  • Managed infrastructure with automatic updates
  • Enhanced security features
  • Premium support options
  • Advanced analytics dashboard
  • Integration with additional HackFlow modules

Sign up for a free account at HackFlow.org to get started immediately without any setup required.

πŸ”§ Tech Stack

  • Frontend: Next.js 15.3.3 with React 18 and TypeScript
  • Styling: Tailwind CSS with shadcn/ui components
  • Authentication: Supabase Auth
  • Database: PostgreSQL with Row Level Security (RLS)
  • Forms: React Hook Form with Zod validation
  • Deployment: Vercel-compatible

🏁 Quick Start

Prerequisites

  • Node.js 18+ and npm
  • Supabase account (for authentication and database)

1. Clone and Install

git clone <repository-url>
cd hackflow-lite
npm install

2. Environment Setup

Copy the environment template:

cp .env.local.example .env.local

Update .env.local with your Supabase credentials:

# Supabase Configuration
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key

# Application Configuration
NEXT_PUBLIC_APP_URL=http://localhost:3000

3. Database Setup

Option A: Using Supabase Dashboard

  1. Go to your Supabase project dashboard
  2. Navigate to the SQL Editor
  3. Run the migration files in order:
    • First: supabase/migrations/001_initial_schema.sql
    • Second: supabase/migrations/002_rls_policies.sql

Option B: Using Supabase CLI

# Install Supabase CLI
npm install -g supabase

# Initialize Supabase in your project
supabase init

# Link to your project
supabase link --project-ref your-project-ref

# Run migrations
supabase db push

4. Run Development Server

npm run dev

Open http://localhost:3000 to view the application.

5. Create Your First Organizer Account

  1. Navigate to the login page
  2. Click "Sign Up"
  3. Fill in your details and select "Event Organizer" as your role
  4. Complete the registration process

πŸ“Š Database Schema

The application uses a simplified schema with four main tables:

profiles

  • User authentication and role management
  • Links to Supabase Auth users
  • Stores user metadata and roles

hackathons

  • Event configuration and details
  • Custom registration questions stored as JSONB
  • Event visibility and participant limits

applications

  • Registration submissions from applicants
  • Application data stored as flexible JSONB
  • Status tracking and review workflow

hackathon_users

  • Role assignments for hackathon management
  • Organizer and coordinator permissions
  • Multi-user event management

🚒 Deployment

Vercel Deployment

  1. Push your code to GitHub
  2. Connect your repository to Vercel
  3. Add environment variables in Vercel dashboard
  4. Deploy automatically on push

Self-Hosting

  1. Build the application:

    npm run build
  2. Start the production server:

    npm start
  3. Configure your reverse proxy (nginx, Apache) to serve the application

πŸ‘¨β€πŸ’» Development

Project Structure

src/
β”œβ”€β”€ app/                    # Next.js app router pages
β”‚   β”œβ”€β”€ dashboard/         # Organizer dashboard
β”‚   β”œβ”€β”€ hackathons/        # Public registration pages
β”‚   └── login/             # Authentication pages
β”œβ”€β”€ components/            # Reusable UI components
β”‚   β”œβ”€β”€ ui/               # shadcn/ui components
β”‚   └── ...               # Custom components
β”œβ”€β”€ contexts/             # React contexts (auth)
β”œβ”€β”€ lib/                  # Utilities and actions
β”‚   β”œβ”€β”€ actions/          # Server actions
β”‚   └── supabase/         # Database configuration
└── types/                # TypeScript type definitions

Key Components

  • RegistrationQuestionBuilder: Drag-and-drop form builder
  • DynamicFormFields: Dynamic form rendering
  • HackathonConfigTabs: Event configuration interface
  • AuthContext: Authentication state management

Adding New Question Types

  1. Update the RegistrationQuestion type in src/types/database.ts
  2. Add rendering logic in src/components/dynamic-form-fields.tsx
  3. Update the question builder in src/components/registration-question-builder.tsx

πŸ‘₯ Contributors

HackFlow Lite is made possible by the contributions of these amazing people:

Ja'dan Johnson
Ja'dan Johnson

Project Lead
Devin AI
Devin AI

Development

Become a Contributor

We welcome contributions from developers of all skill levels! See our CONTRIBUTING.md guide to get started.

πŸ”„ Feature Requests & Feedback

We're constantly improving HackFlow Lite based on user feedback. Here's how you can help shape the future of the platform:

Requesting New Features

  1. Check the Issues page to see if your feature has already been requested
  2. Use the "Feature Request" template to submit a new feature idea
  3. Be specific about the problem your feature would solve
  4. Consider including mockups or examples if applicable

Providing Feedback

Your feedback is invaluable to us! Here are ways to share your thoughts:

Voting on Features

We prioritize features based on community interest. You can:

  • πŸ‘ React to issues you'd like to see implemented
  • Comment with additional use cases or requirements
  • Help refine feature specifications through discussion

πŸ“œ License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0) - see the LICENSE file for details.

πŸ†˜ Support

For questions, issues, or contributions, please:

  1. Check the Issues page for existing problems
  2. Create a new issue with detailed information
  3. Follow the contributing guidelines for pull requests
  4. Visit HackFlow.org/support for premium support options

πŸ—ΊοΈ Roadmap

  • Email notifications for application status updates
  • Advanced filtering and search for applicant management
  • Bulk application status updates
  • Custom email templates
  • Integration with external calendar systems
  • Advanced analytics and reporting

HackFlow Lite - Streamlined hackathon registration management for the modern organizer.

Website | Documentation | Community

About

An open-source hackathon registration management platform focused exclusively on event registration functionality. Extracted from the full HackFlow platform to provide a streamlined, easy-to-deploy solution for hackathon organizers.

Topics

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •