AQADIL/JudGO

GitHub: AQADIL/JudGO

JudGO 是一个基于 Golang 的实时编程对战平台,专注于解决传统在线判题系统在互动性和实时性上的不足。

Stars: 79 | Forks: 0

# 运行 JudGO JudGO 是一个为实时对战设计的竞赛编程平台。 它结合了: - 快速的 Go 后端(清洁架构) - 使用 Firebase RTDB 进行实时状态同步 - 针对编程对决和练习优化的现代 React 前端 ## 核心优势 | 领域 | JudGO 的优势所在 | |---|---| | 实时对决 | 基于房间的比赛,进度实时更新,专为竞赛环节设计 | | 产品用户体验 | 集成的竞技场、练习和仪表盘,拥有统一、现代的界面 | | 后端速度 | Go 服务,清晰划分领域、服务、仓库和传输层 | | 数据模型 | 采用 RTDB 优先设计,实现即时更新和多人游戏状态 | ## 功能概览 | 功能 | 备注 | |---|---| | 练习提交 | 记录尝试次数和已解决状态 | | 仪表盘统计 | 基于真实用户活动的聚合统计 | | 多人房间 | 大厅、倒计时和房间游戏生命周期 | | 多任务房间游戏 | 每场游戏包含多个问题,记录每位用户的进度 | | 评测管道 | 开发模式可用评测;生产环境隔离是单独的加固步骤 | ## 架构 | 文件夹 | 职责 | |---|---| | `cmd/` | 应用程序入口点 | | `internal/domain/` | 业务模型 | | `internal/service/` | 用例和业务规则 | | `internal/repository/` | Firebase RTDB 持久化 | | `internal/transport/rest/` | HTTP 路由、处理器、中间件 | | `pkg/` | 可复用包(沙箱运行器、Firebase 客户端) | ``` graph TD FE[Frontend] -->|REST| API[Go API] FE -->|Realtime| RTDB[(Firebase RTDB)] API --> AUTH[Auth Middleware] API --> SVC[Services] SVC --> REPO[Repositories] REPO --> RTDB SVC --> JUDGE[Judge] JUDGE --> EXEC[Executor] EXEC --> OS[(Sandboxed Process)] ``` ## 对比 | 平台 | 重点 | JudGO 的增益点 | |---|---|---| | LeetCode | 面试练习 | 实时竞技房间和竞技场式对决 | | Codeforces | 竞赛 | 产品级用户体验、集成仪表盘和持久化练习流程 | | HackerRank | 技能测试 | 实时房间游戏和统一的竞赛体验 | ## 项目所有权与反抄袭 此仓库是 **Alish Akadil** 的原始作品。 您不得: - 复制、重新上传、转售或重新分发本项目(或其大部分内容) - 将此代码冒充为您自己的作品 - 将其用于学术提交或抄袭 如果您想使用本项目的任何部分,请向作者请求明确许可。 ## 作者 | 姓名 | 角色 | GitHub | |---|---|---| | Alish Akadil | 创建者 | https://github.com/AQADIL | 2026 JudGO。保留所有权利。由爱与热情打造 💕
标签:Firebase实时数据库, Golang后端, React前端, 云服务集成, 代码执行沙箱, 代码提交, 代码竞技场, 代码评测平台, 在线编程挑战, 在线评测系统, 多用户房间, 多用户系统, 安全代码执行, 实时同步, 实时应用, 实时编码对战, 清洁架构, 用户统计仪表板, 竞技编程, 编程教育, 编程竞赛平台, 编程练习, 自定义脚本