Skip to main content

Bk Resource

Project description

logo.png

License Release Version PRs Welcome codecov Unittest Py3

(English Documents Available)

Overview

bk_resource 是一个基于 BlueappsDjango 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-commitcode-cc
  • [Resource] 集成 bk_resource 组织工程目录结构,通过 Resource 的方式声明业务逻辑
  • [Resource] 支持 ApiResource / BkApiResource 调用第三方 API 接口

Getting started

Installation

  1. 安装cruft
$ pip install cruft
  1. 通过cruft脚本架生成项目
$ cruft create https://github.com/TencentBlueKing/bk-resource.git --checkout main --directory template
  1. 添加远程仓库地址并完成推送
cd {{ project_id }}
git init
git add .
git commit -m "init repo"
git remote add origin {{ git_url }}
git push -u origin master

模板生命周期管理

检查或更新模板前需确保本地代码已提交到 GIT 仓库

  1. 检查模板是否更新
$ cruft check --checkout main
  1. 合并模板到本地项目
$ cruft update --checkout main

Usage

Domain Driven Design 开发实践

ddd

  • 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


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.10.tar.gz (50.4 kB view hashes)

Uploaded Source

Built Distribution

bk_resource-0.4.10-py3-none-any.whl (82.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page