Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CampusMate

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

打开 http://localhost:3000

演示账号与数据

  • 演示账号:林小羽周同学陈同学
  • 演示密码均为:123456
  • 所有账号、资料、活动、申请、通知、评价和设置仅保存在当前浏览器的 localStorage 中。
  • 可在“个人中心 → 恢复演示数据”清除本浏览器中的演示改动并恢复初始数据。

推荐演示材料:

验证命令

npm.cmd run lint
npm.cmd run test:e2e
npm.cmd run build

test: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 lintnpm.cmd run test:e2enpm.cmd run build

About

DaSE 2026 暑期学校 SC26-16 小组项目仓库。

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages