项目业务和功能介绍
1. 立项背景和目标
本项目的立项背景是创建一个集教育、娱乐与社区互动为一体的平台。主要目标是提供多样化的工具,帮助用户提升认知能力(如记忆力、注意力),并通过游戏、学习计划和社区互动增强用户参与度和归属感。最终旨在打造一个用户友好的综合性在线成长与交流空间。
2. 主要功能,核心功能介绍
主要功能:
用户管理: 注册、登录、个人档案编辑、密码修改、邮箱验证。
学习与游戏: 认知能力训练游戏(如“数觉”)、个性化学习计划管理、用户等级与经验系统。
社区互动: 社区论坛(发帖、回帖、删除)、公告系统。
管理后台: 管理用户、管理文件、日志查看、Docker服务管理(WebmasterBridge)。
其他: 文件仓库、条款与隐私政策、用户考核机制。
核心功能:
数觉游戏: 通过瞬间记忆点数来训练用户的视觉工作记忆和快速计数能力,支持多难度模式与排行榜。
个性化计划管理: 帮助用户规划和跟踪学习进度。
用户等级与考核: 激励用户通过学习和游戏提升等级,解锁更多功能。
3. 业务流程
用户首先进行注册/登录(可选择邮箱激活),然后进入主页。普通用户可以参与“数觉”等认知游戏以提交分数并查看排行榜,管理个人学习计划,参与社区论坛讨论。通过考核可提升等级。管理员则可进入管理后台,进行用户管理、文件管理及系统维护。整个流程围绕用户成长、互动和系统管理展开,通过认证、授权和角色区分保障数据安全与功能访问权限。
项目实现
本项目采用典型的前后端分离架构。
前端 (React.js): 利用 Create React App 构建,采用 React Router 进行路由管理,AuthContext 提供全局认证状态,styled-components 进行样式设计,axios (apiClient) 与后端交互。页面组件化,支持不同布局(MainLayout、AuthLayout)。
后端 (Node.js/Express.js): 负责 API 接口、数据存储(PostgreSQL)、用户认证与授权、业务逻辑处理、以及集成其他服务(如Docker)。使用 Express 框架搭建,cors 处理跨域,cookie-parser 处理 cookie,EventEmitter 用于内部事件通信,ws (WebmasterBridge) 实现 WebSocket 通信。
实时性与并发处理: "数觉"游戏的分数提交及排行榜实时更新,WebmasterBridge的WebSocket连接管理,需要后端具备高效的实时处理能力。
安全机制: 用户认证(JWT或Session)、密码加密、API访问控制、账户删除等敏感操作的安全性设计。
可扩展性: 如何优雅地添加新的游戏模式、社区功能或管理模块,例如通过依赖注入(createAdminRoutes)和清晰的模块划分来保持代码的可维护性。
Docker集成: 管理后台与Docker的交互(docker 模块),确保指令安全、正确执行,并提供状态反馈。