This project focuses on optimizing room selection by ranking rooms based on sensor data, user preferences, and compliance with EU regulations. It includes a decision-making system, a sensor simulation interface, a dashboard for monitoring, and a booking system.
Developed by Fedor Chikhachev, Vladyslav Siulhin, Thuc Keving Nguyen, and Tarik Tornes, this project provides a comprehensive solution for managing and utilizing room resources efficiently.
- Decision System: Ranks rooms by analyzing sensor data, user preferences, and regulatory compliance.
- Sensor Simulation: Simulates various room sensors for testing and validation.
- Dashboard: Displays real-time metrics and insights for administrators.
- Booking System: Manages room reservations through integration with Google Calendar.
- Management: Enables admin to observe and manage data effectively.
This system is designed to support both administrators in monitoring room conditions and users in finding/booking suitable rooms.
-
create .env file containing the following environment variables
MQTT_BROKER=mosquitto DOCKER_INFLUXDB_INIT_USERNAME={your influxdb username} # Initial: admin DOCKER_INFLUXDB_INIT_PASSWORD={your influxdb password} # Initial: admin123 GF_SECURITY_ADMIN_USER={your grafana username} GF_SECURITY_ADMIN_PASSWORD={your grafana password} INFLUXDB_TOKEN={your token to access all the influx db's of your account} MQTT_BROKER=mosquitto POSTGRES_USER={your username for postgres} POSTGRES_PASSWORD={your password for postgres} POSTGRES_DB=rooms_db POSTGRES_HOST=postgres POSTGRES_PORT=5432 -
create Google Calendar and enable the Google Calendar API
-
create service account for your Google Calendar API
-
Add service account with rights of making changes to the Google Calendar
-
create
envfolder and input the json file representing the credential of your service account on the Google Calendar API. The json credentials file need to be namedcreds.json
Building project:
sudo docker-compose buildTo run:
docker-compose up