shakehand
v1.0.0
Published
Composite components framework
Downloads
2
Maintainers
Readme
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