Article
· Sep 26 3m read

SentinelIRIS

 

Building a Sensor Data Demo with Spring Boot and InterSystems IRIS

In the era of IoT and connected devices, sensor data is everywhere—tracking temperature in logistics, monitoring equipment performance, or recording environmental conditions. But capturing, storing, and analyzing this data in real time requires more than just hardware sensors.

It’s a practical example that combines Spring Boot, InterSystems IRIS, and a simple sensor simulation script to show how sensor data can flow from generation to storage and alerting.

Basically, the idea of ​​this project is to show all the integration capacity of IRIS with JAVA, where we can create a lightweight, high-performance and high-impact application.


What the Project Does

At its core, the repository demonstrates an end-to-end workflow:

  1. Sensor Simulation
    A Python script (simulate_sensor.py) generates realistic temperature, humidity, and location data. This removes the need for physical devices while testing the pipeline. (Not working very well yet!)
  2. Backend with Spring Boot
    A Java application built with Spring Boot receives sensor data through REST APIs, processes it, and persists it into the database.
  3. Database with InterSystems IRIS
    IRIS acts as the high-performance data store, with an initialization script (init.sql) to create tables and structure for historical analysis and alerting.

This setup mimics real-world use cases like cold-chain logistics, smart city monitoring, or industrial IoT systems.


Tech Stack Overview

Component Role
Spring Boot (Java 17) Core backend service for receiving and processing sensor data
Python Script Sensor simulator that pushes test data to the backend
InterSystems IRIS Database for storage and historical queries
Gradle + Docker Build and deployment tooling

Together, these pieces form a complete demo environment—simple to spin up locally, yet close enough to a production architecture to be a solid learning tool.


Why It’s Interesting

  • End-to-end clarity
    Many tutorials focus only on one layer. This repo shows the full pipeline, from data generation to storage.
  • Realistic scenario
    The simulated data includes environmental metrics often used in logistics and monitoring.
  • IRIS integration
    Instead of using a traditional database, the project leverages InterSystems IRIS, known for its performance and ability to handle time-series data.

Room for Improvement

While the project works well as a demo, there are opportunities to make it more robust:

  • API Documentation: Adding Swagger/OpenAPI would help developers understand and test endpoints easily.
  • Testing: Unit and integration tests could validate edge cases, such as data outside safe thresholds.
  • Security: Credentials are currently hardcoded. Introducing environment variables or a secrets manager would improve best practices.
  • Deployment: A Docker Compose setup would allow one-command startup of both the backend and IRIS.
  • Visualization: A simple dashboard could make the data and alerts more tangible for end users.

Real-World Applications

This kind of architecture can be applied across industries:

  • Logistics & Cold Chain – monitor goods in transit and alert if temperature deviates.
  • Smart Cities – track air quality, noise, or traffic patterns.
  • Industrial IoT – analyze machinery telemetry for predictive maintenance.
  • Healthcare – monitor environmental conditions in labs or hospitals.

The repo provides a blueprint: swap out the simulator for real sensors, enhance the backend logic, and you’re on the way to a production system.


Conclusion

The demo repository was coded by @Cecilia Valim and is more than just a toy project—it’s a practical showcase of how to handle sensor data with modern tools. By combining Spring Boot, Python, and InterSystems IRIS, it provides a clear, reproducible example of IoT data pipelines in action.

Whether you’re learning Spring Boot, exploring IRIS, or prototyping an IoT project, this repo is a great place to start.


👉 You can explore the full project here: github.com/cissavalim/demo

Discussion (0)1
Log in or sign up to continue