Giter VIP home page Giter VIP logo

app-array's People

Contributors

bloto-31 avatar elfantroussi avatar seniuus avatar tgg avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

finaxys gtalon

app-array's Issues

Evaluate Javascript graph visualisation libraries

Goal

  • Define criteria for adopting a library
  • Evaluate libraries found according to these criteria
  • Select at least one

Requirements

It must be possible to:

  • use different colors
  • contain nodes within an enclosing group
  • add customizable decoration to nodes (e.g. image or text)
  • customize actions on click and right-click
  • reorganize the layout by moving elements with the mouse
  • export/import the layout

Options

Beyond list of libraries seen as possibly interesting (this post contains a lot):

Design model

Goal

The model is the foundation of AppArray.

Usages

It will be used to:

  • capture the concepts
  • build visualisation layer
  • as an exchange mechanism, either between clients and servers or between stored and in-memory format

Constraints

  • The model must be easy to serialize and to represent in a host language
  • The model should allow to represent a graph of dependencies / reverse dependencies
  • The model should be extensible
  • The model should "work" with Cloud-Native applications and platforms (Cloud Foundry, k8s)

Open Questions

  • Language should not be enforced: Typescript and F# may provide interesting building blocks.
  • Seaparation between model and instantiation for e.g. an environment looks similar to class / object separation. Is this similarity worth exploring?

Success Criteria

  • The model must be expressive enough to use on two existing systems

Implement protocol between UI and server

UI and server must communicate with a protocol. The proof of concept implemented the logic at UI side, but it will be more safe to have this handled at server side.

The protocol should use SignalR.

Protocol should have at least:

  • ui to server: perform on <component|application> in < environment > => id
  • server to ui: reply { payload }

Define architecture

Goal

Define how AppArray will work. While we expect to use a browser for regular usage there are plenty of open questions.

Questions

  • agentless? we could alternatively inject a client (e.g. written in go) on a machine
  • separate UI from definition?
  • UI stack could use:
    • TypeScript?
    • React or Vue or Angular
    • Elm
  • Backend if needed could use:
    • F#
    • Elixir
    • Ballerina?
    • Node.js
    • Next.js
    • WebAssembly
    • Deno.land
  • Client/server communication could use:
    • REST
    • GraphQL
    • GRPC

Must have

  • Shell to interactivily add elements (aka whiteboard)
  • Ability to open a shell (Unix ssh or Windows pwsh) on a remote machine

Nice to have

  • Full IDE e.g. with Visual Studio Code plugin or Theia
  • Open a SQL client
  • Browse messages in queue with viewer

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.