Giter VIP home page Giter VIP logo

theprocessfoundry's Introduction

The Process Foundry

A concept for a BPMN microservice framework with a focus on the developer's user experience (UX). As with all frameworks, this one sucks. I would welcome the help to make it suck less. uI'm currently writing smaller (ha ... smaller) tools such as Grapht, PivoTable, and NomNomicon.

The Reason

Most of my projects tend to be automation of wrapping APIs and CLIs (I know, essentiaally the same thing) and wiring them together. To reduce all the boilerplate, I'm abstracting each one into set of Actions and Events that can be securely routed to each other. Hopefully, this hideously complex idea will make things simpler in the long run.

Projects

  • Grapht: A distributed, yet local, cache. I've found that once I've gotten the info I need from a server, I still need to slice it up and reorganize it based on user clicks, which always needs to be written. Having it in shared memory allows for . It's meant to reduce network load by being able to use ephepmeral storage to re-query previously retrieved data.
  • PivoTable: Generate WASM code to display pivot tables in a Grapht database based on a YAML configuration.
  • NomNomicon - Rust macros using simple YAML defined grammar to build a string/stream parser. I tend to write a lot of DSLs and being able to properly document and validate them would be huge.

The Initial Use Cases

I'm doing the proof of concept on two use cases.

  • Code watcher: A simple watcher that rebuilds project systems based on files changed - see watcher.sh for what I currently use. Each individual codebase/server should actually be run inside a docker container so we can work with everything as a proper microservice.
  • Continuous backup: I need to backup an instance of Postgres running in a docker container. Simple enough to write a script for, but the inter-process communication between TPF, Docker Compose, Docker, Bash, Postgres, and Google Objects is a great place to expose the abstractions needed to make this all happen.

TODOs

Too many to list. I'm currently focused on Grapht and PivoTable to build an invoicer. I put a bit of time into some other side projects that can make use of them that in order to give myself some different use cases.

Future research

https://github.com/google/tarpc - Remote Process Call (RPC) framework

FAQ

  • I don't write rust, can I still use this? Yes, you can. Eventually. The Process Foundry was designed as a microservice framework, so all the interfaces, actions, and events are all published publically. If you write a module in a different language that adheres to those, it will work.

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.