The data-aquisition backend system acts as the central data repository and integration layer. Its responsibilities include receiving incoming data from mobile clients, validating the received payloads, and storing the data in a persistent and structured form. The backend does not actively control or coordinate field operations nor provide real-time feedback. In addition to client-generated data, the backend consumes the city’s daily waste bin metadata export via the existing FME interface. This external data source is treated as authoritative for bin locations, and bin types and used as the basis for bin identification during data capture.
The backend is a layered Spring Boot application that provides the REST API for the Data-Driven Waste Management system. It follows a controller-service-repository structure to separate API handling, application logic, and persistence access. Data is persisted using Spring Data JPA with Hibernate, while authentication is handled centrally through JWT-based Spring Security.
The application also includes scheduled backend processes and centralised exception handling to provide consistent HTTP responses for backend errors and invalid application states.
- Run
docker compose up -d(once). - Create a run configuration that enables the
devprofile. - Add a dummy 265-bit jwt secret as an environment variable in the run configuration:
APP_JWT_SECRET=265-bit-secret. - Request the FME URL from the City of Biel and insert it in
bin-service/src/main/resources/application.ymlinstead ofCITY_OF_BIEL_FME_INTERFACE_URL.
Copyright (c) 2026 Affolter Marco, Scherer Janic, Scherer Luca. All rights reserved.
This repository is made available for academic, educational, and research purposes only. Commercial use, redistribution, sublicensing, hosted use, or use in production systems requires prior written permission from the copyright holders. See the LICENSE file for details.