Stormly is an app designed to solve low-quality weather measurements in smaller areas. We decided to create a device with a connection to a personal database, which stores weather information. This data can be easily accessed by logging into the website. Each user has a unique account with weather information from his device. Stormly is divided into hardware and software parts. Microprocessor - Arduino UNO is responsible for the hardware part, which collects and sends data from sensors. The software part is represented by a Java language application, which processes received data and displays them on the web service.
Core of the project is based on MVC design pattern using Java programming language and HTML views. Main technologies used were Spring Framework, Thymeleaf, JUnit, Bootstrap and embedded H2 database. Application communicates with microprocessor using serial port, transferring data directly into file and updating database with this information. This process is being handled by simple Python script.
To avoid building whole project every time change is commited, there is CircleCI's continues integration tool that triggers automated tests and builds. If these fail, they can be repaired quickly - within minutes.