‹ ARCHIVE NB-C014 · .case · 2026·06

Municipal Participatory Budgeting Platform

NB-C014 .case

Web voting application for a municipality's Participatory Budget, built on Laravel with Blade views and a MySQL database. It lets eligible citizens vote on the candidate projects competing for public funding, enforcing one vote per person and tallying results by region.

Eligibility rests on the electoral rolls, imported by the administration from CSV files. A voter authenticates with their identification number and a name check as officially registered, without needing a personal account. The data model links polls to candidate options, each carrying a project number, promoter, theme and budget amount; votes are written to the votes table with the chosen option, region and timestamp. A has_voted flag blocks any second ballot.

  Voter                 System
  -----                 ------
  id number  ──────►  electoral rolls
     │                     │
   name ─────► verify ◄────┘
     │                     │
   vote ──────►  votes (option, region)
                          │
                  has_voted = true

A middleware-guarded admin area manages voters, polls, options and participation statistics. Delivery is containerized with Docker and docker-compose. A civic-tech portfolio project, centred on transparency and participatory democracy.

BRI assistant

Quer saber sobre um projeto, um serviço ou uma notícia recente? Pergunte. Conheço todo o conteúdo deste site.