ZekoraPay

📖 User Guide

Mobile & Web Super App

Ouvrir l'App
🤝

User Guide

Associations & Tontines

This guide presents the complete operation of the Associations & Tontines module for all participants: the Member, the Board (President/Treasurer) and the ZekoraPay Platform.

📸 EN

👥 Participants & Roles Table

👤

The Member

Utilisateur standard

Responsabilités

Search for a group, contribute to tontine rounds, pay meeting fees, vote on decisions, participate in chat.

🔐 Actions avec PIN

Meeting contribution, tontine payment, governance vote.

👑

The Board (President/Treasurer)

Président / Trésorier

Responsabilités

Record cash payments, validate distributions, start elections, perform meeting closures (settlement).

🔐 Actions avec PIN

Cash deposit, distribution validation, election, meeting closure.

🏛️

ZekoraPay System

Système ZekoraPay

Responsabilités

Anti-keylogger PIN pad usePin(), RSA-OAEP encryption, double-entry accounting, immutable audit logs.

🔐 Actions avec PIN

RSA private key decryption, authClient.VerifyPin validation.

👤

The Member

Utilisateur standard — actions digitales

Action 1🔍 Explorer les associations
Aucun PIN

L'explorateur permet à tout membre de parcourir les associations publiques, de filtrer par type (tontine, épargne, solidarité) et de consulter les informations avant d'adhérer.

Explorateur associations

Association explorer view with category filters

Action 2🤝 Rejoindre une association
Aucun PIN

Depuis l'explorateur ou via un lien d'invitation, le membre soumet sa demande d'adhésion. Elle est ensuite soumise à l'approbation du Bureau (avec PIN).

🔍

Trouver

Via l'explorateur ou lien invite

📝

Demander

Soumettre la demande d'adhésion

Attendre

Le Bureau valide avec son PIN

Action 3💰 Payer sa cotisation
🔐 PIN requis

Le membre règle sa cotisation périodique depuis son portefeuille ZekoraPay. Le modal PIN anti-keylogger s'ouvre pour valider le débit.

1

Onglet Cotisations

Naviguer dans le workspace de l'association

2

Cliquer « Payer »

Sélectionner la cotisation due

🔐

Saisir le PIN

Clavier anti-keylogger à 5 chiffres

4

Confirmation

Débit instantané du portefeuille

PIN cotisation
Onglet Cotisations
Action 4🗳️ Voter (Gouvernance)
🔐 PIN requis

Les membres votent sur les décisions importantes de l'association (élections, distributions, exclusions). Chaque vote est signé avec le PIN et ne peut être modifié.

1

Onglet Gouvernance

Voir les résolutions en cours

2

Lire la proposition

Distribution, élection, exclusion…

🔐

Voter + PIN

Pour / Contre / Abstention

4

Vote définitif

Signé cryptographiquement

Vote avec PIN
Onglet Gouvernance
Tableau de bord 📊 Mes Associations

Vue consolidée de toutes les associations dont le membre fait partie — soldes, cotisations dues, prochaine réunion.

Mes Associations
👑

The Board (President/Treasurer)

Président / Trésorier / Secrétaire

Action 1🏗️ Créer une association
Aucun PIN

Le fondateur configure l'association en 3 étapes : identité, règles financières, et paramètres membres.

🏷️

Step 1

Identity & Activities

Name, description, logo, association types.

⚙️

Step 2

Rules & Finances

Contribution amount, frequency, governance.

👥

Step 3

Member Settings

Visibility, invitations, membership limits.

Création
Action 2✅ Approuver / Refuser des membres
🔐 PIN requis

Le Bureau valide ou rejette les demandes d'adhésion en saisissant son PIN — chaque décision est traçable et non modifiable.

Gestion membres
Action 3💵 Enregistrer cotisation en espèces
🔐 PIN requis

Quand un membre paie en espèces lors d'une réunion, le trésorier l'enregistre manuellement avec son PIN pour garantir la traçabilité.

Cotisations espèces
Action 4📋 Créer cotisations pour tous les membres
🔐 PIN requis

Le Bureau génère en un clic les cotisations de la période pour l'ensemble des membres actifs. Le PIN valide la création groupée.

Cotisations groupées
Action 5🏦 Distribuer la tontine / trésorerie
🔐 PIN requis

Le trésorier verse la cagnotte au bénéficiaire du tour. Cette action irréversible nécessite le PIN et génère une résolution de gouvernance si la règle l'exige.

1

Onglet Trésorerie

2

Sélectionner bénéficiaire

3

Saisir montant

🔐

Confirmer avec PIN

5

Virement exécuté

Distribution PIN
Trésorerie
Action 6📅 Organiser une réunion
🔐 PIN au règlement

Le Bureau crée, gère et clôture les réunions. La clôture (règlement des cotisations et rations) nécessite le PIN.

Réunions
Action 7🗳️ Lancer une élection
🔐 PIN requis

Proposition d'un nouveau bureau ou candidature à un rôle (Président, Trésorier, Secrétaire). Tous les membres votent avec leur PIN.

Gouvernance élections
🏛️

ZekoraPay System

Infrastructure de sécurité ZekoraPay

⌨️

Clavier anti-keylogger

Les touches du PIN sont mélangées aléatoirement à chaque affichage. Aucun logiciel malveillant ne peut reproduire l'ordre de saisie.

🔐

Chiffrement RSA-OAEP

Le PIN est chiffré côté client avec la clé publique RSA avant envoi. Seul le serveur possède la clé privée de déchiffrement.

Double validation

Chaque action financière est validée par deux mécanismes : le PIN utilisateur et la vérification serveur de la signature.

📊

Traçabilité totale

Chaque transaction, vote et approbation est horodaté et conservé de façon immuable dans le journal d'audit.

🔔

Notifications temps réel

Chaque membre reçoit une notification instantanée pour toute opération concernant son association.

🛡️

Isolation par association

Les wallets de chaque association sont isolés. Aucun glissement de fonds entre associations n'est possible.

🔐 Le Flux PIN — Comment ça fonctionne ?

Séquence exacte déclenchée à chaque action financière sécurisée :

🖱️

Clic sur l'action

L'utilisateur clique sur « Payer », « Voter », « Distribuer »...

🔍

Vérification hasPin

Le composable usePin() vérifie si l'utilisateur a configuré son PIN

⌨️

Ouverture PinModal

Le clavier virtuel anti-keylogger s'affiche (touches mélangées)

🔢

Saisie du PIN

L'utilisateur saisit ses 5 chiffres — ordre des touches aléatoire

🔒

Chiffrement client

Le PIN est chiffré avec la clé publique RSA avant tout envoi réseau

📡

Appel API sécurisé

Le payload chiffré + PIN sont envoyés au microservice concerné

Validation serveur

Le serveur déchiffre, valide et exécute l'action financière

🔔

Notification

Tous les membres concernés reçoivent une notification temps réel

📂 The 6 Workspace Tabs

Once inside an association workspace, 6 tabs give access to all features.

Workspace aperçu

View association overall balances (Digital Bank + Cash Register) and upcoming events and meetings.

Step 7 👥 Members

Manage members: view status, approve/reject applications (PIN), remove a member, generate an invitation link.

Members
Step 8 💰 Contributions

Full contribution history (digital and cash), filter by type, create bulk contributions (PIN), record cash (PIN).

Contributions
Step 9 🏛️ Treasury

Wallet balances (Digital / Cash), transaction history, distribute the pool or transfer funds (PIN required).

Treasury
Step 10 📅 Meetings

Schedule meetings, record attendance, collect contributions and rations, close and settle the session (PIN).

Meetings
Step 11 ⚙️ Governance

Approve or reject resolutions (distributions, elections, exclusions). Each vote is PIN-validated and cryptographically signed.

Governance
Step 12 💬 Chat

Instant messaging between association members. Document sharing, bureau announcements, automated notifications.

Chat

📱 L'application sur mobile

Toutes les fonctionnalités sont disponibles sur mobile — l'interface s'adapte automatiquement.

Explorateur

Explorateur

Création

Création

Mes Associations

Mes Associations

Workspace

Workspace

🔒

Security Architecture

Every financial action is protected by your PIN

⌨️

Anti-keylogger keypad

PIN keys are randomly shuffled at every modal opening. No software can record the real input order.

🔐

RSA-OAEP Encryption

PIN is encrypted client-side before any network transmission. Only the server holds the decryption key.

Multi-level validation

Server signature + PIN check + immutable audit trail for every financial action.