Search the portfolio
↑ ↓↵ESC
Back to projects
CASE STUDYBACKEND & INTEGRATION

Citizen Services — Module 2

From request to follow-up.

Project · Collaborative · in development
JavaSpring BootPostgreSQLSQLDockerDocker ComposeGitHub ActionsOpenAPITestingReactJavaScriptVite

Overview

Register and track citizen requests, from intake to responses and attachments.

Collaborative module for classifying tickets, managing anonymous requests and collecting additional information. The system remains in development.

Problem

Connect request intake with management and tracking while preserving permissions and privacy across identified and anonymous workflows.

My role

I contributed to backend development and stabilization: development authentication, ticket lifecycle, anonymous requests, additional information, attachments and validation. I also worked on OpenAPI documentation, containerization and backend and frontend continuous integration.

Architecture

React frontend → Java/Spring Boot REST API → ticket services → PostgreSQL. Flyway versions the schema; mock identity supports development and Docker Compose brings the local services together.

Technical decisions

Access for anonymous requests

Dedicated tracking credentials and attachment access controls allow a request to be consulted without exposing personal data. Owner access is also validated in these workflows.

A contract for module integration

OpenAPI and input validation make the API contract explicit. Mock identity supports local development and remains separate from external integration. Workflows automate build and delivery; production deployment has not been verified.

Challenges and solutions

Anonymous tickets need owner access without exposing personal data. Additional-information workflows coordinate states, responses and attachments with authorization and contract tests.

Outcomes

The repository includes anonymous-ticket and additional-information workflows, associated tests and reproducible development configuration. Automated tests and containerization support a system that remains in development.

Gallery and resources