How ferdinaldopelembe/cobranca-mercados works
Cobrança de Mercados is a market, merchant, and payment-management product with a Spring Boot API, React web client, and Expo mobile client sharing accounts and persisted data. Users authenticate, then work by role: merchants issue and track payment slips; a fiscal records cash received; a different financial manager confirms or rejects it. Administrators manage markets, stalls, merchants, rates, staff, settings, and audit history; reporting is market-scoped. The graph follows documented workflows and sampled call sites; several feature implementations are unsampled, so their internal links are documented rather than inferred.
Main entry points: PaymentController.java Payment API · PaymentService.java Payment lifecycle · AdminController.java Administration API · AdminService.java Administration service
Components 21
User clients
- Web application
frontend/src/App.jsx - Web authentication
frontend/src/features/auth - Web operations
frontend/src/features - Mobile application
mobile/App.js - Mobile screens
mobile/src/screens - Mobile API client
mobile/src/api.js
Identity and access
- Authentication API
backend/src/main/java/mz/beira/cobranca/controllers/AuthController.java - Account service
backend/src/main/java/mz/beira/cobranca/services/AccountService.java - Session access
backend/src/main/java/mz/beira/cobranca/services/SessionAccountService.java
Market operations
- Administration API
backend/src/main/java/mz/beira/cobranca/controllers/AdminController.java - Administration service
backend/src/main/java/mz/beira/cobranca/services/AdminService.java - Catalog service
backend/src/main/java/mz/beira/cobranca/services/CatalogService.java
Payments and oversight
- Payment API
backend/src/main/java/mz/beira/cobranca/controllers/PaymentController.java - Payment lifecycle
backend/src/main/java/mz/beira/cobranca/services/PaymentService.java - Notifications
backend/src/main/java/mz/beira/cobranca/services/NotificationService.java - Reports and audit
backend/src/main/java/mz/beira/cobranca/services/AdminService.java
Persistence
- Account repository
backend/src/main/java/mz/beira/cobranca/repositories/AccountRepository.java - Payment repository
backend/src/main/java/mz/beira/cobranca/repositories/PaymentRepository.java - Domain records
backend/src/main/java/mz/beira/cobranca/models - H2 file database
Other components
- Market users
Connections 31
- Market users → Web application: use
- Market users → Mobile application: use
- Web application → Web authentication: routes to
frontend/src/App.jsx - Web application → Web operations: routes to
frontend/src/App.jsx - Web authentication → Authentication API: calls API
- Web operations → Administration API: calls API
- Mobile application → Mobile screens: renders
mobile/App.js - Mobile application → Mobile API client: calls
mobile/App.js - Mobile screens → Mobile API client: calls
mobile/src/screens/AuthScreen.js - Mobile API client → Authentication API: calls API
- Mobile API client → Payment API: calls API
- Authentication API → Account service: delegates to
backend/src/main/java/mz/beira/cobranca/controllers/AuthController.java - Authentication API → Session access: uses
backend/src/main/java/mz/beira/cobranca/controllers/AuthController.java - Session access → Account service: looks up account
backend/src/main/java/mz/beira/cobranca/services/SessionAccountService.java - Account service → Account repository: reads and writes
backend/src/main/java/mz/beira/cobranca/services/AccountService.java - Account repository → Domain records: persists
backend/src/main/java/mz/beira/cobranca/repositories/AccountRepository.java - Administration API → Session access: checks access
backend/src/main/java/mz/beira/cobranca/controllers/AdminController.java - Administration API → Administration service: delegates to
backend/src/main/java/mz/beira/cobranca/controllers/AdminController.java - Administration service → Account repository: manages accounts
backend/src/main/java/mz/beira/cobranca/services/AdminService.java - Administration service → Catalog service: uses catalog
backend/src/main/java/mz/beira/cobranca/services/AdminService.java - Administration API → Reports and audit: requests reports
backend/src/main/java/mz/beira/cobranca/controllers/AdminController.java - Payment API → Session access: checks account
backend/src/main/java/mz/beira/cobranca/controllers/PaymentController.java - Payment API → Payment lifecycle: delegates to
backend/src/main/java/mz/beira/cobranca/controllers/PaymentController.java - Payment lifecycle → Payment repository: reads and writes
backend/src/main/java/mz/beira/cobranca/services/PaymentService.java - Payment lifecycle → Notifications: triggers
backend/src/main/java/mz/beira/cobranca/services/PaymentService.java - Payment repository → Domain records: persists
backend/src/main/java/mz/beira/cobranca/repositories/PaymentRepository.java - Domain records → H2 file database: stored in
- Market users → Payment API: merchant, fiscal, manager
- Payment API → Payment lifecycle: cash and wallet flows
backend/src/main/java/mz/beira/cobranca/controllers/PaymentController.java - Payment lifecycle → Payment repository: records payment state
backend/src/main/java/mz/beira/cobranca/services/PaymentService.java - Administration service → Reports and audit: builds summaries
backend/src/main/java/mz/beira/cobranca/services/AdminService.java