You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
iTi-Flask/README.md

66 lines
1.7 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# iTi-Flask
iTi-Flask 是基于 APIFlask / Flask 的轻量后端框架基座。
它用于多个业务项目复用统一的系统域能力和工程约束。
它不是业务应用,不内置前端产物,也不是微服务平台。
## 当前边界
框架内置:
- 应用工厂和配置加载。
- SQLAlchemy、Flask-Migrate、JWT、缓存、限流、日志、错误处理。
- 系统域 API认证、用户、角色、菜单、部门、字典、配置、文件、日志、用户扩展属性。
- 进程内 module 协议。
- HTTP JSON service client。
- 单进程 task runner。
- Python system seed。
- 框架迁移同步命令。
- Copier 业务项目模板。
ERP 不属于 core。
后续应作为独立 ERP Gateway 服务提供能力。
## 开发
```bash
uv sync --extra dev
uv run --extra dev --extra mysql --extra image --extra excel pytest
```
## 数据库初始化
框架仓库本身:
```bash
uv run python -m flask --app iti/app.py db upgrade
uv run python -m flask --app iti/app.py iti seed system
```
业务项目:
```bash
uv run python -m flask --app app.py iti migrations sync
uv run python -m flask --app app.py db upgrade
uv run python -m flask --app app.py iti seed system
```
## 业务项目生成
```bash
uvx copier copy ./copier-template ../my-business-app
```
业务项目依赖 iTi-Flask 的 Git tag。
框架升级后,业务项目更新依赖 tag再同步框架迁移。
## 文档
- [框架边界](docs/FRAMEWORK_BOUNDARY.md)
- [架构重构计划](docs/ARCHITECTURE_REFACTOR_PLAN.md)
- [数据库迁移](docs/MIGRATIONS.md)
- [种子数据](docs/SEEDS.md)
- [服务客户端](docs/SERVICE_CLIENT.md)
- [任务运行器](docs/TASKS.md)