项目介绍
CSSA Portal(仓库名 CSSAPortal)是波士顿大学中国学生学者联合会(BUCSSA)的内部业务门户,不是内容发布 CMS,也不是选举系统。
生产地址:https://portal.bucssa.org。
解决什么问题
把组织日常需要权限控制的事务集中到一个登录入口:
- 招新:周期、岗位、申请、面试预约、志愿排序、录取通知
- 财务:各部门报销提交与主席团审核(入账 UI 当前隐藏,后端仍在)
- 教室:部长提交预约工单,主席团确认后可上传 PDF 回执
- 账号:Google 登录、部门 Membership、激活码兑换组织身份
- 服务:CSSA Drive(SFTPGo)开通、CSSA GPT 访问申请
不是什么
| 容易混淆的对象 | 关系 |
|---|---|
| 旧 Flask Application Portal | 历史系统;数据迁移脚本在 portal/migrate_legacy_to_portal.sql,不要当当前行为文档 |
election/ 仓库里的「BUCSSA Portal」 | 选举/公投 Next.js 项目,与本系统无关 |
官网 cssawebsite | 对外展示站;可外链到本门户,但不托管招新逻辑 |
| 网盘 SFTPGo | 独立服务;Portal 只负责开通账号 |
架构一句话
浏览器请求 → Nginx(TLS 终止与反代)→ systemd 托管的 gunicorn → Django 模板渲染 → PostgreSQL(生产为 Neon)。文件可选 Cloudflare R2;邮件走 Resend SMTP。
当前行为 vs 待完善
| 状态 | 内容 |
|---|---|
| 当前行为 | 入账功能前端导航隐藏(show_treasury=False),URL 与模型仍存在 |
| 已废弃 | send_offer_choice_reminders 为空操作;多部门录取改走志愿排序 |
| 待完善 | Zoom 群组面试未实现;.env.example 未列出 OPENAI_API_KEY;仓库无 Docker、无 systemd unit / Nginx 配置 / deploy.sh |