https://github.com/kakadu-dev/nodejs-ijson-microservices
Package for create microservice architecture based on NodeJS.
https://github.com/kakadu-dev/nodejs-ijson-microservices
api gateway ijson js microservice node nodejs rpc worker
Last synced: 6 months ago
JSON representation
Package for create microservice architecture based on NodeJS.
- Host: GitHub
- URL: https://github.com/kakadu-dev/nodejs-ijson-microservices
- Owner: kakadu-dev
- License: mit
- Created: 2020-05-04T09:03:40.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2020-11-06T07:11:15.000Z (over 5 years ago)
- Last Synced: 2025-07-21T04:22:33.500Z (9 months ago)
- Topics: api, gateway, ijson, js, microservice, node, nodejs, rpc, worker
- Language: JavaScript
- Size: 164 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# NodeJS Inverted JSON Microservices



- Gateway entrypoint
- Microservice worker
Example gateway:
```js
const cors = require('cors');
const { Gateway } = require('@kakadu-dev/nodejs-ijson-microservices');
const IS_DEVELOPMENT = true;
const app = Gateway.create({
name: 'Project API',
ijson: process.env.IJSON_HOST,
port: process.env.PORT,
env: 'develoment',
}, gateway => {
const express = gateway.app;
// Preflight request
express.use(cors());
// express.use(MyAuthentication(gateway));
// express.use(MyAuthorization(gateway));
}, gateway => {
const express = gateway.app;
// express.use(MySpecificErrorHandler());
}, IS_DEVELOPMENT);
app.addInfoRoute();
app.addService('my-service');
app.start();
```
Example microservice:
```js
const { Microservice } = require('@kakadu-dev/nodejs-ijson-microservices');
const IS_DEVELOPMENT = true;
const app = Microservice.create('my-service', {
ijson: process.env.IJSON_HOST,
env: 'development',
}, IS_DEVELOPMENT);
const method = () => {
return {hello: 'world'};
};
app.addEndpoint('test-method', method);
app.start();
```
Start Inverted JSON:
```
version: '3.7'
services:
ijson:
image: lega911/ijson
container_name: base-ijson
ports:
- 8001:8001
```
and run POST request to: http://localhost:3000
```json
{
"id": 1,
"method": "my-service.test-method",
"params": {
"test": 1
}
}
```