Skip to content

Latest commit

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Codigo 🚀

A high-performance distributed code execution and evaluation platform built with Node.js, Docker, Redis, and MongoDB.

📌 Overview

Codigo is a secure and scalable online judge system designed to execute untrusted user code inside isolated Docker containers.
The platform supports automated evaluation pipelines, caching, and concurrent execution while maintaining strict resource isolation.

✨ Features

  • ⚡ Distributed code execution pipeline
  • 🐳 Secure sandboxing using Docker containers
  • 📦 Redis-powered caching for faster responses
  • 📊 k6 load-tested performance benchmarking
  • 🔒 CPU & memory restricted execution environments
  • 🧪 Supports 50+ test cases per submission
  • 🧹 Automatic cleanup of containers and processes
  • 🌐 RESTful API architecture

🛠 Tech Stack

Backend

  • Node.js
  • Express.js

Infrastructure & DevOps

  • Docker
  • Redis
  • k6

Database

  • MongoDB

📈 Performance Optimizations

  • Reduced API latency by 55%
    • from 86ms → 38ms
  • Maintained stable throughput of:
    • 47 requests/sec
    • under 50 virtual users

🔐 Security Features

  • Sandboxed execution using isolated Docker containers
  • Resource throttling with CPU & Memory limits
  • Prevention of host machine exhaustion
  • Automated cleanup system to avoid zombie containers

📂 System Architecture

Client → API Gateway → Queue/Worker → Docker Sandbox → Evaluation Engine → Result Service

About

Codigo is a distributed code execution and evaluation system built using Node.js, Docker, Redis, and MongoDB. It securely executes untrusted code inside isolated Docker containers, supports automated multi-test-case evaluation, and uses Redis caching to improve performance and reduce API latency. The system is designed for scalability, reliability,

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages