私有化部署的 Scratch 编程平台,支持用户账号、项目管理和作品分享功能。
scratch/
├── frontend/ # Next.js 前端
├── backend/ # FastAPI 后端
├── nginx/ # Nginx 配置
├── docker-compose.yml # 生产环境部署
└── docker-compose.dev.yml # 本地开发
- 配置环境变量
cp .env.example .env
# 编辑 .env 文件,修改 JWT_SECRET 和 MinIO 凭据
- 启动所有服务
docker-compose up -d --build
- 访问服务
- 启动基础设施
docker-compose -f docker-compose.dev.yml up -d
- 启动后端
cd backend
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
python run.py
- 启动前端
cd frontend
npm install
npm run dev
- 访问服务
| 接口 |
方法 |
说明 |
/api/auth/register |
POST |
用户注册 |
/api/auth/login |
POST |
用户登录 |
/api/auth/me |
GET |
获取当前用户 |
/api/auth/logout |
POST |
退出登录 |
| 接口 |
方法 |
说明 |
/api/projects |
GET |
获取项目列表 |
/api/projects |
POST |
创建项目 |
/api/projects/{id} |
GET |
获取项目详情 |
/api/projects/{id} |
PUT |
更新项目 |
/api/projects/{id} |
DELETE |
删除项目 |
/api/projects/{id}/share |
POST |
生成分享链接 |
| 接口 |
方法 |
说明 |
/api/share/{token} |
GET |
获取分享的项目 |
- 前端: Next.js 14, React, TypeScript, Tailwind CSS
- 后端: FastAPI, Python 3.12, Beanie (MongoDB ODM)
- 数据库: MongoDB
- 缓存: Redis
- 存储: MinIO
- 部署: Docker, Nginx