Skip to content

Repository files navigation

⚡ Forge — Next-Gen Hackathon & Sprint Platform

Forge is a high-performance, motion-rich competitive building platform designed for both Hackathons (linear, one-time events) and Sprints (recurring, fundable competitive cycles) featuring prize pools, judged submissions, and automated payout lifecycles.


🌟 Key Features

  • 🎯 Dual Event Modes: First-class support for both linear Hackathons and recurring Sprint cycles.
  • 💰 Prize Pool & Payout Management: Transparent funding tracking, prize allocation, and automated payout ledgers.
  • ⚖️ Rubric-Based Judging: Multi-criteria weighted scoring system with judge delegation and aggregate calculation.
  • 🚀 Interactive 3D & Micro-Animations: Three.js WebGL hero scenes, GSAP scroll timelines, and smooth Framer Motion interactions.
  • 🔐 Secure Role-Based Architecture: Separation of concerns across Organizers, Builders, Judges, and Admins.
  • 📦 Dual Data Adaptability: Hybrid offline-first mock store for instant demoing + Prisma ORM database layer for full production scalability.

🏗️ Architecture & Stack

  • Framework: Next.js 16 (App Router) + TypeScript
  • Styling: Tailwind CSS + Custom Design DNA tokens
  • Motion & 3D: Three.js, React Three Fiber, Framer Motion, GSAP
  • Database & ORM: SQLite / PostgreSQL with Prisma ORM
  • Auth & Storage: Supabase integration ready with fallback mock provider
  • Icons: Lucide React

🚀 Getting Started

1. Clone & Install Dependencies

git clone https://github.com/aryanpyx/hackathon-platform.git
cd hackathon-platform

# Install dependencies (using npm or pnpm)
npm install

2. Environment Setup

Copy the example environment file:

cp .env.example .env

Configure your .env variables if integrating Supabase or external PostgreSQL:

NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-supabase-anon-key-here
DATABASE_URL="file:./dev.db"

3. Database Initialization (Optional for Local DB)

# Push schema migrations
npm run db:push

# (Optional) Seed sample events, teams, and judges
npm run db:seed

4. Run Development Server

npm run dev

Open http://localhost:3000 in your browser.


📁 Repository Structure

├── app/                  # Next.js App Router routes
│   ├── (dashboard)/      # Admin, Events, Build, Judge & Results pages
│   ├── (marketing)/      # Landing, Hero 3D, and Login
│   └── globals.css       # Design DNA tokens and global styling
├── components/           # Reusable UI primitives & 3D scenes
│   ├── auth/             # Authentication modals and forms
│   ├── three/            # Three.js canvas components
│   ├── ui/               # Cards, Buttons, Badges, Tables
│   └── vector/           # Custom SVG illustration assets
├── docs/                 # Architecture & PRD documentation
├── lib/                  # State machines, auth providers, client store
├── prisma/               # Database schema and seeders
└── server/               # Server API route definitions

🔒 Security Practices

  • Zero Secret Ingestion: Environment credentials and tokens are strictly excluded from version control via hardened .gitignore policies.
  • Client-Safe Defaults: Client-side storage and mock authentication gracefully isolate non-privileged sessions.
  • Sanitized Inputs: All user submissions, URLs, and numeric score ranges are strictly validated.
  • SQL Injection Prevention: Prisma ORM ensures parameterized queries across all database operations.

📄 Documentation

For deep technical insights and product specifications, refer to:


📜 License

MIT License © 2026 Aryan Pandey

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages