02Full-Stack

Hexcode

Online Coding Platform

Hexcode is a full-featured online coding platform that allows users to write, execute, and submit code solutions across multiple programming languages. It features a robust judge engine integrated with Judge0 API, real-time leaderboards, and comprehensive submission tracking with detailed test case feedback.

Tech Stack

ReactNode.jsExpressPostgreSQLJudge0ViteTailwind CSS

Category

Full-Stack
Project Tour

See it in action

Architecture

System Design

Hexcode follows a microservices-inspired architecture with a React frontend, Node.js/Express API backend, PostgreSQL database, and a dedicated judge engine service that communicates with Judge0 for code execution.

01Frontend

React + Vite single-page application with Tailwind CSS styling. Communicates with the backend via RESTful API calls. Features include a code editor with syntax highlighting, problem listing, submission history, and real-time leaderboard updates.

02API Layer

Express.js REST API handling authentication, problem CRUD, submission management, and user progress tracking. JWT-based authentication with refresh token rotation.

03Database

PostgreSQL with normalized schema for users, problems, submissions, test cases, and leaderboard rankings. Uses parameterized queries and connection pooling for performance.

04Judge Engine

Dedicated service that manages code execution via Judge0 API. Handles queueing, timeout management, result parsing, and stores detailed per-test-case results back to the database.

Features

What it does

Multi-language code execution (Python, JavaScript, C++, Java, Go)
Real-time leaderboard with ELO-based scoring
Detailed submission history with per-test-case results
JWT authentication with refresh tokens
Responsive design with dark/light mode
Problem categories and difficulty levels
Challenges

Problems solved

01

Ensuring secure code execution in a sandboxed environment through Judge0 integration

02

Designing an efficient queueing system for concurrent submissions without degrading performance

03

Building accurate real-time leaderboard updates without excessive database writes