🎯 Voting Platform Actors

Group Primary Interface Description
System Admin⚙️ Special tools Platform Support
Legal Organizer🌐 Web (adaptive), financial cabinet Pays for all actions on the platform
Voting Organizer / Operator🌐 Web (adaptive) + 📱 Mobile (optional)    Complex settings, reports, analytics — more convenient on a large screen
Voting Participant (Community Member)📱 Mobile (Flutter) + 🌐 Web (light version) Voting from phone — the most common scenario
Journalist / Observer   🌐 Web (read-only + export) They need an explorer, dashboards, search — no transaction signing required
Voting Auditor🌐 Web (special portal) + API Need bulk exports, signature verification, integration with their systems

🔐 No Single Application

ProblemExplanation
Interface complexityMembers do not need functions related to deposits or data export. Extra buttons and information will be distracting.
SecurityThe voting participant application must not have access to management functions. Different permissions → different builds / modules.
Application sizeAuditor tools (signature verification, Merkle tree checks) are heavy libraries. Members do not need them.
Licensing / Audit   For government entities, the voting application must be separate from the observer application (to avoid conflicts of interest).
PlatformJournalists and auditors typically work from laptops. They need a large screen for data analysis.

📊 User Rights

Function Operator             Participant             Journalist / Observer     Auditor
Registration / LoginWeb + MobileMobile + WebWebWeb (service)
Create CommunityWeb
Invite MembersWeb
Create PollWeb
VoteMobileMobile
DelegateMobileMobile
View Results (Real Time)Web + MobileMobile + WebWeb (public explorer)Web (extended)
Export Results (CSV/PDF)WebWeb (limited)Web + API (full)
Signature Verification / Validation    Web (explorer)Web + CLI tools
Node / Consensus ValidationWeb + API (node)
Access to Blockchain Explorer✅ (link)✅ (primary interface)✅ (full + raw data)

🏗️ System Entry Points

┌─────────────────────────────────────────────────────────────────┐
│                         FLUTTER (MOBILE)                        │
│                      Operators + Members                        │
│                    (voting, delegation,                         │
│                     view results)                               │
└─────────────────────────────────────────────────────────────────┘
                              +
┌─────────────────────────────────────────────────────────────────┐
│                           WEB PORTAL                            │
│  ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌─────────┐ │
│  │  Organizer   │ │  Operator    │ │  Journalist  │ │ Auditor │ │
│  │ (management, │ │ (management, │ │ (explorer,   │ │(verifi- │ │
│  │  deposits)   │ │  reports)    │ │  search)     │ │ cation) │ │
│  └──────────────┘ └──────────────┘ └──────────────┘ └─────────┘ │
└─────────────────────────────────────────────────────────────────┘
                              +
┌─────────────────────────────────────────────────────────────────┐
│                    BLOCKCHAIN EXPLORER (PUBLIC)                 │
│                 (for everyone: verify transactions)             │
└─────────────────────────────────────────────────────────────────┘

🛠️ Technical Details

Mobile (Flutter) — for Participants and Operators (single application, different UIs)

Web — for everyone with role-based access

Section Operator                 Participant             Journalist         Auditor        
Community Dashboard✅ (only for own community)
Poll Management
Invitations
View Results✅ (public)✅ (all)
Export CSV/PDF✅ (limited)✅ (full)
Blockchain Explorer
Signature Verification
API Access