该项目是一个基于 Vue 和 Spring Cloud 的在线博弈游戏对战平台(King of Bot)系统, 玩家可以在线的通过人人、人机、机机对战游玩游戏。
-
后端:
- 🚀 Spring Cloud:用于构建微服务架构,提供服务注册、配置中心等功能。
- 🚀 Redis:用作缓存系统,提高系统性能和并发处理能力。
- 🚀 MongoDB:用作非结构化数据存储,例如用户提交的代码、评测记录等。
- 🚀 Docker:用于容器化部署,简化开发、测试和部署流程。同时作为远程Code Sand Box编译用户代码。
- 🚀 MySQL:作为关系型数据库,用于存储用户信息、题目信息等。
-
前端:
- Vue 3:用于构建用户界面,实现前端页面的交互和展示。
- Typescript
- ByteMd
- TinyMCE
- Vite
- Websocket
- 用户注册与登录:用户可以注册新账号并登录系统。
- 游戏管理:管理员可以添加、编辑和删除编程游戏。
- Post模块:负责作为平台的社交属性,并且会对上传的东西进行多次本地的以及远程的内容检测(ALIYUN GREEN)。
- 代码评测:用户可以提交代码进行评测,系统会根据评测结果给出相应的反馈,通过docker sand box controller远程调用返回代码运行结果。 🔔 使用本地运行以及远程docker沙箱实现,目前支持语言:cpp,python,java 🔔 本地运行语言为java,采用Process类搭建
- 对局回放:可以通过类似查看video的方式查看对局记录。
- 参加比赛:玩家可以参加管理员办理的比赛,在时间内上传指定代码,比赛开始后后台使用代码自动比赛。
- 代码分享:用户可以分享自己的解题代码,与他人交流学习。
-
克隆项目到本地:
git clone https://github.com/fujiwarazz/nawoj
-
前端:
npm install npm run serve