How comune-di-montesilvano/comunicapa works
ComunicaPA is a public-administration platform for asynchronous, high-volume communications. Operators create campaigns through the admin portal, upload recipient data and attachments, then launch delivery; background queues process channel-specific sends and track outcomes for search, reporting and citizen access. The backend also supports one-off external API submissions, address verification, enrichment, signature checks and operational controls. The README documents these capabilities, while sampled source confirms selected controller, service, settings and persistence relationships; links for unsampled integrations are limited to documented relationships.
Main entry points: App.tsx Admin portal · campaigns.service.ts Campaign management · campaign.entity.ts Application database · campaigns.controller.ts Campaign API
Components 24
User portals
- Admin portal
apps/frontend-admin/src/App.tsx - Citizen portal
apps/frontend-citizen/src/App.tsx
Campaign workflow
- External API
apps/backend/src/external-api/external-notifications.controller.ts - Campaign API
apps/backend/src/campaigns/campaigns.controller.ts - Campaign management
apps/backend/src/campaigns/campaigns.service.ts - Track enrichment
apps/backend/src/enrichment/enrichment.service.ts - PDF extraction
services/pdf-extractor/app/pdf_extractor.py
Delivery and tracking
- Notification queues
apps/backend/src/queue/notification-queues.service.ts - Notification processing
apps/backend/src/queue/notification.processor.ts - Delivery channels
apps/backend/src/channels/channel.interface.ts - Postal tracking
apps/backend/src/channels/postal/postal-status-sync.service.ts - Notification search
apps/backend/src/notifications-search/notifications-search.service.ts - Engine controls
apps/backend/src/engines/engines.controller.ts
Verification and services
- Address verification
apps/backend/src/channels/registro-imprese/registro-imprese.service.ts - PDND authentication
apps/backend/src/pdnd/pdnd-auth.service.ts - Signature verification
apps/backend/src/signature-verification/signature-verification.service.ts - Citizen communications
apps/backend/src/citizen/citizen.controller.ts
Platform and state
- Attachments
apps/backend/src/attachments/attachment.service.ts - Authentication
apps/backend/src/auth/auth.service.ts - Runtime settings
apps/backend/src/settings/app-settings.service.ts - Application database
apps/backend/src/entities/campaign.entity.ts
Other components
- Operator
- Redis
- Channel providers
Connections 25
- Operator → Admin portal: operates
README.md - Admin portal → Campaign API: manages campaigns
README.md - External API → Campaign management: submits notifications
- Campaign API → Campaign management: delegates to
apps/backend/src/campaigns/campaigns.controller.ts - Campaign management → Application database: persists campaign data
apps/backend/src/campaigns/campaigns.service.ts - Campaign API → Attachments: uploads chunks
apps/backend/src/campaigns/campaigns.controller.ts - Campaign management → Notification queues: enqueues sends
apps/backend/src/campaigns/campaigns.service.ts - Notification queues → Redis: stores jobs
README.md - Notification processing → Delivery channels: dispatches delivery
- Delivery channels → Channel providers: sends via
README.md - Postal tracking → Channel providers: checks tracking
README.md - Engine controls → Notification queues: pauses or resumes
apps/backend/src/engines/engines.controller.ts - Engine controls → Application database: reads job counts
apps/backend/src/engines/engines.controller.ts - Notification search → Application database: reads delivery history
apps/backend/src/notifications-search/notifications-search.service.ts - Admin portal → Track enrichment: starts enrichment
README.md - Track enrichment → PDF extraction: extracts PDF data
- Admin portal → Address verification: verifies addresses
README.md - Address verification → PDND authentication: obtains credentials
- PDND authentication → Runtime settings: reads credentials
apps/backend/src/pdnd/pdnd-auth.service.ts - Admin portal → Signature verification: checks signatures
README.md - Citizen portal → Authentication: authenticates
README.md - Citizen portal → Citizen communications: views communications
apps/backend/src/citizen/citizen.controller.ts - Citizen communications → Application database: reads recipient records
apps/backend/src/citizen/citizen.controller.ts - Admin portal → Notification search: searches notifications
README.md - Campaign management → Attachments: resolves attachments
apps/backend/src/campaigns/campaigns.service.ts