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.11b0.tar.gz
(50.4 kB
view details)
Built Distribution
File details
Details for the file bk_resource-0.4.11b0.tar.gz
.
File metadata
- Download URL: bk_resource-0.4.11b0.tar.gz
- Upload date:
- Size: 50.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7af99087baa76777cd2f7c41f829525636147d23da4f29b4598784ba0f5b2561 |
|
MD5 | dba1b7dd2b761e00c36c8bf02d222022 |
|
BLAKE2b-256 | 9790623d4f531c5940777ee0b34ac944070e288bcdc9db09fd16d544ae8135cd |
File details
Details for the file bk_resource-0.4.11b0-py3-none-any.whl
.
File metadata
- Download URL: bk_resource-0.4.11b0-py3-none-any.whl
- Upload date:
- Size: 82.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 661072b014167e00f5dba9b1a4fdcdbcf97cab033adce2c366d3f2f233bcfa26 |
|
MD5 | b8714b9eb735e6e38be8c8da7b681e43 |
|
BLAKE2b-256 | 13da3f7b247fcf2027f8350011fdb963ca7b15b69893f747404d631d4bdd79a2 |