# wellitongiorisilva/ofertar-software architecture

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

- Interactive diagram: https://gitdiagram.com/wellitongiorisilva/ofertar-software
- Repository: https://github.com/wellitongiorisilva/ofertar-software

## Overview

iClero is a church-management product whose main workflow is maintaining church users, tithers and tithe records, then viewing dashboards and period reports. Its README also documents church management and profile control. The repository separates authentication/authorization, tithe operations, a Next.js interface, and a PIX/QR-code API. The source excerpts show several controller-to-service and client-service-to-HTTP relationships; unsampled UI wiring and service integrations are not asserted.

Main entry points: [`back-end/api-church-tithe/Services/TitherService.cs`](https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-tithe/Services/TitherService.cs) (Tither management), [`back-end/api-church-tithe/Services/TitheService.cs`](https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-tithe/Services/TitheService.cs) (Tithe management), [`back-end/api-church-tithe/Data/DataBaseConfig.cs`](https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-tithe/Data/DataBaseConfig.cs) (Church data), [`front-end/front-church/src/services/titheService.ts`](https://github.com/wellitongiorisilva/ofertar-software/blob/main/front-end/front-church/src/services/titheService.ts) (Tithe client service)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Church interface"]
  node_web_auth["Sign-in and recovery<br/>[AuthScreen.tsx]"]
  node_web_tither["Tither records"]
  node_web_tithe["Tithe records"]
  node_web_dashboard["Dashboard"]
  node_web_reports["Period reports"]
  node_web_birthday["Birthday reports"]
  node_web_users["User administration<br/>[UserListScreen.tsx]"]
  node_client_services["Tithe client service<br/>[titheService.ts]"]
  node_http_client["HTTP client<br/>[http.ts]"]
end

subgraph group_auth["Identity and church access"]
  node_church_user["Church users"]
  node_user_api["User access API<br/>[UserController.cs]"]
  node_user_service["User and roles<br/>[UserService.cs]"]
  node_church_service["Church management<br/>[ChurchService.cs]"]
  node_church_user_service["Church user service"]
  node_role_api["Role control<br/>[RoleController.cs]"]
  node_screen_api["Screen permissions"]
end

subgraph group_giving["Tithes and reporting"]
  node_tither_api["Tither API"]
  node_tither_service["Tither management<br/>[TitherService.cs]"]
  node_tithe_api["Tithe API<br/>[TitheController.cs]"]
  node_tithe_service["Tithe management<br/>[TitheService.cs]"]
  node_dashboard_api["Dashboard API"]
  node_dashboard_service["Dashboard queries"]
  node_report_api["Tithe reports"]
  node_tither_report_api["Tither reports"]
  node_report_service["Report services"]
  node_tither_report_service["Birthday report service"]
  node_pix_api["PIX requests<br/>[PixController.cs]"]
  node_pix_service["PIX payload service"]
end

subgraph group_pix["PIX QR generation"]
  node_qr_api["QR code endpoints"]
  node_qr_service["QR and PIX encoding<br/>[QrCodeService.cs]"]
end

node_church_db[("Church data<br/>[DataBaseConfig.cs]")]

node_user_api -->|"calls"| node_user_service
node_church_user -->|"calls"| node_church_user_service
node_client_services -->|"uses"| node_http_client
node_tither_api -->|"calls"| node_tither_service
node_tithe_api -->|"calls"| node_tithe_service
node_dashboard_api -->|"calls"| node_dashboard_service
node_qr_api -->|"calls"| node_qr_service
node_tither_service -->|"reads and writes"| node_church_db
node_tithe_service -->|"reads and writes"| node_church_db

click node_church_user "https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-auth/Controllers/ChurchUserController.cs"
click node_user_api "https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-auth/Controllers/UserController.cs"
click node_user_service "https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-auth/Services/UserService.cs"
click node_church_service "https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-auth/Services/ChurchService.cs"
click node_church_user_service "https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-auth/Services/ChurchUserService.cs"
click node_role_api "https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-auth/Controllers/RoleController.cs"
click node_screen_api "https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-auth/Controllers/ScreenController.cs"
click node_web_auth "https://github.com/wellitongiorisilva/ofertar-software/blob/main/front-end/front-church/src/screens/auth/AuthScreen.tsx"
click node_web_tither "https://github.com/wellitongiorisilva/ofertar-software/blob/main/front-end/front-church/src/screens/tither/TitherFormScreen.tsx"
click node_web_tithe "https://github.com/wellitongiorisilva/ofertar-software/blob/main/front-end/front-church/src/screens/tithe/TitheFormScreen.tsx"
click node_web_dashboard "https://github.com/wellitongiorisilva/ofertar-software/blob/main/front-end/front-church/src/screens/dashboard/DashboardScreen.tsx"
click node_web_reports "https://github.com/wellitongiorisilva/ofertar-software/blob/main/front-end/front-church/src/screens/report/TitheReportScreen.tsx"
click node_web_birthday "https://github.com/wellitongiorisilva/ofertar-software/blob/main/front-end/front-church/src/screens/report/TitherBirthdayReportScreen.tsx"
click node_web_users "https://github.com/wellitongiorisilva/ofertar-software/blob/main/front-end/front-church/src/screens/users/UserListScreen.tsx"
click node_client_services "https://github.com/wellitongiorisilva/ofertar-software/blob/main/front-end/front-church/src/services/titheService.ts"
click node_http_client "https://github.com/wellitongiorisilva/ofertar-software/blob/main/front-end/front-church/src/services/http.ts"
click node_tither_api "https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-tithe/Controllers/TitherController.cs"
click node_tither_service "https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-tithe/Services/TitherService.cs"
click node_tithe_api "https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-tithe/Controllers/TitheController.cs"
click node_tithe_service "https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-tithe/Services/TitheService.cs"
click node_dashboard_api "https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-tithe/Controllers/DashboardController.cs"
click node_dashboard_service "https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-tithe/Services/DashboardService.cs"
click node_report_api "https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-tithe/Controllers/TItheReportController.cs"
click node_tither_report_api "https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-tithe/Controllers/TItherReportController.cs"
click node_report_service "https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-tithe/Services/TitheReportService.cs"
click node_tither_report_service "https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-tithe/Services/TitherReportService.cs"
click node_pix_api "https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-tithe/Controllers/PixController.cs"
click node_pix_service "https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-tithe/Services/GeneratePixService.cs"
click node_qr_api "https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-pix-generate/Controllers/QrCodeController.cs"
click node_qr_service "https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-pix-generate/Services/QrCodeService.cs"
click node_church_db "https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-tithe/Data/DataBaseConfig.cs"

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_web_auth,node_web_tither,node_web_tithe,node_web_dashboard,node_web_reports,node_web_birthday,node_web_users,node_client_services,node_http_client toneBlue
class node_church_user,node_user_api,node_user_service,node_church_service,node_church_user_service,node_role_api,node_screen_api,node_church_db toneAmber
class node_tither_api,node_tither_service,node_tithe_api,node_tithe_service,node_dashboard_api,node_dashboard_service,node_report_api,node_tither_report_api,node_report_service,node_tither_report_service,node_pix_api,node_pix_service toneMint
class node_qr_api,node_qr_service toneRose
```

## Components

### Church interface

- [Sign-in and recovery](https://github.com/wellitongiorisilva/ofertar-software/blob/main/front-end/front-church/src/screens/auth/AuthScreen.tsx): `front-end/front-church/src/screens/auth/AuthScreen.tsx`
- [Tither records](https://github.com/wellitongiorisilva/ofertar-software/blob/main/front-end/front-church/src/screens/tither/TitherFormScreen.tsx): `front-end/front-church/src/screens/tither/TitherFormScreen.tsx`
- [Tithe records](https://github.com/wellitongiorisilva/ofertar-software/blob/main/front-end/front-church/src/screens/tithe/TitheFormScreen.tsx): `front-end/front-church/src/screens/tithe/TitheFormScreen.tsx`
- [Dashboard](https://github.com/wellitongiorisilva/ofertar-software/blob/main/front-end/front-church/src/screens/dashboard/DashboardScreen.tsx): `front-end/front-church/src/screens/dashboard/DashboardScreen.tsx`
- [Period reports](https://github.com/wellitongiorisilva/ofertar-software/blob/main/front-end/front-church/src/screens/report/TitheReportScreen.tsx): `front-end/front-church/src/screens/report/TitheReportScreen.tsx`
- [Birthday reports](https://github.com/wellitongiorisilva/ofertar-software/blob/main/front-end/front-church/src/screens/report/TitherBirthdayReportScreen.tsx): `front-end/front-church/src/screens/report/TitherBirthdayReportScreen.tsx`
- [User administration](https://github.com/wellitongiorisilva/ofertar-software/blob/main/front-end/front-church/src/screens/users/UserListScreen.tsx): `front-end/front-church/src/screens/users/UserListScreen.tsx`
- [Tithe client service](https://github.com/wellitongiorisilva/ofertar-software/blob/main/front-end/front-church/src/services/titheService.ts): `front-end/front-church/src/services/titheService.ts`
- [HTTP client](https://github.com/wellitongiorisilva/ofertar-software/blob/main/front-end/front-church/src/services/http.ts): `front-end/front-church/src/services/http.ts`

### Identity and church access

- [Church users](https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-auth/Controllers/ChurchUserController.cs): `back-end/api-church-auth/Controllers/ChurchUserController.cs`
- [User access API](https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-auth/Controllers/UserController.cs): `back-end/api-church-auth/Controllers/UserController.cs`
- [User and roles](https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-auth/Services/UserService.cs): `back-end/api-church-auth/Services/UserService.cs`
- [Church management](https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-auth/Services/ChurchService.cs): `back-end/api-church-auth/Services/ChurchService.cs`
- [Church user service](https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-auth/Services/ChurchUserService.cs): `back-end/api-church-auth/Services/ChurchUserService.cs`
- [Role control](https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-auth/Controllers/RoleController.cs): `back-end/api-church-auth/Controllers/RoleController.cs`
- [Screen permissions](https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-auth/Controllers/ScreenController.cs): `back-end/api-church-auth/Controllers/ScreenController.cs`

### Tithes and reporting

- [Tither API](https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-tithe/Controllers/TitherController.cs): `back-end/api-church-tithe/Controllers/TitherController.cs`
- [Tither management](https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-tithe/Services/TitherService.cs): `back-end/api-church-tithe/Services/TitherService.cs`
- [Tithe API](https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-tithe/Controllers/TitheController.cs): `back-end/api-church-tithe/Controllers/TitheController.cs`
- [Tithe management](https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-tithe/Services/TitheService.cs): `back-end/api-church-tithe/Services/TitheService.cs`
- [Dashboard API](https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-tithe/Controllers/DashboardController.cs): `back-end/api-church-tithe/Controllers/DashboardController.cs`
- [Dashboard queries](https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-tithe/Services/DashboardService.cs): `back-end/api-church-tithe/Services/DashboardService.cs`
- [Tithe reports](https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-tithe/Controllers/TItheReportController.cs): `back-end/api-church-tithe/Controllers/TItheReportController.cs`
- [Tither reports](https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-tithe/Controllers/TItherReportController.cs): `back-end/api-church-tithe/Controllers/TItherReportController.cs`
- [Report services](https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-tithe/Services/TitheReportService.cs): `back-end/api-church-tithe/Services/TitheReportService.cs`
- [Birthday report service](https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-tithe/Services/TitherReportService.cs): `back-end/api-church-tithe/Services/TitherReportService.cs`
- [PIX requests](https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-tithe/Controllers/PixController.cs): `back-end/api-church-tithe/Controllers/PixController.cs`
- [PIX payload service](https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-tithe/Services/GeneratePixService.cs): `back-end/api-church-tithe/Services/GeneratePixService.cs`

### PIX QR generation

- [QR code endpoints](https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-pix-generate/Controllers/QrCodeController.cs): `back-end/api-church-pix-generate/Controllers/QrCodeController.cs`
- [QR and PIX encoding](https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-pix-generate/Services/QrCodeService.cs): `back-end/api-church-pix-generate/Services/QrCodeService.cs`

### Other components

- [Church data](https://github.com/wellitongiorisilva/ofertar-software/blob/main/back-end/api-church-tithe/Data/DataBaseConfig.cs): `back-end/api-church-tithe/Data/DataBaseConfig.cs`

## Connections

- User access API → User and roles: calls (evidence: `back-end/api-church-auth/Controllers/UserController.cs`)
- Church users → Church user service: calls (evidence: `back-end/api-church-auth/Controllers/ChurchUserController.cs`)
- Tithe client service → HTTP client: uses
- Tither API → Tither management: calls (evidence: `back-end/api-church-tithe/Controllers/TitherController.cs`)
- Tithe API → Tithe management: calls (evidence: `back-end/api-church-tithe/Controllers/TitheController.cs`)
- Dashboard API → Dashboard queries: calls (evidence: `back-end/api-church-tithe/Controllers/DashboardController.cs`)
- QR code endpoints → QR and PIX encoding: calls (evidence: `back-end/api-church-pix-generate/Controllers/QrCodeController.cs`)
- Tither management → Church data: reads and writes (evidence: `back-end/api-church-tithe/Services/TitherService.cs`)
- Tithe management → Church data: reads and writes (evidence: `back-end/api-church-tithe/Services/TitheService.cs`)
