跳到主要内容
版本:Current

前置条件

适用对象​

要在本机跑通主席选举系统的技术部成员。

需要准备​

项说明
Node.js建议 20+(维护环境实测过 22)
npm随 Node 安装即可
Neon 项目提供 DATABASE_URL;库中需已有 Auth.js 表与业务基础表
Google Cloud OAuth 客户端Web 应用,回调见下
Git克隆 BU-CSSA-Tech/CSSA-Election

Google OAuth 回调​

开发:

http://localhost:3000/api/auth/callback/google

生产把主机换成部署域名。客户端 ID / Secret 对应环境变量 AUTH_GOOGLE_ID、AUTH_GOOGLE_SECRET。

数据库前提​

db/migrations 是增量脚本,不是从零建库。全新 Neon 库还需要:

  • Auth.js / Neon Adapter 使用的 users、accounts、sessions 等表
  • 业务基础表:campaigns、participation、ballots 等

仓库没有完整 dump(neondb-full-dump.sql 被 gitignore)。新环境通常从已有业务库备份恢复,再按编号跑尚未执行的迁移。

冷启动登录​

public.users 为空时,默认拒绝 Google 登录。本地第一次进入可以:

  1. 在库中先插入一条管理员(邮箱与你的 Google 账号一致),或
  2. 临时设置 AUTH_ALLOW_EMPTY_USER_TABLE=1(生产不要开)