跳到主要内容
版本:V1.0

项目列表

技术部在2022年曾面临解散危机,Application Portal和Official Website正是在那个特殊时期由当时的两位社长紧急开发完成的。由于开发时间紧迫,这两个项目存在代码耦合性较高的问题,难以进行功能扩展和日常维护。随着业务功能的不断增加,性能瓶颈也逐渐显现。

为了解决这些技术债务,2023年后的新项目都采用了独立开发的模式,并且大多选择serverless架构,目前运行状况良好。

技术架构演进

新项目技术选型指南

在启动新项目时,建议按以下优先级选择技术框架:

  1. Next.js 等支持serverless部署的全栈框架
  2. FastAPI + React 前后端分离架构,可部分使用托管服务
  3. Flask 传统Web框架(仅在必要时使用)

⚠️ 重要 : 能够避免数据库依赖的项目,务必避免接入数据库!这将大大降低运维复杂度和成本。

BUCSSA 技术部项目总览

核心业务系统

Application Portal(申请门户系统)

  • 代码仓库 : https://github.com/bucssatech22/Application-Portal-Test
  • 技术栈 : Flask (Python) + Jinja + MySQL
  • 业务范围 : 招新管理、报销审批、财务入账、抽奖活动等核心业务
  • 开发团队 : 初期开发由邬皓天与匡嘉洋完成,后续由技术部全体成员共同维护

Official Website(官方网站)

  • 代码仓库 : https://github.com/bucssatech22/CSSA-Website
  • 技术栈 : React + React Router
  • 业务范围 : 对外宣传展示,活动信息发布
  • 开发团队 : 初期开发由邬皓天与程心扬完成,后续由技术部全体成员共同维护
  • 技术状态 : React版本相对较旧,需要考虑升级

独立项目

Swift Poll(高性能投票系统)

New Year Lucky Draw(新年抽奖系统)

Presidential Election(主席选举系统)

项目部署架构

账号管理策略 :

  • BUCSSA技术部账号 : 核心业务系统统一管理
  • 个人账号 : 独立项目由开发者个人维护,便于快速迭代

以下是所有项目的部署分布图:

部署环境详情

🖥️ VPS服务器部署

服务器信息 : 74.48.140.114

Application Portal :

  • 部署方式 : 传统服务器部署
  • 数据库 : 本地MySQL
  • 运行环境 : Python Flask
  • 特点 : 单体应用,包含完整业务逻辑

Swift Poll :

  • 部署方式 : 独立进程
  • 特点 : 高性能Rust应用,专用投票服务

☁️ Cloudflare Pages部署

Official Website :

  • 部署方式 : 静态网站托管
  • 特点 : React SPA,快速全球CDN分发
  • 优势 : 免费,高可用性

Portal 状态监测 :

  • 部署方式 : 静态监控页面
  • 特点 : 实时监控Portal服务状态

New Year Lucky Draw :

  • 部署方式 : 静态前端部署
  • 特点 : 纯前端应用,无后端依赖
  • 优势 : 自动部署,全球CDN

▲ Vercel部署

Presidential Election :

  • 部署方式 : Serverless全栈应用
  • 数据库 : Neon PostgreSQL
  • 认证 : BU Google OAuth
  • 特点 : 现代化架构,高安全性

🔗 外部服务依赖

  • Neon PostgreSQL : 选举系统专用数据库
  • BU Google OAuth : 统一身份认证服务

部署策略优势

🎯 分层部署策略

  • 核心业务 → VPS:稳定可控,数据安全
  • 展示类项目 → Cloudflare:高可用,全球加速
  • 新项目 → Vercel:快速迭代,现代化架构

💡 技术演进方向

架构演进 :

  • 传统应用 : 逐步向微服务/serverless架构迁移
  • 新项目 : 优先选择serverless平台
  • 数据存储 : 从自建数据库向托管服务迁移

部署策略 :

  • 生产环境 : 使用稳定的VPS部署
  • 静态网站 : 优先选择CDN托管服务
  • 新项目 : 推荐使用Vercel等现代化平台
  • 数据库 : 考虑使用托管数据库服务