CampusMate 是校园搭子匹配平台的课程展示型 MVP。项目用于演示“需求提出 → Codex 开发 → 团队 Review → 集成验收”的 AI 协作开发流程,不作为正式线上服务使用。
- 活动发现、关键词搜索、分类、日期和地点筛选。
- 活动详情、发布活动、申请加入、审批、退出、取消、评论、收藏、举报。
- 模拟登录 / 注册,演示账号为“林小羽”“周同学”“陈同学”,密码均为
123456。 - 个人中心支持头像上传、系统头像选择、昵称、学院、年级、个人简介和兴趣标签编辑。
- 个人中心展示参加活动数、发起活动数、完成率、信用分、活动历史、成就徽章和完成评价。
- 设置页支持通知偏好、公开 / 私密开关、申请活动时可见资料、活动类型偏好、时间偏好和退出登录。
- 通知中心支持全部已读、点击进入对应活动、删除通知。
- 本地数据导出 JSON、一键恢复演示数据。
- 简易管理员演示视角:数据概览、活动审核、活动下架 / 恢复、举报列表和处理。
localStorage本地持久化,所有演示数据仅保存在当前浏览器。- 全局错误兜底页和 404 页面。
- Playwright 关键流程测试。
- Next.js 16 + React 19
- TypeScript
- Tailwind CSS
- Playwright
- 浏览器
localStorage
npm install
npm run dev如果 Windows PowerShell 拦截 npm,请使用:
npm.cmd install
npm.cmd run dev- 演示账号:
林小羽、周同学、陈同学。 - 演示密码均为:
123456。 - 所有账号、资料、活动、申请、通知、评价和设置仅保存在当前浏览器的
localStorage中。 - 可在“个人中心 → 恢复演示数据”清除本浏览器中的演示改动并恢复初始数据。
推荐演示材料:
- DEMO_SCRIPT.md:演示脚本。
- QUALITY_CHECKLIST.md:功能清单与质量回归。
- D_B_COORDINATION.md:D 与 B 的共享接口和集成说明。
npm.cmd run lint
npm.cmd run test:e2e
npm.cmd run buildtest:e2e 当前覆盖:
- 登录态用户创建活动并写入本地数据。
- 设置页保存通知、隐私和活动偏好。
- 通知中心删除通知。
这是课堂展示项目。当前版本不接入真实学校账号、云数据库、支付、地图、实时聊天或多设备同步。管理员视角也仅用于本地演示,不代表正式权限系统。
登录页目前展示演示账号和统一密码,但没有一键快捷登录按钮;这样可以保留完整登录流程,课程演示中已经足够。
| 成员 | 角色 | 负责功能 | 建议分支 |
|---|---|---|---|
| 刘昉阳 | A:发现页与视觉体验 | 首页、活动卡片、搜索、筛选、推荐区、响应式布局、统一 UI | feature/discover-ui |
| 贺雯忆 | B:活动业务流程 | 活动详情、创建 / 编辑 / 取消活动、报名 / 退出、满员与候补、表单校验 | feature/activity-flow |
| 纪传昊 | C:组队与社交互动 | 我的组队、成员匹配、邀请、通知、评论、收藏、举报、演示版消息 | feature/team-social |
| 韩威如 | D:用户、数据与质量 | 登录注册、个人中心、兴趣标签、统计、Mock 数据、本地存储、测试与最终演示 | feature/profile-quality |
- 每位成员在 DDL 前完成本模块必做功能。
- 不直接向
main推送。 - PR 需说明完成内容、验证命令和已知问题。
- 合并前通过
npm.cmd run lint、npm.cmd run test:e2e、npm.cmd run build。