This repository is an indoor positioning system who has the goal to locate users inside a building. It can use different fingerprint model to work. Here you will find the server part. It was written in JavaScript with NodeJs. You also need a database to save all fingerprints data.
This repository is a part of 2 other repository:
- System AP : indoor-positioning-system-ap
- Android app : indoor-positioning-system-android
-
First install all dependencies by typing:
npm install
-
Then you need to create a file named "databaseConf.js" with the database configuration (you can use the example as model). Place it inside the directory configurations
-
Launch the server:
node server.js
There are several parameters you can change to configure the server, there are all located inside the file: configurations/globalConf.js
You can test the server with a sample of data, to load this data in your database, you can use the migration (sequelize-cli package need to be installed globaly)
sequelize --config configurations/databaseConf.json db:migrate
sequelize --config configurations/databaseConf.json db:seed:all
Then launch the server:
node server.js
We also wrote a script that simulates a user who want to be located:
node test/ClientTests.js
At the end you can remove all data inside the DataBase:
sequelize --config configurations/databaseConf.json db:migrate:undo:all