# xgtest-open **Repository Path**: hlaaa/xgtest-open ## Basic Information - **Project Name**: xgtest-open - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-24 - **Last Updated**: 2026-06-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 开源性格测试网站 这是一个基于 `NestJS + Vue 3 + SSR + TypeORM + MySQL` 的性格测试网站示例工程,包含测试列表、测试详情、答题、后端计分、结果页和分享结果页。 ## 技术栈 | 层级 | 技术 | | --- | --- | | 服务端 | NestJS 11 | | 前端 | Vue 3 + Pinia + Vue Router 4 | | SSR | `ssr` / `ssr-core` / `ssr-plugin-nestjs` / `ssr-plugin-vue3` | | 数据库 | MySQL 8 + TypeORM | | 部署 | Docker Compose + Caddy | | 工程化 | TypeScript 5 + Biome + pnpm | ## 快速开始 1. 安装依赖: ```bash pnpm install ``` 2. 复制环境变量示例: ```bash cp .env.example .env.development ``` 3. 按本地数据库配置修改 `.env.development`。 4. 启动开发服务: ```bash pnpm start ``` ## 构建 ```bash pnpm build ``` ## Docker 部署 生产环境请复制 `.env.example` 为 `.env.production`,填入自己的域名、数据库账号和密码后再执行: ```bash docker compose up -d --build ``` `Caddyfile` 默认使用 `SITE_HOST` 环境变量作为站点域名,可按自己的部署方式调整。 ## 目录结构 ```text src/ common/ 通用响应、异常过滤、站点上下文 database/ TypeORM 数据库配置 modules/ tests/ 测试项目 questions/ 题目与选项 scoring/ 后端计分 results/ 结果模板 records/ 答题记录与分享记录 test-page/ SSR 页面入口 web/ pages/ index/ 首页 tests/ 测试列表、详情、答题页 results/ 结果页、分享结果页 docker/mysql/ 示例数据初始化脚本 ``` ## 开源说明 - 仓库只保留示例配置,不包含真实域名、真实密钥或生产密码。 - 请不要提交 `.env.development`、`.env.production` 等本地环境文件。 - 如果曾经把真实密钥提交到 Git 历史中,开源前需要作废并轮换对应密钥。