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.
- Organizer and applicant role-based authentication
- Secure login/logout with session management
- Profile management with role assignments
- Create and configure hackathon events
- Set event dates, location, and participant limits
- Manage registration windows and event visibility
- Event dashboard with overview and analytics
- 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
- Unique event URLs for public registration
- Dynamic form rendering based on organizer configuration
- Client-side validation and error handling
- Responsive design for all devices
- Comprehensive applicant listing and filtering
- Detailed application review interface
- Application status management (pending, accepted, rejected, waitlisted)
- Export functionality for applicant data
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.
- 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
- Node.js 18+ and npm
- Supabase account (for authentication and database)
git clone <repository-url>
cd hackflow-lite
npm installCopy the environment template:
cp .env.local.example .env.localUpdate .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- Go to your Supabase project dashboard
- Navigate to the SQL Editor
- Run the migration files in order:
- First:
supabase/migrations/001_initial_schema.sql - Second:
supabase/migrations/002_rls_policies.sql
- First:
# 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 pushnpm run devOpen http://localhost:3000 to view the application.
- Navigate to the login page
- Click "Sign Up"
- Fill in your details and select "Event Organizer" as your role
- Complete the registration process
The application uses a simplified schema with four main tables:
- User authentication and role management
- Links to Supabase Auth users
- Stores user metadata and roles
- Event configuration and details
- Custom registration questions stored as JSONB
- Event visibility and participant limits
- Registration submissions from applicants
- Application data stored as flexible JSONB
- Status tracking and review workflow
- Role assignments for hackathon management
- Organizer and coordinator permissions
- Multi-user event management
- Push your code to GitHub
- Connect your repository to Vercel
- Add environment variables in Vercel dashboard
- Deploy automatically on push
-
Build the application:
npm run build
-
Start the production server:
npm start
-
Configure your reverse proxy (nginx, Apache) to serve the application
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
- RegistrationQuestionBuilder: Drag-and-drop form builder
- DynamicFormFields: Dynamic form rendering
- HackathonConfigTabs: Event configuration interface
- AuthContext: Authentication state management
- Update the
RegistrationQuestiontype insrc/types/database.ts - Add rendering logic in
src/components/dynamic-form-fields.tsx - Update the question builder in
src/components/registration-question-builder.tsx
HackFlow Lite is made possible by the contributions of these amazing people:
Ja'dan Johnson Project Lead |
Devin AI Development |
We welcome contributions from developers of all skill levels! See our CONTRIBUTING.md guide to get started.
We're constantly improving HackFlow Lite based on user feedback. Here's how you can help shape the future of the platform:
- Check the Issues page to see if your feature has already been requested
- Use the "Feature Request" template to submit a new feature idea
- Be specific about the problem your feature would solve
- Consider including mockups or examples if applicable
Your feedback is invaluable to us! Here are ways to share your thoughts:
- Create an issue with the "Feedback" label
- Join our Discord community for discussions
- Email us at feedback@hackflow.org
- Submit feedback directly through the HackFlow.org platform
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
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0) - see the LICENSE file for details.
For questions, issues, or contributions, please:
- Check the Issues page for existing problems
- Create a new issue with detailed information
- Follow the contributing guidelines for pull requests
- Visit HackFlow.org/support for premium support options
- 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.