Digital Evidence — Large-Scale File Upload Protocol for the Department of Justice of the Generalitat de Catalunya (NexTret)

Period May 31, 2023 - March 31, 2024

Roles: Software Architect and Developer.

This project aimed to provide a system for storing digital evidence files online in a cloud environment using Red Hat’s OpenShift.

Files ranged in size from a few bytes to hundreds of gigabytes. A protocol for handling this variance in file sizes was required, with the following specifications:

  1. Resume upload at the exact point of interruption
  2. Verify file integrity with a SHA-384 hash checksum
  3. Must be HTTP REST-compliant
  4. Avoid bandwidth saturation

I designed a protocol that fulfilled all of these requirements, based on the open-source tus protocol (version 1.0.x, synchronous block-based upload).

Additionally, I designed a microservice for concurrent downloads without exhausting server threads. The technology stack was Spring Boot with Spring WebFlux and reactive programming.

The project was successful, and the team received congratulations from senior leadership at the Justice Department.