GithubHelp home page GithubHelp logo

grace's People

Contributors

kklingenberg avatar lmarti avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

idkjs

grace's Issues

Add a layered persistence service for various DB backends

All persistence needs should be compatible with either SQLite, PostgreSQL or Elasticsearch. The proposed structure is that of a mapping between types (e.g. TemplateGraph.t, TemplateGraph.Node.t, etc.) and a dispatch-based function for each CRUD requirement.

let save: (Settings.t, TemplateGraph.t) => Lwt.t(TemplateGraph.t);
let read: (Settings.t, string) => Lwt.t(option(TemplateGraph.t));
let delete: (Settings.t, string) => Lwt.t(unit);

All these should be implemented at the service level, with general helpers located elsewhere.

Add CI for tests and docker images

Tests and docker build jobs should be automated for the master branch and tags. Ideally, the test jobs are also turned into preconditions for PR approval.

Add parser and endpoint for template graph definition

A template graph should be definable as a DAG over a domain, mapping nodes to domain entities and edges to domain relationships.

Each node should be defined in terms of the simplest schema, leaving application-specific fields as metadata. A non-exhaustive list of mandatory node fields is:

  • the canonical name of the node
  • the human-friendly name of the node
  • a human-friendly description
  • the domain entity query for the scope of the node
  • the set of node inputs and the respective domain relationships to use when building edges
  • the formula, script, or hook used for the actual computation (more on this later)

Add parser and endpoint for loading domain entities and relations

Domain entities and relations should adhere to the implied schema given by the template graph.

A domain entity or relation modification should trigger a re-building of the materialized time series graph (the real computation graph). This might end up being too resource intensive (to keep the computation graph in sync with the domain graph), in which case an alternative deprecation and forced update mechanism should be sketched.

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.