Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mindjs/mindjs

Minimalistic, pure Node.js framework superpowered with Dependency Injection :bulb: :computer: :rocket:
https://github.com/mindjs/mindjs

architecture dependency-injection dynamic-routing expressjs fastifyjs framework inversion-of-control koajs microservices-architecture mind modular monorepo nodejs rest-api restifyjs

Last synced: about 1 month ago
JSON representation

Minimalistic, pure Node.js framework superpowered with Dependency Injection :bulb: :computer: :rocket:

Awesome Lists containing this project

README

        

# Mind.js


Unopinionated, minimalistic, pure Node.js framework superpowered with Dependency Injection (Inversion Of Control) features for building efficient and scalable server-side applications.


NPM Version
Package License
NPM Downloads
Known Vulnerabilities

DeepScan grade

## Philosophy

Thanks to Node.js and its tools, front end applications have a significant impact related to rising such superb projects like Angular, React and Vue which improve developer productivity and enable the construction of fast, testable and extensible frontend applications.
Although on the server-side there are many awesome libraries, helpers, and tools for Node, only some of them effectively solve the architecture design problems. However, most of them either complex or requires knowledge of such tools as typescript or rxjs, which makes challenging to start using them.


Mind.js aims to provide a simple and customizable application architecture out of the box, which allows for effortless creation of highly testable, scalable, loosely coupled and easily maintainable applications. It does not require any additional tools so that you can focus on business problems, not on technology ones.

**Key features:**
* **Pure Node.js**. You don't need to transpile your code and perform extra steps in your CI/CD pipeline.
* **Modular**. You can easily split your codebase into small featured modules or even microservices.
* **Dynamic Routing**. You can build your dynamic routes before application has been run but after services are initialized.
* **Dependency injection**. Manage your dependencies in easy and convenient way.
* **No magic inside**. You have complete control and understanding of what you and your application do. You are able to customize
* **Easy to customize** and build reusable mind.js components.
* **Easy to debug** with standard Node.js inspection tools.
* It is compatible with the most popular Web/API frameworks such as `Express.js`, `Koa.js`, `Restify.js`, and others.
* Mind.js goes with `platform` support. You can use existing one as a super set of providers, which can be replaced with your custom ones.
Furthermore, it is possible to setup you own platform.
* The`HttpModule` provides an ability to make external API calls, intercept them, and configure it depending on your needs (WIP).
* The `TestingModule` allows you to test your code in an easy and convenient way.

## Getting started

* Check out the [Getting Started guide](./wiki/GETTING_STARTED.md) to start building your first Mind.js app. :rocket:

For more information look at the following sections:

* [Mind.js Anatomy](wiki/MINDJS_ANATOMY.md)
* [Routing](./wiki/ROUTING.md)
* [Http](./wiki/HTTP.md)
* [Platforms](./wiki/PLATFORMS.md)
* [Testing](./wiki/TESTING.md)
* [Debugging](./wiki/DEBUGGING.md)
* [Contribution Guide](./CONTRIBUTION_GUIDE.md)

## Roadmap

Mind.js [ROADMAP](ROADMAP.md)

## Stay in touch

* Author - [Oleksandr Bondarenko](mailto:[email protected])
* Slack - [Mind.js](https://mindjs.slack.com)

## License

Mind.js is [MIT licensed](LICENSE).