部署指南
约 849 字大约 3 分钟
开发前准备
- 安装Python
- 安装Node.js
- 安装pnpm
- 安装Docker
环境配置
前端环境
运行以下命令,进入frontend目录并安装前端依赖
pnpm installSupabase环境
进入supabase目录并安装Supabase依赖
npm install supabase --save-dev确认项目管理员已经邀请你进入项目,使用自己的Supabase账号登录
npx supabase login在命令行中关联项目
npx supabase link其中,当你看到 Enter your database password: 时,输入管理员提供的密码,并按回车
注意,不可以使用Ctrl+V粘贴,建议手动输入,或者使用Ctrl+Shift+V
FastAPI环境
进入backend-ai目录,首先运行以下命令创建虚拟环境
python -m venv venv激活虚拟环境`
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate安装需要的依赖
pip install -r requirements.txt开发服务器启动
前端开发服务器启动
在frontend目录下运行以下命令
pnpm devSupabase开发服务器启动
在supabase目录下运行以下命令
npx supabase startFastAPI开发服务器启动
在backend-ai目录下运行以下命令
uvicorn main:app --reloadSupabase 项目结构
supabase/
├── .env
├── migrations/
│ └── <timestamp>_init.sql
└── functions/
└── <your_functions>Supabase数据库表、View、触发器、函数等的定义和管理都在migrations目录下进行。每个迁移文件对应数据库的一次变更,确保数据库结构与代码保持一致。
Supabase边缘函数的定义和管理都在functions目录下进行。每个函数文件对应一个边缘函数,确保边缘函数的代码与数据库结构保持一致。
登录和注册功能由Supabase Auth实现,需要额外实现user_info表,以实现用户身份管理,并关联到auth.users表。
文件存储由Supabase Storage实现,用户可以将文件上传到Supabase并生成对应的文件URL。
详细文档见后端文档
请认真阅读Supabase文档,了解如何使用Supabase进行数据库管理、边缘函数开发和文件存储。
参考文档:
FastAPI 项目结构
backend-ai/
├── main.py 应用入口
├── requirements.txt 依赖包列表
├── logs/ 日志将存放在此目录
│ └── app_<timestamp>.log
├── app/ 应用程序代码
│ ├── utils/ 工具函数
│ ├── api/ 处理API请求
│ ├── models/ 数据模型
│ ├── schemas/ 数据验证和序列化
│ └── services/ 业务逻辑
└── venv/ 虚拟环境目录项目使用FastAPI构建,业务逻辑位于app/services/目录下,数据模型位于app/models/目录下,Pydantic模式位于app/schemas/目录下,API请求处理位于app/api/目录下,工具函数位于app/utils/目录下。
我们使用Pydantic进行数据验证和序列化,需要在app/models/目录下定义数据模型,并在app/schemas/目录下定义对应的Pydantic模式,项目中已经给出了示例,这并不是实际需要的业务逻辑,只是为了展示如何组织代码。
假设FastAPI服务启动于http://localhost:8000,我们可以通过访问http://localhost:8000/docs或者http://localhost:8000/redoc来查看自动生成的API文档。
详细文档见AI服务文档。
Supabase提供Python客户端库,参考 Supabase文档 了解如何使用Python客户端库与Supabase进行交互。
参考文档:
版权所有
版权归属:Evoliant
许可证:MIT