mcflis / syncpipes-server

A lightweight REST based LTE tool implemented using TypeScript

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SyncPipes RESTful Server

Requirements

  • MongoDB
  • RabbitMQ
  • node.js (v6.0 and above) and npm
  • Typings npm install --global typings
  • Gulp npm install --global gulp-cli

Install

  1. Run npm install
  2. Run typings install
  3. Run gulp serve

Configuration

  1. Rename .env.sample to .env
  2. Change SYNCPIPES_MONGO_DATABASE in .env to your database name

Docker support

The application has build in Docker support. It also supports docker-compose to manage all dependencies.

You can start the complete application stack using docker-compose up

Using the API

To use access the API either a generic REST-Client like Postman or the official SyncPipes client application can be used.

We suggest to use the official Angular.js client application.

The complete API documentation can be found in docs/API.md

Setting up SSL for RabbitMQ

Refer to https://www.rabbitmq.com/ssl.html to create certificates Copy and paste client certificates to cert folder

MongoDB settings with auth

Create a guest user for syncpipes collection

use syncpipes

db.createUser( { user: "guest", pwd: "guest", roles: [ { role: "clusterAdmin", db: "admin" }, { role: "userAdminAnyDatabase", db: "admin" }, {role: "readWrite", db: "admin"}, "readWrite" ] } );

Mongo Config file for mongo service

systemLog:
    destination: file
    path: c:\data\log\mongod.log
storage:
    dbPath: c:\data\db
security:
    authorization: enabled

Update .env configuration file for custom settings

##Credits

Special thanks to the main author of this code - Fridolin Koch, who developed it as part of his Bachlor thesis at TUM (sebis)

About

A lightweight REST based LTE tool implemented using TypeScript

License:MIT License


Languages

Language:TypeScript 98.3%Language:JavaScript 1.6%Language:Dockerfile 0.1%