Skip to content

Prototype of a web application used in a Master Thesis as backend of an indoor positioning system based on Bluetooth Low Energy.

License

Notifications You must be signed in to change notification settings

alelince/tfm-ips

Repository files navigation

Web backend for an indoor positioning system based on Bluetooth Low Energy

Description

This repository houses the code of the backend logic of a web-based indoor positioning service as described by following Master Thesis: https://openaccess.uoc.edu/handle/10609/150532?locale=en.

The Master Thesis showcases the development of a prototype for an indoor positioning system using state-of-the-art techniques and BLE as RF technology.

concept architecture

The Master Thesis is already submitted and finalized. Contributions are welcome.

Table of Contents

Requirements

  • Python 3.11 (pyenv is recommended to handle multiple Python versions)
  • Pipenv as virtual environment management tool.
  • Docker to deploy the database and optionally the backend as well.

Setup for development

  1. Install pipenv:
    $ python -m pip install pipenv
  2. Create/activate the virtual environment for the project:
    $ pipenv shell
  3. Install all the dependencies:
    $ pipenv install --dev

To migrate the database schema:

$ alembic upgrade head

Backend setup

  1. Build the containers:
    $ docker compose -f docker/docker-compose.yaml build
  2. Start the containers:
    $ docker compose -f docker/docker-compose.yaml up -d 
  3. Check that the different endpoints are working: http://localhost:9999/docs

To stop the containers:

$ docker compose -f docker/docker-compose.yaml down

Overview

work in progress

concept architecture

About

Prototype of a web application used in a Master Thesis as backend of an indoor positioning system based on Bluetooth Low Energy.

Topics

Resources

License

Stars

Watchers

Forks