Skip to content
Proiect pentru clientGovTech · Site de primărie · Panou de administrare

Primăria Vatra

Un site public la nivel de bancă: 417 pagini fără nicio încălcare de accesibilitate și petiții online de la cetățeni.

Client
primariavatra.md
Oraș
Vatra, mun. Chișinău
An
2026
Status
Funcționează
Primăria Vatra — GovTech · Site de primărie · Panou de administrare
277operațiuni API
417pagini fără încălcări de accesibilitate (axe)
312redirecționări de pe vechiul WordPress
5roluri + 2FA obligatorie
// Provocarea

Provocarea

Primăria lucra pe WordPress cu pluginuri. Noul site trebuia să respecte legea: accesibilitate pentru persoanele cu dizabilități (HG 728/2023), publicarea deciziilor și a bugetului, termenele de răspuns la petiții conform Codului administrativ. Trebuiau migrate 166 de documente și sute de adrese vechi, iar angajații aveau nevoie de un panou de administrare sigur.

// Soluția

Soluția

Am proiectat un sistem din patru părți independente (site, API, panou de administrare, infrastructură) cu un contract OpenAPI unic. Am implementat macheta existentă 1:1 și am adăugat tot ce lipsea din ea: versiunea mobilă, stările, paginile juridice, căutarea. Panoul de administrare cu roluri, 2FA, revizii și postare automată pe Facebook l-am construit de la zero.

Rolul nostru: Designul site-ului nu ne aparține: macheta Figma am primit-o gata și am implementat-o 1:1. Munca noastră a fost arhitectura și dezvoltarea site-ului, a API-ului, a panoului de administrare și a infrastructurii. Designul panoului de administrare l-am făcut noi.

// Ecranele proiectului

Ecranele proiectului

Versiunea mobilă a paginii principale
Știrile pe mobil
Pagina principală: video despre oraș și bara laterală cu servicii
Registrul de documente: căutare și filtre
Widget de accesibilitate conform HG 728/2023
Secțiunea de servicii
Fluxul de știri
// Ce am construit

Ce am construit

Site public

  • Știri, anunțuri, evenimente, servicii cu formulare, consiliul local, „Transparență”
  • Registru de documente cu căutare și filtre după categorie și an
  • Petiții cu număr de înregistrare și termen de răspuns conform legii
  • Widget de accesibilitate conform HG 728/2023: contrast, font, cursor, navigare
  • Trei limbi cu adrese localizate, RSS, căutare, hartă a site-ului
  • Protecția formularelor cu ALTCHA, fără servicii terțe și fără cookie-uri

Panou de administrare

  • Autentificare: parolă, 2FA obligatorie și coduri de rezervă
  • 5 roluri și o matrice de permisiuni „tip de conținut × acțiune”
  • Editor cu file RO/RU/EN și marcaje „lipsește traducerea”
  • Istoric de versiuni cu comparare rând cu rând și revenire
  • Publicare programată, previzualizare, ciorne care rezistă la reîncărcarea paginii
  • Secțiunea de petiții: executori, termene, întârzieri, prelungire conform legii
  • Postare automată a știrilor și evenimentelor pe Facebook, cu foto și video

API

  • NestJS pe Fastify: 277 de operațiuni, 59 de tabele PostgreSQL
  • Ciclul de viață al înregistrării: ciornă → verificare → publicare → arhivă
  • Căutare full-text în trei limbi, tolerantă la greșeli de tastare
  • Media: antivirus ClamAV, curățarea EXIF, reconstruirea PDF, video de până la 4 GB
  • Sluguri RU conform GOST 7.79, redirecționări 301 automate la schimbarea adresei

Securitate și infrastructură

  • Nivel OWASP ASVS L2: Argon2id, verificarea parolelor în bazele de scurgeri, CSRF, CSP strict
  • Jurnal de audit doar cu adăugare: editarea e interzisă la nivelul bazei de date
  • Docker, monitorizare Prometheus/Grafana/Loki, alerte în Telegram
  • Backup-uri restic cu verificare lunară a restaurării
  • ≈400 de teste API, 228 de teste pentru site, e2e în două viewporturi
// Rezultatul

Rezultatul

01

Primăria are propriul stack, fără dependență de WordPress: conținutul îl gestionează angajații prin panoul de administrare cu roluri și 2FA.

02

Cetățenii depun petiții online și primesc număr de înregistrare, iar termenele de răspuns sunt urmărite automat.

03

Site-ul trece auditul automat de accesibilitate axe pe toate cele 417 pagini, fără încălcări.

04

312 adrese vechi sunt redirecționate prin 301, iar documentele au fost migrate fără pierderi.

05

Publicările apar automat și pe pagina de Facebook a primăriei.

// Stack

Stack

Nuxt 4Vue 3Tailwind 4NestJS 11 · FastifyPostgreSQL 17Redis · BullMQPrimeVue 4Tiptap 3MinIO · ClamAVDocker · Caddy
// Integrări

Integrări

Facebook Graph APIOpen-MeteoClamAVALTCHAHave I Been PwnedCloudflarePrometheus · Grafana
// Servicii în proiect

Servicii în proiect

Următorul proiect →Valeriia FlowersMutare de pe WordPress fără pierdere de trafic, iar clicurile din Google au crescut de 3,5 ori.
Valeriia Flowers

Vrei la fel?

Spune-ne despre sarcină — în 24 de ore revenim cu soluția, termenele și planul de lansare.