{"id":23665911,"url":"https://github.com/matter-in-motion/mm","last_synced_at":"2025-09-01T18:32:16.693Z","repository":{"id":3852141,"uuid":"51119591","full_name":"matter-in-motion/mm","owner":"matter-in-motion","description":"Node.js framework and protocol with the focus on real-time applications, blazing response time and low memory footprint.","archived":false,"fork":false,"pushed_at":"2023-01-03T15:17:31.000Z","size":1090,"stargazers_count":5,"open_issues_count":15,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-15T12:46:06.846Z","etag":null,"topics":["api","app","events","framework","javascript","matter-in-motion","nodejs","protocol","rpc"],"latest_commit_sha":null,"homepage":"","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/matter-in-motion.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":"2016-02-05T01:56:22.000Z","updated_at":"2023-12-20T18:58:32.000Z","dependencies_parsed_at":"2023-01-13T12:47:21.997Z","dependency_job_id":null,"html_url":"https://github.com/matter-in-motion/mm","commit_stats":null,"previous_names":[],"tags_count":39,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matter-in-motion%2Fmm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matter-in-motion%2Fmm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matter-in-motion%2Fmm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matter-in-motion%2Fmm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matter-in-motion","download_url":"https://codeload.github.com/matter-in-motion/mm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231705301,"owners_count":18413989,"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":["api","app","events","framework","javascript","matter-in-motion","nodejs","protocol","rpc"],"created_at":"2024-12-29T06:19:49.908Z","updated_at":"2024-12-29T06:19:56.747Z","avatar_url":"https://github.com/matter-in-motion.png","language":"JavaScript","readme":"# Matter In Motion\n\n[![NPM Version](https://img.shields.io/npm/v/matter-in-motion.svg?style=flat-square)](https://www.npmjs.com/package/matter-in-motion)\n[![NPM Downloads](https://img.shields.io/npm/dt/matter-in-motion.svg?style=flat-square)](https://www.npmjs.com/package/matter-in-motion)\n\n## Node.js framework and protocol with the focus on real-time applications, blazing response time and low memory footprint.\n\n## Why not REST?\n\nPut simply, a real-world application needs more than GET, POST, PUT, DELETE. Real-world applications use more than just HTTP. How about WebSockets? MQTT? Events? Notifications? With REST your API is bind to HTTP.\n\n\u003e Let’s stop pretending REST is a good idea. REST is a bad idea that twists HTTP into something it is not, only to work around the limits of the browser, another tool twisted into being something it was never meant to be. This can only end in tears.\n\u003e - [Mike Hearn](https://blog.plan99.net/its-time-to-kill-the-web-974a9fe80c89)\n\n### Features\n* **~250ms** startup time for simple demo application worker\n* **Under 1s** startup time for real world application cluster with 8 workers\n* **Secure** built-in authorization with cryptographic passwords hashing [bcrypt](https://github.com/ncb000gt/node.bcrypt.js), [JSON Web Tokens](https://jwt.io) ([RFC 7519](https://tools.ietf.org/html/rfc7519)) encoding/decoding\n* **Simple modular extensible architecture to build complex RPC APIs.** (Code base in production since 2013)\n* **Request and _response_ data validation** using declarative style API and JSON Schema validator ([ajv](https://github.com/epoberezkin/ajv))\n* **Simple error handling**\n* **Built-in API auto discovery**\n* **Simple test tools ([mm-test](https://github.com/matter-in-motion/mm-test))**\n\n## Usage\n\n1. [Getting started](https://github.com/matter-in-motion/mm/blob/master/docs/getting-started.md) — explanations of framework's architecture and a tutorial with all the steps to make an application from scratch\n2. Clone the [demo application](https://github.com/matter-in-motion/demo).\n\n## Content\n\n* [Units](https://github.com/matter-in-motion/mm/blob/master/docs/units.md)\n* [Protocol](https://github.com/matter-in-motion/mm/blob/master/docs/protocol.md)\n* [Settings](https://github.com/matter-in-motion/mm/blob/master/docs/settings.md)\n* [Extensions](https://github.com/matter-in-motion/mm/blob/master/docs/extensions.md)\n* [Transports](https://github.com/matter-in-motion/mm/blob/master/docs/transports.md)\n  - HTTP\n  - WebSockets\n* [Serializers](https://github.com/matter-in-motion/mm/blob/master/docs/serializers.md)\n  - JSON\n  - MsgPack\n* [API and Resources](https://github.com/matter-in-motion/mm/blob/master/docs/api.md)\n* [Authentication](https://github.com/matter-in-motion/mm/blob/master/docs/authentication.md)\n* [Cli](https://github.com/matter-in-motion/mm/blob/master/docs/cli.md)\n* [Errors codes](https://github.com/matter-in-motion/mm-errors)\n\n\nLicense: MIT.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatter-in-motion%2Fmm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatter-in-motion%2Fmm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatter-in-motion%2Fmm/lists"}