Skip to content

Prasadzoman/Codigo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 

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

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages