The Node.JS software should provide a bidirectional Distribution of data in real time to different clients (mobile phones or web-based clients).
The key functions of the software are:
1. Authentification of different clients
2. Receiving data
3. Saving into a database
4. Distribution of data (different channels)
The Bridge7 platform will be used by different participants. There are three different types of participants:
1. Costumer Server (Receiving data)
2. Head of the Costumer Company (Seeing all information of this costumer).
3. LKWs (Cars) (Sending GPS data, Receiving data and sending a updated status).
The communication should work with Socket.IO.
General technical process
The Node.js application receives data from different costumer servers. The data will be saved in a database and send to the clients (the head of this company should see in the UI all data related to this company including the data from the mobile applications) and the mobile applications. The mobile applications will send new status related to the data, messages and GPS data.
The software developed by the contractor carries out an infrastructure for the receipt and distribution virtually in real time.
The software includes function to limit the access to the Node.js application to different companies and its clients (UI / Apps).
Users can authenticate with username and password or token or licencekey. It has an Interface for validating login informations.
Saving of data
The data is saved in a database (MongoDB as an example).
Distribution of data
The received data will be send to the clients (UI/App). The UI gets all data related to this company. Every App just gets the data dedicated to it. The node.js application saves the data in a queue of its channel. If there is an error in the connection, the data will be send again. This is very important with regard to the mobile application as there is no permanent internet-connection.
The system should be able to work with 1000 clients in an acceptable time, which is a few seconds.
The Code should be well documented.