1.0.0 • Published 6 years ago

shakehand v1.0.0

Weekly downloads
6
License
MIT
Repository
github
Last release
6 years ago

shakehand

Composite components framework

"Fine. I'll do it myself." - Thanos

Tired of:

  • Writing and testing boilerplate ✓
  • Mixing boilerplate and business logic ✓
  • Deciding in advance where to separate components ✓
  • Trying to write reliable, robust, stable Node.JS production code ✓ (Ave, Imperator, morituri te salutant)

Alright then - I might have something for you.

Handshake is a framework for Node.JS that:

  • Explicitly separates common and application specific code and offers a way to couple both sides of the divide.
  • Allows transparent composition of components as in-process or intra-process.
  • Offers built-in graceful transition between initialization, working mode, error handling and shutdown.
  • Offers built-in logging, metrics, factories and error handling.
  • Offers built-in clients for databases, queues, http, trains (not really), planes (not really) and automobiles (not really)
  • Allows static analysis of composition of components.

Apart from this - it's also an experiment in rational software design and process. It's a radical depature (for its author... ahem) in discarding all embedded comments in lieu of design documents. Thus no code comments are allowed at all - code is (best effort) designed to be comprehensible by predictable naming and human-sized components (single responsibility, short functions, low nesting level). Each source file is accompanied by a separate design document which documents why, what and how together with why not, what not and how not.

Composition

Go read c