Giter Site home page Giter Site logo

shaoxyz / bloc Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fbloc/bloc

0.0 0.0 0.0 1.87 MB

Bloc - A workflow management platform dedicated to liberating programmers. (一个致力于解放程序员的工作流管理平台)

License: MIT License

bloc's Introduction

Bloc

Bloc 是一个致力于将程序员从需求变化中解放出来的工作流管理平台

项目的最大目标是最大化的让需求变化不需要再经过程序员!让运营人员直接在前端进程操作就能满足需求的变化!

这个目标是通过将影响后端执行的一切参数暴露出来、一切前端可操作实现的。

目前还未上线

目录

项目说明

核心**

我们认为,一个执行是由多个函数块串联起来的,而其中各个函数的行为,可以通过函数的参数来决定。

从而出现的情况是:不同的函数块串联顺序以及不同的输入参数,就会形成一个新的执行(也就是能够满足新的需求)。

所以,bloc想要做到的事就是:开发者只需开发好各个函数、并且尽量将影响函数运行的参数(在项目中扩展为了"富参数"、支持更为广泛)暴露出来。 剩下的就都不用管了 - 使用者自己通过bloc-前端界面来操控函数块的串联方式、其中各个函数块的参数输入、执行编排来满足使用者的新需求

feature

项目有以下feature:

  1. 支持多语言的函数(目前是go、python)
  2. 支持水平扩展运行函数块(部署的实例越多并行度就越大)
  3. 支持跨代码仓库的函数提供(跨语言、跨仓库提供的函数都可以一起在前端被编排【同一个执行编排中的函数可以是来自不同仓库、不同语言提供的函数!】)
  4. 执行时机编排同时支持周期(crontab)、Webhook触发、以及先后依赖顺序指定的方式

组件构成

组件构成图如下:

其中蓝色部分对应bloc代码仓库提供的一些组件。 component

示意图

在使用bloc前的开发流程:

可能从最开始为单个需求开发的简单脚本,演进到后面的庞杂交织的应用。导致事无巨细的需求变化和沟通成本,都需要通过程序员,导致耗费程序员的大量精力。 before_bloc

而使用了bloc后,我们希望的就是能够最大程度的解耦需求变化降低沟通成本。 需求变化和信息最大程度的能在bloc前端进行获取和修改: after_bloc

快速上手

阅读对象:bloc使用者

快速上手文档

开发者文档

阅读对象:bloc开发者

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.