/LibCap

LibCap - Library Capacity Measurement System

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

LibCap - Library Capacity Measurement System

Logo

Usage

You need to have docker installed and execute the docker-compose.yml by doing the following:

docker compose up --build --force-recreate

or

docker compose up

Manual Testing

For testing Mosquitto broker locally use this docker container:

 docker run -ti -p 1883:1883 -p 9001:9001 toke/mosquitto

after that adapt the IP Address in the code to your own.

For setting it up permanently install Mosquitto per apt-install on your Raspberry Pi and create a .conf file`. (see internet for that)

touch custom_mosquitto.conf

write the following inside the file

listener 1883
allow_anonymous true

Start the Mosquitto service again with your own config-file.

Mosquitto -c custom_mosquitto.conf

Idea

The idea behind LibCap is a Library-Capacity-Measurement-System that detects the occupancy of workstations passively, without user interventions. With this system, visitors can find free places easily and can check whether a trip to a library is worth it.

Logo

Tools

Numerous new state of the art technologies were implemented in this project; ranging from database over containerization to messaging brokers. The following technologies have been used:

Team

The team consists of 4 People. The planing and brainstorming was done in team-meetings with the help of Github's KANBAN Boards. We collaborated on all fields and worked together to achieve our goal. Nevertheless we decided on splitting the responsibilities in 4 areas as follows:

  • Alina Buss (Research & Theory)
  • Ayman Madhour (Middleware & Timeseries)
  • Phillip Lange (Frontend & Container)
  • Lukas Benner (Hardware & Design)

Implementation

LibCap is a fully functional System on a docker-stack. It can be easily deployed on minimal hardware requirements. The system is designed in such way, that the frontend, middleware and hardware can work independently of each other. This is possible due to the use of a MQTT-Broker between the Middleware and the hardware, as well as on strictly not making a direct connection between the frontend and middleware. All communication is over the database.

Therefore, the system is easily scalable and the components can be switched or enhanced without much hassle.

For a quick demonstration see here: https://youtu.be/ml8fKBpgCN8

Documentation and Assignment

The presentation and the assignment as well as the OnePager for the Project-Documentation is stored within the "Docs"-Folder. There you can also see the the Live-Demo and the Teaser-Video and the brand logos.