GPL-3.0 · 全栈 · 在线判题

PolyCodeHub.

全栈在线判题(OJ)平台 — 题库练习 · 代码评测 · 实时比赛 · 每日一题 · 开发者社区,判题运行在进程级隔离沙箱中。

5
判题语言
8
技术栈
9
成就徽章
24
位分享链接 Token

核心能力

真实判题沙箱

Python / Node.js / C++ / C / Java 多语言评测,进程级隔离:setuid 降权 + seccomp 网络隔离 + 资源限制 + 环境清洗。

竞赛与排行

比赛系统(AC 数 + 罚时实时榜单)、总榜/周榜/月榜、每日一题北京时间结算、成就徽章。

开发者社区

题解与评论、关注/粉丝、公开主页热力图与留言板、代码分享链接、站内信通知。

安全工程实践

JWT HttpOnly Cookie、鉴权缓存失效机制、限流 fail-closed、审计日志、凭据全环境变量化。

判题链路

提交代码
Web / 自定义试运行
API 网关
鉴权 · 限流 · 校验
RabbitMQ
异步任务队列
判题沙箱
隔离运行 · 资源限制
结果回写
AC / WA / TLE / MLE

技术栈

前端 Next.js + TypeScript 网关 Node.js + Express 认证 Java 21 + Spring Boot 判题 Python 3.12 + FastAPI 数据库 PostgreSQL 16 缓存 Redis 7 队列 RabbitMQ 编排 Docker Compose

快速开始

Windows 一键启动:

PowerShell
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\start.ps1
或手动 Docker Compose
copy infra\docker\.env.example infra\docker\.env
docker compose -f infra/docker/docker-compose.yml --env-file infra/docker/.env up -d --build

启动后访问 http://localhost:3000(Web)与 http://localhost:8080/health(Gateway 健康检查)。