awesome-repositories.comCategoriesBlog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
QingdaoU avatar

QingdaoU/OnlineJudge

0
View on GitHub↗
6,499 stars·1,533 forks·Python·mit·15 viewsopensource.qduoj.com↗

OnlineJudge

OnlineJudge is an automated platform for managing programming contests and evaluating submitted source code. It provides a complete online judge system that compiles, runs, and scores code submissions against predefined test cases within a sandboxed execution environment, ensuring the host system remains protected from untrusted user code.

The platform supports both ACM-style penalty-based scoring and OI-style point-based scoring, with real-time leaderboard computation that dynamically updates participant rankings as submissions are judged. Contest organizers can create and schedule timed competitions, manage problems using Markdown descriptions with MathJax-rendered mathematical notation, and restrict contest access by IP address using CIDR notation. The entire application stack is packaged into Docker containers for reproducible, one-command deployment across environments.

The system accepts source code through a web-form submission pipeline, queues submissions for asynchronous evaluation, and provides visualization of submission statistics through charts and graphs. Problem statements are rendered with formatted text and mathematical notation, while the sandboxed process isolation intercepts system calls and enforces resource limits during code execution.

Features

  • Competitive Programming Contests - Creates, schedules, and scores timed programming competitions with automated leaderboards.
  • Online Judges - Evaluates submitted code against predefined test cases and returns pass or fail results for programming problems.
  • Contest Scoring Engines - Implements both ACM penalty-based and OI point-based scoring engines for contest rankings.
  • Ranked Leaderboards - Computes and displays leaderboards in real time, supporting ACM and OI scoring formats.
  • Contest Leaderboards - Updates participant rankings dynamically as submissions are judged, supporting ACM and OI scoring rules.
  • Leaderboard Computation - Computes and displays real-time leaderboards supporting ACM and OI scoring formats.
  • Scoring Rule Switching - Applies ACM or OI scoring logic and switches between real-time and non-real-time rankings per contest.
  • Automated Judging Validators - Compiles and runs submitted source code in a sandboxed environment, then compares output against expected results.
  • Docker-Based Deployment Tools - Packages the entire application stack into Docker containers for reproducible, one-command deployment.
  • Docker Compose Deployments - Uses a single Docker Compose file to orchestrate the web server, database, and judge engine containers.
  • Multi-Container Stacks - Packages the web server, database, and judge engine into separate containers linked by Docker Compose.
  • Code Execution Sandboxes - Runs untrusted user code inside a restricted environment that isolates system calls and limits resource usage.
  • Submission Pipelines - Provides a web-form submission pipeline that queues source code for automated judging.
  • Coding Challenge Platforms - Evaluates submitted code against predefined test cases and returns pass or fail results for programming problems.
  • Sandboxed Code Evaluators - Compiles and runs submitted source code in a sandbox, then compares output against expected results.
  • Code Executors - Compiles and runs untrusted user code in an isolated environment without risking the host system.
  • Process Sandboxing - Runs untrusted user code in a restricted child process that intercepts system calls and enforces resource limits.
  • Grading Systems - Compiles and runs submitted source code inside a sandboxed environment, then returns pass or fail results.
  • Output Comparison Judges - Compiles submitted code, executes it against predefined inputs, and compares stdout against expected outputs byte-for-byte.
  • Asynchronous Form Submissions - Accepts source code through a browser form, places it into a queue, and triggers the judge process asynchronously.
  • Code Submission Forms - Accepts source code through a browser form, queues it, and triggers the judge process asynchronously.
  • Mathematical Notation Renderers - Converts problem statements from Markdown with embedded LaTeX into formatted HTML with mathematical notation.
  • MathJax-Enhanced Renderers - Renders problem statements with Markdown and MathJax for formatted text and mathematical notation.
  • Problem Templates - Provides reusable templates for creating programming problems with Markdown and MathJax.
  • Math-Formatted - Displays problem descriptions using Markdown and MathJax for formatted text and mathematical notation.
  • MathJax-Enhanced - Displays problem statements with Markdown and LaTeX mathematical notation rendered as formatted HTML.
  • Problem Statement Viewers - Renders mathematical notation and formatted text using Markdown and MathJax for problem statements.
  • Mathematical Notation Rendering - Renders problem statements and discussions with Markdown formatting and MathJax mathematical notation.
  • Contest IP Allowlisting - Provides CIDR-based IP allowlisting to restrict which addresses can join a programming contest.

Star history

Star history chart for qingdaou/onlinejudgeStar history chart for qingdaou/onlinejudge

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does qingdaou/onlinejudge do?

OnlineJudge is an automated platform for managing programming contests and evaluating submitted source code. It provides a complete online judge system that compiles, runs, and scores code submissions against predefined test cases within a sandboxed execution environment, ensuring the host system remains protected from untrusted user code.

What are the main features of qingdaou/onlinejudge?

The main features of qingdaou/onlinejudge are: Competitive Programming Contests, Online Judges, Contest Scoring Engines, Ranked Leaderboards, Contest Leaderboards, Leaderboard Computation, Scoring Rule Switching, Automated Judging Validators.

What are some open-source alternatives to qingdaou/onlinejudge?

Open-source alternatives to qingdaou/onlinejudge include: zhblue/hustoj — hustoj is a web-based online judge platform built with PHP and MySQL for hosting programming contests and training. It… oi-wiki/oi-wiki — This project is a comprehensive, community-maintained knowledge base and toolkit designed for competitive programming.… dotheevo/selfhosted-apps-docker — This project is a curated collection of deployment files and configurations for hosting a wide variety of open-source… kimai/kimai — Kimai is an open-source time tracking system that records employee working hours, manages absences, and generates… hydro-dev/hydro — Hydro is an online judge platform and competitive programming management system. It provides the infrastructure to… kdn251/interviews — This project serves as a centralized knowledge base and study guide for mastering computer science fundamentals and…

Open-source alternatives to OnlineJudge

Similar open-source projects, ranked by how many features they share with OnlineJudge.
  • zhblue/hustojzhblue avatar

    zhblue/hustoj

    3,757View on GitHub↗

    hustoj is a web-based online judge platform built with PHP and MySQL for hosting programming contests and training. It features an automated code grading engine that executes submissions in multiple languages and validates them against test cases to provide rankings and scores. The system is designed as a competitive programming contest manager, supporting ACM-ICPC and NOIP style events with weighted scoring and penalty calculations. It distinguishes itself with a built-in plagiarism detection system that compares source code similarity between users to identify potential cheating. The platf

    JavaScriptacm-icpcccpp
    View on GitHub↗3,757
  • oi-wiki/oi-wikiOI-wiki avatar

    OI-wiki/OI-wiki

    26,176View on GitHub↗

    This project is a comprehensive, community-maintained knowledge base and toolkit designed for competitive programming. It serves as a centralized repository for algorithmic theory, data structures, and mathematical techniques, providing a structured reference for informatics and collegiate programming competitions. The project distinguishes itself by integrating educational content with a robust suite of automation utilities. It provides a complete workflow for competitive programming, including tools for automated test case generation, solution verification, and direct interaction with onlin

    TypeScriptacm-icpcacm-icpc-handbookalgorithms
    View on GitHub↗26,176
  • dotheevo/selfhosted-apps-dockerDoTheEvo avatar

    DoTheEvo/selfhosted-apps-docker

    2,833View on GitHub↗

    This project is a curated collection of deployment files and configurations for hosting a wide variety of open-source services on a home server. It primarily utilizes Docker and Docker Compose to automate the orchestration, lifecycle management, and deployment of containerized applications. The repository provides a comprehensive suite for self-hosted infrastructure, covering network management tools, media streaming, and home automation. It includes specialized configurations for securing internal services via reverse proxies, WireGuard VPN tunnels, and automated SSL/TLS certificate manageme

    Shell
    View on GitHub↗2,833
  • kimai/kimaikimai avatar

    kimai/kimai

    4,757View on GitHub↗

    Kimai is an open-source time tracking system that records employee working hours, manages absences, and generates professional invoices from recorded timesheets and expenses. It organizes all time records through a mandatory three-level hierarchy of customer, project, and activity, and supports project budget monitoring with configurable time and money limits. The application is extensible through a plugin system that allows adding custom features, invoice templates, reporting views, and dashboard widgets without modifying core files. It provides a RESTful JSON API for programmatic read and w

    PHPdoctrineinvoiceinvoicing
    View on GitHub↗4,757
See all 30 alternatives to OnlineJudge→