Overview
bk_resource 是一个基于 Blueapps 和 Django Rest Framework 的脚手架,
旨在帮助开发人员快速生成符合 12-factor 规范的 WEB SaaS,并在DDD开发实践中方便地创建可扩展的领域服务
Features
- [Basic] 基于
Django进行封装,生成标准swagger API - [Basic] 基于
django-environ适配环境变量与.env配置 - [Basic] 支持基于
PEP-621的全工具链 (mypy\isort\flake8\black) 配置方案 - [Basic] 支持代码规范类工具整合:
pre-commit、code-cc - [Resource] 集成
bk_resource组织工程目录结构,通过Resource的方式声明业务逻辑 - [Resource] 支持
ApiResource/BkApiResource调用第三方API接口
Getting started
Installation
- 安装
cruft
$ pip install cruft
- 通过
cruft脚本架生成项目
$ cruft create https://github.com/TencentBlueKing/bk-resource.git --checkout main --directory template
- 添加远程仓库地址并完成推送
cd {{ project_id }}
git init
git add .
git commit -m "init repo"
git remote add origin {{ git_url }}
git push -u origin master
模板生命周期管理
检查或更新模板前需确保本地代码已提交到 GIT 仓库
- 检查模板是否更新
$ cruft check --checkout main
- 合并模板到本地项目
$ cruft update --checkout main
Usage
Domain Driven Design 开发实践
- Api 交互层
通过 UI Api 或者 Open Api 将服务暴露给用户,由对应的 Api 负责对应的业务逻辑串联。 - Scene 场景层
在通过 Api 访问后端时,实际访问的是由 Resource 暴露的一个场景服务,通过场景服务串联领域层的业务逻辑。 - Domain 领域层
领域层聚焦对应的细分模块,负责处理模块的具体业务逻辑,例如,在用户模块中,处理用户注册、登录、修改密码、重置密码等逻辑。 - Model 模型层
在 MVC 框架中 (如 Django),将代码架构划分为 Model (模型),View (视图),Controller (控制器) 三层,View 用于界面展示,在前后端分离开发部署的实践中,已经不再由后端处理,后端只需要处理 Model & Controller。
Roadmap
Support
BlueKing Community
- BK-CMDB:蓝鲸配置平台(蓝鲸 CMDB)是一个面向资产及应用的企业级配置管理平台。
- BK-CI:蓝鲸持续集成平台是一个开源的持续集成和持续交付系统,可以轻松将你的研发流程呈现到你面前。
- BK-BCS:蓝鲸容器管理平台是以容器技术为基础,为微服务业务提供编排管理的基础服务平台。
- BK-PaaS:蓝鲸 PaaS 平台是一个开放式的开发平台,让开发者可以方便快捷地创建、开发、部署和管理 SaaS 应用。
- BK-SOPS:标准运维(SOPS)是通过可视化的图形界面进行任务流程编排和执行的系统,是蓝鲸体系中一款轻量级的调度编排类 SaaS 产品。
- BK-JOB 蓝鲸作业平台(Job)是一套运维脚本管理系统,具备海量任务并发处理能力。
Contributing
如果你有好的意见或建议,欢迎给我们提 Issues 或 Pull Requests,为蓝鲸开源社区贡献力量。
腾讯开源激励计划 鼓励开发者的参与和贡献,期待你的加入。
License
基于 MIT 协议, 详细请参考 LICENSE
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
bk_resource-0.4.14.tar.gz
(51.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bk_resource-0.4.14.tar.gz.
File metadata
- Download URL: bk_resource-0.4.14.tar.gz
- Upload date:
- Size: 51.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
815c3b35e071e51241a3867e2b42ec54a5dadbf6e812d3bc28e398b6f3bd2f6c
|
|
| MD5 |
1a71856d00ae8bc6a04475c126408bd1
|
|
| BLAKE2b-256 |
3ca1d63504a3f8283cd11e23c54bd89d36de12869c7933a109c50e8b968e5541
|
File details
Details for the file bk_resource-0.4.14-py3-none-any.whl.
File metadata
- Download URL: bk_resource-0.4.14-py3-none-any.whl
- Upload date:
- Size: 83.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d4c0da8ceef24738e44a28b3258fb131b7180a0df1c3fa53ff10361870bcc1b
|
|
| MD5 |
34bb5d74155da0672ab5108f0476f59a
|
|
| BLAKE2b-256 |
3802f043044499e8801e413e960b7be5e7a16e294667e589b4a491dad4713883
|