<p align="center">
  <a href="https://marblejs.com">
    <img src="https://github.com/marblejs/marble/blob/master/assets/img/logo.png?raw=true" width="320" alt="Marble.js logo"/>
  </a>
</p>

<p align="center">
  <a href="https://www.npmjs.com/package/@marblejs/core">
    <img src="https://github.com/marblejs/marble/workflows/Test%20suite/badge.svg" alt="GitHub Actions" status" height="18">
  </a>
  <a href="https://badge.fury.io/js/%40marblejs%2Fcore">
    <img src="https://badge.fury.io/js/%40marblejs%2Fcore.svg" alt="npm version" height="18">
  </a>
  <a href="https://codecov.io/gh/marblejs/marble?branch=master">
    <img src="https://codecov.io/gh/marblejs/marble/coverage.svg?branch=master" alt="Codecov coverage" height="18">
  </a>
  <a href="https://lernajs.io">
    <img src="https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg" alt="Maintained with lerna" height="18">
  </a>
  <a href="https://gitter.im/marblejs/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge">
    <img src="https://badges.gitter.im/marblejs/community.svg" alt="Gitter" height="18">
  </a>
</p>

<p align="center">
Functional reactive <a href="http://nodejs.org" target="blank">Node.js</a> framework for building <strong>server-side</strong> applications, based on <a href="https://www.typescriptlang.org" target="blank">TypeScript</a> and <a href="http://reactivex.io/rxjs" target="blank">RxJS</a>.
</p>

## <a name="ecosystem"></a> Ecosystem
| Name                        | Description                                                                                  |
| --------------------------- | -------------------------------------------------------------------------------------------- |
| [@marblejs/core](https://www.npmjs.com/package/@marblejs/core)                           | Framework core module           |
| [@marblejs/http](https://www.npmjs.com/package/@marblejs/http)                           | HTTP module                     |
| [@marblejs/websockets](https://www.npmjs.com/package/@marblejs/websockets)               | WebSockets module               |
| [@marblejs/messaging](https://www.npmjs.com/package/@marblejs/messaging)                 | Messaging module                |
| [@marblejs/testing](https://www.npmjs.com/package/@marblejs/testing)                     | Testing module                  |
| [@marblejs/middleware-logger](https://www.npmjs.com/package/@marblejs/middleware-logger) | Logger middleware               |
| [@marblejs/middleware-body](https://www.npmjs.com/package/@marblejs/middleware-body)     | Body parser middleware          |
| [@marblejs/middleware-io](https://www.npmjs.com/package/@marblejs/middleware-io)         | I/O validation middleware       |
| [@marblejs/middleware-cors](https://www.npmjs.com/package/@marblejs/middleware-cors)     | CORS middleware                 |
| [@marblejs/middleware-multipart](https://www.npmjs.com/package/@marblejs/middleware-multipart) | Multipart middleware      |

## <a name="docs"></a> Documentation

For the latest updates, documentation, change log, and release information visit [docs.marblejs.com](https://docs.marblejs.com) and follow [@marble_js](https://twitter.com/marble_js) on Twitter.

## <a name="examples"></a> Examples

To view example projects, reach out the [@integration](https://github.com/marblejs/marble/tree/master/packages/%40integration) package available in the main repository.

## License

marble.js is MIT licensed
