momkai/mimoto

A realtime fluid data management microframework


Keywords
templating, microframework, data, websocket, realtime
License
Apache-2.0

Documentation

UNDER CONSTRUCTION - Made public for development reasons. Stay tuned!

Mimoto.Aimless

Realtime fluid data management by Sebastian Kersten

This project uses Aimless, an Entity Oriented Programming protocol, for creating a live updating interface (with the help of Pusher).

Documentation

https://docs.google.com/document/d/1gQeynyg3Yt-x7OT8Zl4_k40ePzvpf3LInOwLm5uTxdM

Ask for viewing permission! (expectation management: not nearly close to being finished)

Projects in development

Project Description
Maido.Projects A project management tool
Momkai.com Momkai's new portfolio website
Speakers agency A tool for managing speaker requests for De Correspondent

Examples

  • Example 1 - Show article in single template - view
  • Example 2 - Show article in template depending on article 'type' - view
  • Example 3 - Article feed shows list of existing articles - view
  • Example 4 - Article feed shows list of existing articles in template depending on article 'type' - view
  • Example 5 - Show project with all it's subprojects - view
  • Example 6 - Show project with all it's subprojects, each connected to a template based on subproject 'phase' - view
  • Example 7 - Similar to example 6, but now also grouped by subproject 'phase' - view
  • Example 8 - An overview of all clients - use with examples 9 and 10 for realtime effect - view
  • Example 9 - Changes some values of a client - use with example 8 for realtime effect - view
  • Example 10 - Create a new client - use with example 8 for realtime effect - view
  • Example 11 - An overview of all subprojects - use with examples 12 and 13 for realtime effect - view
  • Example 12 - Toggle subproject phase to 'archived' - use with example 11 for realtime effect - view
  • Example 13 - Toggle subproject phase to 'currentproject' - use with example 11 for realtime effect - view
  • Example 14 - Project with subprojects, with value formatter - use with examples 15 and 16 for realtime effect - view
  • Example 15 - Add subprojects to project's collection - use with example 14 for realtime effect - view
  • Example 16 - Remove subproject from project's collection - use with example 14 for realtime effect - view
  • Example 17 - Project with subprojects - typed - use with examples 18 and 19 for realtime effect - view
  • Example 18 - Add subprojects to project's collection - use with examples 17 or 20 for realtime effect - view
  • Example 19 - Remove subproject from project's collection - use with examples 17 or 20 for realtime effect - view
  • Example 20 - Project with subprojects - typed and grouped - use with examples 18 and 19 for realtime effect - view
  • Example 21 - A 'client' form with a basic textfield - view
  • Example 15 - SendGrid

Experiments

Some Aimless stuff

This will be explained later

onUpdate
  • mls_id
  • mls_template
  • mls_value
onCreated
  • mls_contains
  • mls_filter
  • mls_template

Actions

{
    "trigger": "project.updated",
    "service": "Aimless",
    "request": "dataUpdate",
    "type": "async",
    "config":
    {
        "properties":
        [
            "name", 
            "description",

            "client.name", 
            "agency.name", 
            "projectmanager.name",

            "subprojects"
        ]
    }
}

Configurating Mimoto.Aimless.js

Custom events

var sEvent = 'project.*.added';
Mimoto.Aimless.subscribe(sEvent, doSomethingOnAdd);

function doSomethingOnAdd(data)
{
    // do something custom
}