Project contains 4 repos (as many as containers) and 1 more container for redis. There are:
This micro service provide poll requests to fire-group api to gain list of devices and coordinates of them. This service subscribes for HAS_USERS channel of redis and if message delivered it starts polling data from api and pushing it to the redis on GEO_STATE channel, if false message recieved it will stops and start waiting for new events.
This micro service provide support for client side socket.io events. When first client connected this service push notification to the redis node to HAS_USERS channel, and waiting for GEO_STATE events, when this event comming node-cluster push notification to client application with array of devices with locations of them.
Client side application written using React and socket.io with leaflet.
Reverse proxy for glonass-node-cluster application. Also serves client side application and static files.
Used as MQ server.
If you want to contribute to this project you should first build this app by yourself in few simple steps:
-
Before that you should already have python, pip, docker, docker-compose.
-
Run this script:
git clone https://github.com/glonass-project/glonass.git
cd glonass
git clone https://github.com/glonass-project/glonass-node-geoapi-polling-server.git
git clone https://github.com/glonass-project/glonass-node-cluster.git
git clone https://github.com/glonass-project/glonass-client.git
git clone https://github.com/glonass-project/glonass-nginx-front-end.git
docker-compose up --build
That's it!
In production build you don't need all repose from previous step, you just should:
docker-compose -f docker-compose.prod.yml up
That's all.
ScaleChamp - Victorious multi-cloud Managed Databases provider.