AWS-based programming puzzles platform with LLM-enhanced test suite generation system, Next.js + Vercel frontend, and a secure & scalable pipeline for execution of arbitrary user code.
Demo (Archived): https://sse-team-project.vercel.app
GitHub Repository: https://github.com/AndyXIP/sse-team-project
Code Clasher is a competitive programming platform where developers solve daily coding challenges, compete on global leaderboards, and sharpen their algorithmic skills. Built as a Software Systems Engineering group project at Imperial College London, this platform showcases modern cloud architecture, real-time features, and secure code execution.
- Daily Challenges: Fresh easy/hard coding problems with LLM-generated test cases
- Global Leaderboard: Real-time rankings and progress tracking
- In-Browser Code Editor: Syntax highlighting, multiple language support
- Real-Time Execution: Secure sandboxed code evaluation with instant feedback
- Progress Analytics: Personal stats, streaks, and performance insights
- Modern UI: Dark/light mode, responsive design, seamless UX
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Next.js │ │ FastAPI │ │ AWS Lambda │
│ Frontend │◄──►│ Main API │◄──►│ Microservices │
│ (Vercel) │ │ (Elastic │ │ (Code Eval, │
└─────────────────┘ │ Beanstalk) │ │ Leaderboard) │
└──────────────────┘ └─────────────────┘
│ │
┌────────▼──────────┐ ┌──────▼──────────┐
│ Valkey Redis │ │ Supabase │
│ (Caching) │ │ (PostgreSQL) │
└───────────────────┘ └─────────────────┘
Frontend:
- Next.js 14 with App Router
- TypeScript & Tailwind CSS
- React with modern hooks
- Vercel deployment
Backend Services:
- FastAPI (Main API server)
- AWS Lambda (Serverless microservices)
- Python 3.9+ with async/await
- AWS SQS (Message queuing)
- AWS Elastic Beanstalk (Container deployment)
Data & Caching:
- Supabase (PostgreSQL database)
- Valkey Glide (Redis-compatible caching)
- HuggingFace Datasets (Problem source)
Infrastructure:
- Docker containerization
- AWS cloud services
- GitHub Actions (CI/CD ready)
- Node.js 18+
- Python 3.9+
- Docker (optional)
- AWS CLI (for deployment)
-
Clone the repository
git clone https://github.com/AndyXIP/sse-team-project.git cd code-clasher -
Frontend Setup
cd frontend npm install npm run dev -
Backend Setup
cd main-api pip install -r requirements.txt uvicorn app:app --reload -
Environment Variables
# Create .env files in respective directories cp .env.example .env # Configure AWS credentials, database URLs, etc.
code-clasher/
├── frontend/ # Next.js frontend application
├── main-api/ # FastAPI central API server
├── lambda-code-evaluator-v2/ # Serverless code execution engine
├── leaderboard/ # Leaderboard processing service
├── questions/ # Question fetching & caching
├── leaderboard-updater/ # Real-time leaderboard updates
├── test-case-generation/ # LLM-powered test case creation
└── README.md # This file
Each service includes its own comprehensive README with detailed setup instructions.
- Daily Questions: LLM generates test cases for coding problems from HuggingFace dataset
- Code Submission: Users write solutions in the browser-based editor
- Secure Execution: Code runs in isolated AWS Lambda containers
- Real-Time Results: WebSocket updates provide instant feedback
- Leaderboard Updates: Successful submissions update global rankings
- Progress Tracking: User stats and streaks are maintained across sessions
- Unit Tests: Comprehensive test suites for all services
- Integration Tests: End-to-end API testing with mocked AWS services
- Security: Input validation, sandboxed execution, rate limiting
- Performance: Caching strategies, async processing, optimized queries
Production URLs (Archived):
- Frontend: https://sse-team-project.vercel.app (No longer active)
- Main API: https://main-api.click (No longer active)
Infrastructure:
- Vercel (Frontend hosting)
- AWS Elastic Beanstalk (API server)
- AWS Lambda (Microservices)
- Supabase (Managed PostgreSQL)
Developed as a Software Systems Engineering group project at Imperial College London by:
- Andy
- Lucas
- Will
- Yile
This project is licensed under the MIT License - see the LICENSE file for details.
- Live Application (Archived): https://sse-team-project.vercel.app
- GitHub Repository: https://github.com/AndyXIP/sse-team-project
- Problem Dataset: HuggingFace APPS Dataset
Built at Imperial College London