{"id":20742424,"url":"https://github.com/mebohq/mebo","last_synced_at":"2025-04-24T05:11:36.796Z","repository":{"id":20009704,"uuid":"88493629","full_name":"meboHQ/mebo","owner":"meboHQ","description":":sparkles:A framework focused in providing a unified interface across multiple domains:sparkles:","archived":false,"fork":false,"pushed_at":"2022-05-28T23:39:51.000Z","size":1912,"stargazers_count":17,"open_issues_count":5,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-24T05:11:27.572Z","etag":null,"topics":["cli","command-line","console","docopt","expressjs","nodejs","passport","rest","rest-api","restful"],"latest_commit_sha":null,"homepage":"https://mebohq.github.io","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/meboHQ.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-04-17T09:34:48.000Z","updated_at":"2024-09-10T06:04:09.000Z","dependencies_parsed_at":"2022-09-01T08:40:46.307Z","dependency_job_id":null,"html_url":"https://github.com/meboHQ/mebo","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meboHQ%2Fmebo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meboHQ%2Fmebo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meboHQ%2Fmebo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meboHQ%2Fmebo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/meboHQ","download_url":"https://codeload.github.com/meboHQ/mebo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250566509,"owners_count":21451232,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","command-line","console","docopt","expressjs","nodejs","passport","rest","rest-api","restful"],"created_at":"2024-11-17T07:05:39.357Z","updated_at":"2025-04-24T05:11:36.788Z","avatar_url":"https://github.com/meboHQ.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://mebohq.github.io/docs/data/logo.png?v=1\"/\u003e\n\u003c/p\u003e\n\n![status](https://mebohq.github.io/docs/data/status.svg)\n[![Gitter chat](https://badges.gitter.im/meboHQ/gitter.png)](https://gitter.im/meboHQ)\n[![Build Status](https://travis-ci.org/meboHQ/mebo.svg?branch=master)](https://travis-ci.org/meboHQ/mebo)\n[![Known Vulnerabilities](https://snyk.io/test/github/meboHQ/mebo/badge.svg)](https://snyk.io/test/github/meboHQ/mebo)\n[![codecov.io](https://codecov.io/github/meboHQ/mebo/coverage.svg?branch=master)](https://codecov.io/github/meboHQ/mebo?branch=master)\n[![Esdocs](https://mebohq.github.io/badge.svg?v=1)](https://mebohq.github.io/)\n\u003c/p\u003e\n\n## What is Mebo ?\n\n[![experimental](https://badges.github.io/stability-badges/dist/experimental.svg)](https://github.com/meboHQ/mebo/issues)\n\nMebo is an experimental framework focused in providing a unified interface across multiple domains.\n\nThe idea behing mebo is to provide a platform where [evaluations](https://mebohq.github.io/docs/class/src/Action.js~Action.html) and \ntheir [requirements](https://mebohq.github.io/docs/class/src/Input.js~Input.html) are defined in a simple matter. The way it is done \nlets you to build strict specifications with validations in a fairly \nexpressive way.\n\nEvaluations in Mebo are exposed by promoting implementations that don't need to be too coupled to a specific \ndomain instead, most of the boilerplate code needed when [bridging](https://mebohq.github.io/docs/class/src/Handler.js~Handler.html) a domain \n(for instance on the web: request \u0026 response) to an evaluation is \navoided and automatically handled by mebo ([DRY](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself)).\n\nBy using mebo you can easily expose your evaluations through the [web](https://mebohq.github.io/docs/class/src/Handlers/Web.js~Web.html) via \nREST/middlewares and also without much effort expose them through [command-line](https://mebohq.github.io/docs/class/src/Handlers/Cli.js~Cli.html) (CLI coming handy during development/debugging to interact \nwith your evaluations quickly).\n\nSo, you can use Mebo for building web apps, command-line apps or all together.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://mebohq.github.io/docs/data/hi.png?v=2\"/\u003e\n\u003c/p\u003e\n\n## Upcoming integrations\n\n- [GraphQL](https://github.com/meboHQ/mebo/issues/121)\n- [gRPC](https://github.com/meboHQ/mebo/issues/122)\n- [Socket.io](https://github.com/meboHQ/mebo/issues/5)\n\n## Key features\n- **Flexible architeture**. Mebo can be integrated to existing applications. Also, it's designed from ground up to be customizable and extendable\n\n- **Reliable executions**. Mebo enforces validating the data used prior the execution of evaluations by performing a wide range of verifications\n\n- **Agnostic execution platform**. Implementations using Mebo can be executed easily across different domains\n\n- **Integrated caching system**. Mebo provides out-the-box integrated caching system\n\n- **Express integration**. The web support in Mebo is done through express, embracing the most popular web framework for Node.js\n\n- **RESTful support**. Evaluations can be executed through REST automatically\n\n- **CLI support**. By using Mebo your evaluations can be executed through command-line interfaces following docopt specifications.\n\n[\u003cimg src=\"https://mebohq.github.io/docs/data/intro.png?v=1\"/\u003e](data/manual/INTRODUCTION.md)\n\n## Documentation\n#### [API Documentation](https://mebohq.github.io)\n#### Full Examples\n - [Hello World](https://github.com/meboHQ/example-hello-world)\n - [RESTful using Express and Mongodb](https://github.com/meboHQ/example-restful-using-express-mongodb)\n - [Middleware integration](https://github.com/meboHQ/example-middleware)\n - [Authentication](https://github.com/meboHQ/example-auth)\n - [Uploads](https://github.com/meboHQ/example-uploads)\n - [Command-line integration](https://github.com/meboHQ/example-cli)\n - [JSON serialized actions](https://github.com/meboHQ/example-json-actions)\n\n## Requirement\n[\u003cimg src=\"https://mebohq.github.io/docs/data/nodejs.png?v=1\"/\u003e](https://www.nodejs.org)\n\nMebo is built using modern specs ES6/ES7, it requires [Node.js](https://www.nodejs.org) version **8** or **greater**\n\n## Install\n```\nnpm install mebo --save\n```\n\n## Getting help\nUse the GitHub issues for tracking bugs and feature requests. Also, feel free to talk about Mebo at:\n- Gitter [meboHQ](https://gitter.im/meboHQ)\n\n## Issues\nMebo development discussions and bug reports are collected on [Issues](https://github.com/meboHQ/mebo/issues)\n\n## Contributing\nContributions are welcome to Mebo. It can be made through many different forms depending on your level of interest:\n- Participating in gitter discussions\n- Proposing features\n- Reporting issues\n- Making improvements (adding new features, improving the existing features, adding tests,\nadding testutils, clarifying wording and fixing errors)\n\n## Acknowledgements\nMebo was inspired by:\n- [Cortex](https://github.com/ImageEngine/cortex)\n- [Passport](https://github.com/jaredhanson/passport)\n- [Express](https://expressjs.com)\n- [Docopt](http://docopt.org)\n\n## Licensing\nMebo is free software; you can redistribute it and/or modify it under the terms of the MIT License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmebohq%2Fmebo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmebohq%2Fmebo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmebohq%2Fmebo/lists"}