How antso-niaina/madavola works
MadaVola is a role-based mobile-wallet application with a React web client and Django backend. Users authenticate (including OTP), then clients can inspect balances and history, send money, pay by QR, and perform cash operations; merchants manage QR sales and withdrawals; administrators review validations, users, transactions, and reports. The frontend dashboard source confirms wallet and transaction-history reads through the API service. Backend responsibilities are inferred from the app tree; backend view-to-model wiring was not sampled, and the README is empty.
Main entry points: api.ts API client · App.tsx Route application · OTP.tsx Login and OTP · ClientDashboard.tsx Client pages
Components 19
Web application
- Route application
madavolaWeb/src/App.tsx - Login and OTP
madavolaWeb/src/pages/auth/OTP.tsx - Client pages
madavolaWeb/src/pages/client/ClientDashboard.tsx - Merchant pages
madavolaWeb/src/pages/merchant - Admin pages
madavolaWeb/src/pages/admin - API client
madavolaWeb/src/services/api.ts
Identity and accounts
- Session state
madavolaWeb/src/hooks/useAuthStore.tsx - Authentication endpoints
backend/authentification/views.py - Account endpoints
backend/compte/views.py - Account records
backend/compte/models.py
Wallet operations
- Wallet endpoints
backend/portfeuilles/views.py - Wallet records
backend/portfeuilles/models.py - Transaction endpoints
backend/transaction/views.py - Transaction records
backend/transaction/models.py
Merchant services
- Merchant endpoints
backend/commercants/views.py - Merchant records
backend/commercants/models.py
Administration
- Admin statistics
backend/statsAdmin/views.py - Statistics records
backend/statsAdmin/models.py
Other components
- User
Connections 24
- User → Route application: opens
- Route application → Login and OTP: routes
- Route application → Client pages: routes
- Route application → Merchant pages: routes
- Route application → Admin pages: routes
- Login and OTP → API client: requests
- Login and OTP → Session state: sets session
- Session state → API client: loads profile
- Client pages → API client: reads wallet
- Client pages → API client: reads history
- Merchant pages → API client: requests
- Admin pages → API client: requests
- API client → Authentication endpoints: calls
- API client → Account endpoints: calls
- API client → Wallet endpoints: calls
- API client → Transaction endpoints: calls
- API client → Merchant endpoints: calls
- API client → Admin statistics: calls
- Authentication endpoints → Account records: accesses
- Account endpoints → Account records: accesses
- Wallet endpoints → Wallet records: accesses
- Transaction endpoints → Transaction records: accesses
- Merchant endpoints → Merchant records: accesses
- Admin statistics → Statistics records: accesses