Skip to content

ashtonmths/fluxcode

Repository files navigation

FluxCode

FluxCode

Master DSA through long-term competitive contests

Next.js TypeScript tRPC Prisma


✨ Features

  • πŸ† Long-term Contests β€” Join month-long coding challenges with structured curricula
  • ⚑ LeetCode Integration β€” Automatic verification of problem submissions
  • πŸ“Š Live Leaderboards β€” Real-time rankings with streak tracking
  • 🎯 Weekend Tests β€” Performance checkpoints with penalty system
  • πŸ”₯ Streak System β€” Daily coding habit tracking with midnight delimiter
  • πŸ’³ Payment Integration β€” Razorpay-powered contest entry and penalties
  • 🎨 Modern UI β€” Beautiful interface with Framer Motion animations

οΏ½ How It Works

  1. Sign Up & Join β€” Create account, link LeetCode username, and join a contest
  2. Daily Practice β€” Solve assigned daily problems (Easy/Medium/Hard) to maintain your streak
  3. Weekend Tests β€” Complete 3 problems every Saturday-Sunday before midnight IST
  4. Auto Verification β€” Submit on LeetCode, we verify and update your progress automatically
  5. Pay or Progress β€” Miss weekend tests? Pay penalty. Complete everything? Stay in the game!
  6. Compete & Win β€” Climb the leaderboard with points from materials, homework, and weekend tests

οΏ½πŸš€ Quick Start

# Install dependencies
npm install

# Set up environment variables
cp .env.example .env

# Start database
./start-database.sh

# Run migrations
npm run db:generate

# Start dev server
npm run dev

Visit http://localhost:3000

πŸ› οΈ Tech Stack

  • Framework β€” Next.js 15 with App Router
  • Language β€” TypeScript
  • API β€” tRPC for type-safe endpoints
  • Database β€” PostgreSQL with Prisma ORM
  • Auth β€” Supabase Authentication
  • Payments β€” Razorpay
  • UI β€” Tailwind CSS, Framer Motion, Lucide Icons
  • Real-time β€” Pusher

πŸ“ Environment Variables

# Supabase
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
AUTH_SECRET=

# Database
DATABASE_URL=

# OpenAI
OPENAI_API_KEY=

# Pusher (Real-time updates)
PUSHER_APP_ID=
PUSHER_KEY=
PUSHER_SECRET=
PUSHER_CLUSTER=
NEXT_PUBLIC_PUSHER_KEY=
NEXT_PUBLIC_PUSHER_CLUSTER=

# Razorpay (Payments)
RAZORPAY_KEY_ID=
RAZORPAY_KEY_SECRET=
NEXT_PUBLIC_RAZORPAY_KEY_ID=

# SMTP (Email notifications)
SMTP_HOST=
SMTP_PORT=
SMTP_USER=
SMTP_PASSWORD=

# Cron (Scheduled tasks)
CRON_SECRET=

πŸ“œ License

MIT License - see LICENSE

πŸ‘₯ Contributors

subtilizer28
Ashton Mathias
sushanshetty1
Sushan Shetty

Built with πŸ’œ by the FluxCode team

About

FluxCode is a long-term coding contest platform built with the T3 stack πŸ’»πŸš€ that automatically assigns LeetCode topics πŸ“š, tracks progress πŸ“ˆ, and displays real-time leaderboards πŸ†βš‘

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors