Initial commit: secondary school grade archive system.

Add FastAPI/React app with Docker deployment, Ubuntu one-click install, and docs for junior/senior high score tracking and mistake bank.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-06-28 11:18:58 +08:00
commit e329d3398a
76 changed files with 8506 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
#!/usr/bin/env bash
#
# 备份 PostgreSQL 与 uploads 目录
# 版权所有 (c) 马建军
#
set -euo pipefail
INSTALL_DIR="${INSTALL_DIR:-/opt/secondary-school-grade-archive}"
BACKUP_DIR="${BACKUP_DIR:-${INSTALL_DIR}/backups}"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
cd "${INSTALL_DIR}"
mkdir -p "${BACKUP_DIR}"
echo "[INFO] 备份数据库…"
docker compose --env-file .env exec -T db \
pg_dump -U "${POSTGRES_USER:-postgres}" "${POSTGRES_DB:-student_archive}" \
> "${BACKUP_DIR}/db_${TIMESTAMP}.sql"
echo "[INFO] 备份 uploads…"
tar -czf "${BACKUP_DIR}/uploads_${TIMESTAMP}.tar.gz" -C "${INSTALL_DIR}" uploads/
echo "[INFO] 备份完成:"
echo " ${BACKUP_DIR}/db_${TIMESTAMP}.sql"
echo " ${BACKUP_DIR}/uploads_${TIMESTAMP}.tar.gz"