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 配置,可以完成基本的线上演示与恢复。

演示视频

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

从创建会议、邀请参会人到二维码签到与资料共享,视频集中展示了 Meeting Assistant 的核心使用场景。

后端接口

面向移动端的一组 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: /