Skip to content

Repository files navigation

Scratch 私有化部署服务

私有化部署的 Scratch 编程平台,支持用户账号、项目管理和作品分享功能。

项目结构

scratch/
├── frontend/           # Next.js 前端
├── backend/     # FastAPI 后端
├── nginx/              # Nginx 配置
├── docker-compose.yml  # 生产环境部署
└── docker-compose.dev.yml  # 本地开发

快速开始

生产环境部署

  1. 配置环境变量
cp .env.example .env
# 编辑 .env 文件,修改 JWT_SECRET 和 MinIO 凭据
  1. 启动所有服务
docker-compose up -d --build
  1. 访问服务

本地开发

  1. 启动基础设施
docker-compose -f docker-compose.dev.yml up -d
  1. 启动后端
cd backend
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
python run.py
  1. 启动前端
cd frontend
npm install
npm run dev
  1. 访问服务

API 接口

认证

接口 方法 说明
/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

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages