# intelligent-voice
**Repository Path**: liangzi_3/intelligent-voice
## Basic Information
- **Project Name**: intelligent-voice
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: develop
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-07-24
- **Last Updated**: 2024-07-30
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# AI自动化机器学习平台 后端(新版)
嘿!有没有想过在几分钟内完成后端设置?好吧,你来对地方了!使用 FastAPI
并基于 [Tiangolo 的全栈示例项目](https:github.comtiangolofull-stack-fastapi-postgresql),该模板允许您以有条理且高度自以为是的结构专注于您的功能。以下是您可以在此处找到的盒子:
- 🚀 OAuth2.0: 使用 Access Token 和 refresh Token 通过 JWT 进行身份验证
- 🚀 SSO: 使用 Facebook、Github 和 Google 预配置身份验证
- 📧 Email service: 使用 SMTP 的委派电子邮件服务
- 📜 MJML: 电子邮件模板
- 💽 PostgreSQL/SQLAlchemy: ORM 托管数据库
- 🏁 Alembic: 数据库迁移
- 🗂️ File storage: 本地磁盘上的文件管理
- ✍️ CRUD: 易于设置和复制
- 🤖 Pytest: 单元测试
- 🐳 用于开发的 Docker 堆栈
## Windows 开发环境快速部署
- 使用conda管理虚拟环境, python==3.11
- 安装 [poetry](https://python-poetry.org/docs/#installation) (若安装过程中提示没有 `poetry` 这个命令,关闭终端重新打开即可)
```shell
# 安装 pipx
pip install pipx
# 安装 poetry
pipx install poetry
# 设置 poetry 环境变量
pipx ensurepath
```
- 安装依赖环境
```
# 在 pyproject.toml 文件的目录下执行安装
poetry install --no-root
```
- 复制编辑 .env 文件
```
# 复制 env-example 文件重命名为 .env , 并修改对应配置
cp env-example .env
```
- 在 Pycharm 中加载 .env 插件
- 安装 EnvFile 插件
- 运行项目
- 在 pycharm 中添加 fastapi 运行配置
- 添加 .env 环境变量
- 运行 fastapi
- (可选) 首次运行
- 第一次运行需要初始化数据库
- 运行 prestart.py (需要添加 .env 环境变量)
- (可选) 模型迁移
- 修改model后,运行 migrate.py (需要添加 .env 环境变量)
- (可选) 自动化测试
- 运行 pretest.py (需要添加 .env 环境变量)
## 生产环境快速部署
- 配置 .env 环境变量
```shell
cp env-example .env
```
- 启动服务
```
docker compose up -d
```
## 快速上手
1. 创建数据库模型 model
2. 创建数据模型 pydantic / schemas
3. 创建 crud
4. 创建 api
5. 创建 test
## 数据库关联关系解决方案
- 一对多
- 参考 user / item 表
- 多对多
- 参考 user / group 表