Bk Resource
Project description
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
Project details
Release history Release notifications | RSS feed
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.12.tar.gz
(50.5 kB
view details)
Built Distribution
File details
Details for the file bk_resource-0.4.12.tar.gz
.
File metadata
- Download URL: bk_resource-0.4.12.tar.gz
- Upload date:
- Size: 50.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6e1f4abfcc344528023f38cb47c0733cf550199d20cc364a9e323512e82fb23 |
|
MD5 | c5437b6f93410075adb9c990a697b0a5 |
|
BLAKE2b-256 | fe66f0219ccdf2207d9a7bd25b57361b02131f6ddb5160efcf165915fecc0ff9 |
File details
Details for the file bk_resource-0.4.12-py3-none-any.whl
.
File metadata
- Download URL: bk_resource-0.4.12-py3-none-any.whl
- Upload date:
- Size: 82.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e37afe2e37b463afbdb21041560be8d858613d4d778da6ab1883ca63829e64f |
|
MD5 | c782ba3f8ee234f2fa536c3c05bc9e52 |
|
BLAKE2b-256 | d77b2ed710c325430ca9a37b51a548e7a8c19df64c16a5fc7d96ca4e73e6456e |