# sissoko90/pariba architecture

> Architecture diagram of the GitHub repository sissoko90/pariba, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/sissoko90/pariba
- Repository: https://github.com/sissoko90/pariba

## Overview

Pariba is a backend for tontine (rotating savings group) management, with group membership, contribution and payment tracking, payout tours, subscriptions, and supporting administration. The tree shows REST controllers and corresponding service and repository areas, plus notification, export, support, and content features. With no README text or source excerpts available, the graph shows API entry points and identifiable components, but omits unverified calls and data flows.

Main entry points: [`src/main/java/com/example/pariba/controllers/AuthController.java`](https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/AuthController.java) (Authentication), [`src/main/java/com/example/pariba/controllers/TontineGroupController.java`](https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/TontineGroupController.java) (Group management), [`src/main/java/com/example/pariba/controllers/MembershipController.java`](https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/MembershipController.java) (Membership), [`src/main/java/com/example/pariba/controllers/InvitationController.java`](https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/InvitationController.java) (Invitations)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["API entry"]
  node_auth["Authentication"]
end

subgraph group_groups["Groups and tours"]
  node_group_api["Group management"]
  node_membership_api["Membership"]
  node_invitation_api["Invitations"]
  node_join_api["Join requests"]
  node_tour_api["Payout tours"]
  node_group_services["Group services"]
end

subgraph group_finance["Payments and plans"]
  node_contribution_api["Contributions"]
  node_payment_api["Payments"]
  node_payout_api["Payouts"]
  node_subscription_api["Subscriptions"]
  node_finance_services["Finance services"]
end

subgraph group_operations["User operations"]
  node_dashboard_api["Dashboard"]
  node_notification_api["Notifications"]
  node_export_api["Exports"]
  node_support_api["Support tickets"]
  node_admin_api["Administration"]
  node_operations_services["Operational services"]
end

subgraph group_internal["Persistence layer"]
  node_repositories[("Data repositories")]
end

node_client(("API client"))

node_client -->|"calls API"| node_auth
node_client -->|"calls API"| node_group_api
node_client -->|"calls API"| node_membership_api
node_client -->|"calls API"| node_invitation_api
node_client -->|"calls API"| node_join_api
node_client -->|"calls API"| node_tour_api
node_client -->|"calls API"| node_contribution_api
node_client -->|"calls API"| node_payment_api
node_client -->|"calls API"| node_payout_api
node_client -->|"calls API"| node_subscription_api
node_client -->|"calls API"| node_dashboard_api
node_client -->|"calls API"| node_notification_api
node_client -->|"calls API"| node_export_api
node_client -->|"calls API"| node_support_api
node_client -->|"calls API"| node_admin_api

click node_auth "https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/AuthController.java"
click node_group_api "https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/TontineGroupController.java"
click node_membership_api "https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/MembershipController.java"
click node_invitation_api "https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/InvitationController.java"
click node_join_api "https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/JoinRequestController.java"
click node_tour_api "https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/TourController.java"
click node_contribution_api "https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/ContributionController.java"
click node_payment_api "https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/PaymentController.java"
click node_payout_api "https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/PayoutController.java"
click node_subscription_api "https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/SubscriptionController.java"
click node_dashboard_api "https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/DashboardController.java"
click node_notification_api "https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/NotificationController.java"
click node_export_api "https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/ExportController.java"
click node_support_api "https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/SupportTicketController.java"
click node_admin_api "https://github.com/sissoko90/pariba/tree/main/src/main/java/com/example/pariba/controllers/admin"
click node_group_services "https://github.com/sissoko90/pariba/tree/main/src/main/java/com/example/pariba/services/impl"
click node_finance_services "https://github.com/sissoko90/pariba/tree/main/src/main/java/com/example/pariba/services/impl"
click node_operations_services "https://github.com/sissoko90/pariba/tree/main/src/main/java/com/example/pariba/services/impl"
click node_repositories "https://github.com/sissoko90/pariba/tree/main/src/main/java/com/example/pariba/repositories"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_auth,node_client toneBlue
class node_group_api,node_membership_api,node_invitation_api,node_join_api,node_tour_api,node_group_services toneAmber
class node_contribution_api,node_payment_api,node_payout_api,node_subscription_api,node_finance_services toneMint
class node_dashboard_api,node_notification_api,node_export_api,node_support_api,node_admin_api,node_operations_services toneRose
class node_repositories toneIndigo
```

## Components

### API entry

- [Authentication](https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/AuthController.java): `src/main/java/com/example/pariba/controllers/AuthController.java`

### Groups and tours

- [Group management](https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/TontineGroupController.java): `src/main/java/com/example/pariba/controllers/TontineGroupController.java`
- [Membership](https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/MembershipController.java): `src/main/java/com/example/pariba/controllers/MembershipController.java`
- [Invitations](https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/InvitationController.java): `src/main/java/com/example/pariba/controllers/InvitationController.java`
- [Join requests](https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/JoinRequestController.java): `src/main/java/com/example/pariba/controllers/JoinRequestController.java`
- [Payout tours](https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/TourController.java): `src/main/java/com/example/pariba/controllers/TourController.java`
- [Group services](https://github.com/sissoko90/pariba/tree/main/src/main/java/com/example/pariba/services/impl): `src/main/java/com/example/pariba/services/impl`

### Payments and plans

- [Contributions](https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/ContributionController.java): `src/main/java/com/example/pariba/controllers/ContributionController.java`
- [Payments](https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/PaymentController.java): `src/main/java/com/example/pariba/controllers/PaymentController.java`
- [Payouts](https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/PayoutController.java): `src/main/java/com/example/pariba/controllers/PayoutController.java`
- [Subscriptions](https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/SubscriptionController.java): `src/main/java/com/example/pariba/controllers/SubscriptionController.java`
- [Finance services](https://github.com/sissoko90/pariba/tree/main/src/main/java/com/example/pariba/services/impl): `src/main/java/com/example/pariba/services/impl`

### User operations

- [Dashboard](https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/DashboardController.java): `src/main/java/com/example/pariba/controllers/DashboardController.java`
- [Notifications](https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/NotificationController.java): `src/main/java/com/example/pariba/controllers/NotificationController.java`
- [Exports](https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/ExportController.java): `src/main/java/com/example/pariba/controllers/ExportController.java`
- [Support tickets](https://github.com/sissoko90/pariba/blob/main/src/main/java/com/example/pariba/controllers/SupportTicketController.java): `src/main/java/com/example/pariba/controllers/SupportTicketController.java`
- [Administration](https://github.com/sissoko90/pariba/tree/main/src/main/java/com/example/pariba/controllers/admin): `src/main/java/com/example/pariba/controllers/admin`
- [Operational services](https://github.com/sissoko90/pariba/tree/main/src/main/java/com/example/pariba/services/impl): `src/main/java/com/example/pariba/services/impl`

### Persistence layer

- [Data repositories](https://github.com/sissoko90/pariba/tree/main/src/main/java/com/example/pariba/repositories): `src/main/java/com/example/pariba/repositories`

### Other components

- **API client**

## Connections

- API client → Authentication: calls API
- API client → Group management: calls API
- API client → Membership: calls API
- API client → Invitations: calls API
- API client → Join requests: calls API
- API client → Payout tours: calls API
- API client → Contributions: calls API
- API client → Payments: calls API
- API client → Payouts: calls API
- API client → Subscriptions: calls API
- API client → Dashboard: calls API
- API client → Notifications: calls API
- API client → Exports: calls API
- API client → Support tickets: calls API
- API client → Administration: calls API
