Skip to content
/ minerva Public

Applying microservice architecture to the presentation layer.

License

Notifications You must be signed in to change notification settings

wsick/minerva

Repository files navigation

minerva

Build Status Gitter

Applying microservice architecture to the presentation layer.

Purpose

After building Fayde presentation engine, we reached a threshold of optimization. Due to the structure, we could not unit test or performance test pieces of the engine. Since the engine consisted of monolithic items, any browser profiling resulted in nothing insightful. A sizeable chunk consisted of long functions causing browsers to bail when trying to compile interpreted code to native.

We expect a 10x (worst case) to 100x (best case) performance improvement. We also expect a stable and configurable presentation layer due to the philosophy of unit testing.

A great side effect of a microservices pipeline architecture is the highly configurable nature. Currently, presentation code is coupled to controls. Instead, these pieces of functionality are injected by the defining entities.

Documentation

  • See pipeline notes for information on how pipelines work.
  • See engine notes for information on how the presentation engine works.

Contributing

Prerequisites

$ npm install -g gulp
$ npm install -g bower
$ npm install -g fayde-unify

Setup

$ git clone git@github.com:wsick/nullstone.git
$ cd nullstone
$ npm install
$ gulp reset # cleans bower libs, bower installs, then symlinks to test and stress bootstrappers

Unit Tests

$ gulp test

Stress Tests

Launches default browser with runnable stress tests.

$ gulp stress

About

Applying microservice architecture to the presentation layer.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •