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.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
|