A competitive programming platform for coding challenges, contests, and skill building.
This is the parent repository that ties together all HackStack services as git submodules:
| Repository | Description |
|---|---|
| HackStack-monorepo | Turborepo monorepo — React frontend, Express backend, submission webhook |
| hackstack-problems | Problem definitions, test cases, and boilerplate code |
| OpenExecutor | Spring Boot code execution engine |
- Frontend: React + TypeScript + Vite + TailwindCSS + Monaco Editor
- Backend: Express + TypeScript + Prisma (PostgreSQL)
- Execution Engine: Spring Boot + Java
- Message Queue: Apache Kafka
- Caching: Redis
- Runtime & Package Manager: Bun
- Monorepo: Turborepo + Bun workspaces
# Clone with submodules
git clone --recurse-submodules https://github.com/Srajan-Bansal/HackStack.git
# If already cloned without submodules
git submodule update --init --recursive# Redis
docker run -d --name hackstack-redis -p 6379:6379 redis:alpine
# Kafka (KRaft mode)
docker run -d --name hackstack-kafka -p 9092:9092 apache/kafka:3.7.1# Access Kafka container
docker exec -it hackstack-kafka /bin/bash
cd /opt/kafka/bin
# Create required topics
./kafka-topics.sh --create --topic code-executor --bootstrap-server localhost:9092
./kafka-topics.sh --create --topic code-results --bootstrap-server localhost:9092
# List topics
./kafka-topics.sh --list --bootstrap-server localhost:9092# Install dependencies
cd HackStack-monorepo
bun install
# Start all services
bun devSee individual repository READMEs for detailed setup instructions.