Android · Node.js · Cloud Sync

Meeting Assistant

面向课程项目的会议协作工具:从本地会议记录扩展到云端账号、共享会议、二维码签到与资料权限管理。

项目定位

把个人会议助手升级为多人协作空间

Meeting Assistant 保留 Android 端的会议列表、提醒、笔记和本地缓存,同时引入轻量云端后端,让组织者和参会人围绕同一个会议对象协作。

后端负责身份认证、会议可见性、参会人状态、二维码解析和共享资料访问策略;客户端负责流畅的移动端体验和本地提醒。

核心功能

会议前、中、后的关键动作都有落点

01

账号与云端会议

用户注册登录后,会议列表跨设备同步;组织者通过用户名邀请参会人。

02

二维码签到

会议生成 shareCode,扫码后由服务端确认会议可见性并回写签到状态。

03

共享资料

资料上传到云端,并支持上传者可见、全体可见、指定参会人可见三种策略。

04

本地体验保留

Android 端保留 SQLite、本地提醒、资料下载缓存和后台周期同步。

实现架构

轻量服务端,清晰业务边界

Android Client

Activity / Fragment、ApiClient、WorkManager

HTTP API

server.js 路由、JSON 解析、Bearer Token 鉴权

MeetingStore

会议、参会人、附件、签到与权限规则

JSON State

users、sessions、meetings 文件持久化

服务端没有引入第三方框架,便于课程项目部署和审阅。业务判断集中在 MeetingStore,客户端只消费按当前用户裁剪后的 MeetingView。

保存数据时先写临时文件再 rename,配合健康检查接口和 systemd 配置,可以完成基本的线上演示与恢复。

演示视频

一段视频展示完整会议协作流程

当前视频为占位素材。正式发布时,会替换为功能演示视频。

后端接口

面向移动端的一组 REST API

POST /api/auth/register POST /api/auth/login GET /api/meetings POST /api/meetings PUT /api/meetings/:id POST /api/meetings/:id/checkin POST /api/meetings/resolve-code POST /api/meetings/:id/attachments

运行部署

本地、云主机与 GitHub Pages 各自独立

后端服务:

cd Server
node src/server.js

GitHub Pages:

Settings → Pages → Deploy from a branch
Branch: main
Folder: /