maggioni.xyz/_portfolio/smarthut.md

32 lines
1.4 KiB
Markdown
Raw Normal View History

---
layout: portfolio
title: Smarthut
date-start: 2020-03
date-end: 2020-06
category: usi
languages: Spring + ReactJS
authors:
- Andrea Brites Marto
- Matteo Omenetti
- Jacob Salvi
- Tommaso Rodolfo Masera
- Nicola Brunner
- Filippo Cesana
- Christian Capeáns Pérez
images:
- smarthut/home-frontend.png
- smarthut/devices.png
- smarthut/scenes.png
- smarthut/automations.png
- smarthut/swagger.png
description: Smart home manager for (mocked) smart devices, complete with user-definable rooms, presets, and events.
repo-type: git
repo-url: https://tea.maggioni.xyz/smarthut
---
This is a 3 month software engineering project part of the second year of USI's curriculum. As a team leader, I had to manage a team of 8 people to develop Smarthut, a full-stack Spring + ReactJS web application that manages smart devices.
Smarthut is able to direcly control (mocked) smart devices, but it can also group devices in rooms, configure and apply pre-made settings to a group of devices, and trigger user-defined actions based on a user-defined condition on pre-selected devices.
Smarthut's backend is a Spring REST application, complete with JWT sessions, CRUD APIs for the different types of device, and a WebSocket API that propagates device status updates. The frontend is a ReactJS application with Redux storage to handle active and passive device updates.