← All projects

User Feedback Web Application

Flask/PostgreSQL web app with user authentication, room and user management, scheduled reminders, and real-time sensor visualisation via the HELLA ONYX REST API.

  • Python
  • Flask
  • PostgreSQL
  • REST API

Overview

A full-stack web application built to collect structured user comfort feedback for shading products and visualise real-time sensor data from installed HELLA ONYX devices.

Architecture

Backend (Flask + PostgreSQL)

  • User registration, login, and session management with secure password hashing
  • Admin interface: room configuration, user management, role assignment
  • Scheduled reminder system: automated email notifications to active users
  • REST API integration: polling the HELLA ONYX API to retrieve sensor readings (illuminance, temperature, glare metrics)

Frontend

  • Server-rendered HTML views with real-time sensor data charts (Chart.js)
  • Responsive layout for use on desktop and mobile within office environments

Database

PostgreSQL schema covering users, rooms, feedback entries, sensor snapshots, and reminder logs. Migrations handled with Flask-Migrate.

Key technical challenges

  • API reliability: The ONYX API occasionally returned incomplete payloads; the application gracefully handles partial data and logs gaps for review.
  • Scheduled tasks: Background task scheduling in a Flask environment without a dedicated task queue — implemented with APScheduler.

Outcome

The application provided a structured channel for occupant feedback, enabling future iterations of the RL shading project (see RL for Comfort-Based Shading) to incorporate real human comfort data.