46 行
886 B
Markdown
46 行
886 B
Markdown
# CSP 在线练习 / 模拟竞赛平台(前后端分离)
|
||
|
||
- 前端:Next.js(目录:`frontend/`)
|
||
- 后端:C++20 + Drogon + SQLite(目录:`backend/`)
|
||
|
||
## 1. 本地开发(Ubuntu 24.04)
|
||
|
||
### 1.1 安装依赖
|
||
|
||
```bash
|
||
./scripts/bootstrap_ubuntu.sh
|
||
```
|
||
|
||
### 1.2 构建与运行后端
|
||
|
||
```bash
|
||
cmake -S . -B build -G Ninja
|
||
cmake --build build
|
||
ctest --test-dir build -V
|
||
|
||
./build/backend/csp_server
|
||
# http://localhost:8080/api/health
|
||
```
|
||
|
||
### 1.3 运行前端
|
||
|
||
```bash
|
||
cd frontend
|
||
npm run dev
|
||
# http://localhost:3000
|
||
```
|
||
|
||
## 2. 目录结构
|
||
|
||
- `backend/` 后端 C++ 服务与测试
|
||
- `frontend/` 前端 Next.js
|
||
- `docs/` 开发文档(设计、接口、部署等)
|
||
- `scripts/` 一键脚本
|
||
|
||
## 3. 当前状态
|
||
|
||
已完成工程骨架:
|
||
- 后端:Drogon 服务启动 + `/api/health`
|
||
- 后端:Catch2 单测接入(`ctest` 可跑)
|
||
- 前端:Next.js 工程初始化
|