/mebo

:sparkles:A framework focused in providing a unified interface across multiple domains:sparkles:

Primary LanguageJavaScriptMIT LicenseMIT

status Gitter chat Build Status Known Vulnerabilities codecov.io Esdocs

What is Mebo ?

experimental

Mebo is an experimental full OOP framework focused in providing a unified interface across multiple domains.

The support for multiple domains is done by promoting abstracted implementations which don't need to know too much about the specifics of each domain. Instead, the specifics are delegated to Mebo. Therefore, reducing the need of writing boilerplate code.

It comes bundled with support for web (rest/middlewares) and command-line (docopt) domains which was one of the reasons why I wanted to try to find a common ground to provide an unified interface for such distinctive domains that turned out to be extremely challenge.

Key features

  • Flexible architeture. Mebo can be integrated to existing applications. Also, it's designed from ground up to be customizable and extendable

  • Reliable executions. Mebo enforces validating the data used prior the execution of evaluations by performing a wide range of verifications

  • Agnostic execution platform. Implementations using Mebo can be executed easily across different domains

  • Integrated caching system. Mebo provides out-the-box integrated caching system

  • Express integration. The web support in Mebo is done through express, embracing the most popular web framework for Node.js

  • RESTful support. Evaluations can be executed through REST automatically

  • CLI support. By using Mebo your evaluations can be executed through command-line interfaces following docopt specifications.

Documentation

Full Examples

Requirement

Mebo is built using modern specs ES6/ES7, it requires Node.js version 8 or greater

Install

npm install mebo --save

Getting help

Use the GitHub issues for tracking bugs and feature requests. Also, feel free to talk about Mebo at:

Issues

Mebo development discussions and bug reports are collected on Issues

Contributing

Contributions are welcome to Mebo. It can be made through many different forms depending on your level of interest:

  • Participating in gitter discussions
  • Proposing features
  • Reporting issues
  • Making improvements (adding new features, improving the existing features, adding tests, adding testutils, clarifying wording and fixing errors)

Acknowledgements

Mebo was inspired by:

Licensing

Mebo is free software; you can redistribute it and/or modify it under the terms of the MIT License