Back to Projects
PROJECT CASE STUDY / CIVIGUARD

CiviGuard

Secure Citizen Reporting System

A secure citizen-facing reporting platform for structured issue submission, authorization and backend data management.

STACKSpring BootREST APIsPostgreSQLRBACAWS
What is it?

CiviGuard gives citizen reports a structured path into a protected backend, emphasizing secure submission and role-aware access.

The problem

Citizen reporting needs a trustworthy boundary between public submission, protected data and authorized handling. The backend must preserve structured information while controlling access.

Technical deep dive

How the system holds together.

Secure Citizen Reporting

The project centers on structured issue submission and protected backend data management, keeping authorization visible as part of the product rather than an afterthought.

REST APIs and RBAC

REST APIs expose the reporting workflow while RBAC controls protected operations. Exact roles and endpoint names are not asserted without the application source.

Database

PostgreSQL is the documented database technology. AWS is listed in the project context, but no specific service is claimed here.

Diagrams

System surfaces.

ARCHITECTURECiviGuard Architecture
ClientAPI GatewayService AService BDatabaseBranch ABranch B
AUTHENTICATIONProtected Reporting
ClientAPI GatewayAuthentication ServiceDatabase
DEPLOYMENTDeployment Surface
ClientAPI GatewayDeployment ServiceServer
Engineering decisions

Why I made these decisions.

Why RBAC?

Different reporting actions require explicit authorization boundaries.

Why PostgreSQL?

Structured reports benefit from relational persistence and queryable records.

Why REST APIs?

A clear HTTP boundary keeps clients and backend responsibilities separate.

Deployment & DevOps

AWS appears in the documented project stack. Specific services and production claims are intentionally omitted.