Two
确定对象
对于一个OJ来说, 明确的对象应该有用户, 题目两种, 其余则从其中延伸。
用户
用户信息
基础版中用户信息较少, 使用MongoDB可以随时添加。
账户
账户真的就只是账户, 只是为了和用户信息做以区分。
角色
角色这里有一个比较重要的菜单, 这是对于后台可以访问的地址, 我希望他是一个嵌套的菜单类型。
题目
题目信息
题目是一定要特判的, 当然也可能会有填空题或者核心编码模式, 这些都是后话了。
比赛
比赛只是一个题目的集合, 只是需要记录加入的用户和提交信息。
代码记录
关乎到所有的记录。
题单
咕掉。这是一个比较重要的模块, 算是无限时间的比赛。但是, 功能完善的题单应该想VJ一样, 可以涉及到其他OJ的题目, 这样子就需要修改题目信息, 增加账户等功能。
文章
同时, 我希望能存在文章类, 以此可以完成比赛后题解的功能, 或者说公告, 分享等等。