chore: merge Rust backend into monorepo

git-subtree-dir: server
git-subtree-mainline: fb6a84d75f
git-subtree-split: 8a88706ff9
This commit is contained in:
2026-07-20 10:50:48 +08:00
18 changed files with 6191 additions and 0 deletions

31
server/.env.example Normal file
View File

@@ -0,0 +1,31 @@
# The API starts without this variable, but data endpoints return HTTP 503.
# DATABASE_URL=postgres://username:password@hostname:5432/teaching_feedback?sslmode=require
HOST=127.0.0.1
PORT=8080
DATABASE_MAX_CONNECTIONS=5
# A single development origin. Leave unset to disable CORS middleware.
# CORS_ALLOWED_ORIGIN=https://servicewechat.com
# Private server directory used to retain uploaded audio for transcription retry.
AUDIO_STORAGE_DIR=./data/audio
# Local FunASR is the default Chinese transcription provider.
ASR_PROVIDER=local
LOCAL_ASR_URL=http://127.0.0.1:10095
ASR_REQUEST_TIMEOUT_SECONDS=1800
ASR_WORKER_CONCURRENCY=1
ASR_JOB_LEASE_SECONDS=3600
# Optional Tencent Cloud fallback. Set ASR_PROVIDER=tencent and configure all values.
# TENCENT_CLOUD_ASR_APP_ID=1234567890
# TENCENT_CLOUD_ASR_SECRET_ID=your-secret-id
# TENCENT_CLOUD_ASR_SECRET_KEY=your-secret-key
TENCENT_CLOUD_ASR_ENGINE_TYPE=16k_zh
# Optional OpenAI-compatible chat completions endpoint for polished feedback summaries.
# Without it, the API uses a local extractive summary and remains functional.
# FEEDBACK_SUMMARY_API_URL=https://api.example.com/v1/chat/completions
# FEEDBACK_SUMMARY_API_KEY=your-api-key
# FEEDBACK_SUMMARY_MODEL=your-model