NaviRice backend services written in C++
Services | Location |
---|---|
Common Data Service | /common |
Rendering Service | /rendering |
Examples | Location |
---|---|
Android App Client | /common/src/test/client_test.cpp |
Renderer Bridge | /renderer_bridge |
- Git v2.13.6
- cmake v3.10.2
- Protocol Buffers v3.5.0
Before moving forward, please remember to initialize and pull all the git submodules by running the following commands in the terminal:
git submodule init
git submodule update
To compile the backend services, run the following commands in the terminal:
mkdir build
cd build
cmake ..
To install the generated libraries and public headers, run the following command in the terminal:
sudo make install
You should see the following output after installing all the services successfully:
[ 30%] Built target proto
[ 46%] Built target common
[ 60%] Built target client
[ 76%] Built target service
[ 90%] Built target server
[100%] Built target renderingService
Install the project...
-- Install configuration: ""
-- Up-to-date: /usr/local/lib/librenderingService.dylib
-- Up-to-date: /usr/local/include/navirice/Step.h
-- Up-to-date: /usr/local/include/navirice/InitService.h
To start the example server, run the following command in the terminal:
./bin/server 0.0.0.0 8000
You should see the following output in the terminal:
Waiting for connection
To start the example service, run the following command in the terminal:
./bin/service 0.0.0.0 8000
You should see the following output in the terminal:
[RENDERING][1] Service started.
To start the example renderer bridge, run the following command in the terminal:
./bin/renderer 0.0.0.0 8000
You should see the following output in the terminal:
00:02:52 [RENDERING][1] Service started.
To connect to a server or a service, run the following command in the terminal:
./bin/client 0.0.0.0 8000
You should be promoted to enter the current step if connected to the server / service successfully:
Connect established.
Please enter x(double) y(double) description(string) icon(string):
Here is a sample input:
71.207 -31.03 TestDescription TestIconID
Here is the corresponding outputs:
x: 71.207
y: -31.03
description: "TestDescription"
icon: "TestIconID"
00:12:05 [HEAD_TRACKING][NaviRices 1] CURRENT_STEP
00:09:03 [RENDERING][1] Accept connection
[Step x=71.207000 y=-31.030000 description=TestDescription step=TestIconID]
00:12:05 [RENDERING][1] CURRENT_STEP
When contributing to this repository, please first discuss the change you wish to make via issue, email, or Facebook group chat with the owners of this repository before making a change.
-
Ensure any install or build dependencies are removed before the end of the layer when doing a build.
-
Update the README.md with details of changes to the interface, this includes new environment variables, exposed ports, useful file locations and container parameters.
-
Increase the version numbers in any examples files and the README.md to the new version that this Pull Request would represent. The versioning scheme we use is SemVer.
-
You may merge the Pull Request in once you have the sign-off of two other developers, or if you do not have permission to do that, you may request the second reviewer to merge it for you.
- Yang Liu - Initial work - byliuyang
- Can Alper - Optimized server performance - calper-ql
- Alex Gaines - Interfaced rendering service with renderer - roboman2444
- Binam Kayastha - To do some work in the future - binamkayastha
This project is licensed under the MIT License - see the LICENSE.md file for details