Cosmic Module
O
Qubits of DPK
March 23, 2026
Core Open Source
What This Module Is (Big Picture)
The provider module is the main runtime application of Apache Fineract.
All other modules define domain logic and services, but this module:
- exposes REST APIs
- connects modules together
- manages authentication
- processes commands
- runs the Spring Boot application
If Apache Fineract were a building:
- all other modules are departments
- fineract-provider is the main entrance and control center
Every request from the outside world enters the system through this module.
Layman Example
When a user performs an action in the system, such as:
Create Loan
Deposit Money
Register Client
The request goes through the provider module first.
Example flow
User clicks “Create Loan”
↓
HTTP request sent to server
↓
Provider module receives request
↓
Provider module calls Loan module
↓
Loan created in system
Where the Code Lives
The provider module integrates all other modules.
Key Package
org.apache.fineract.infrastructure
Responsibilities include:
- exposing REST APIs
- routing requests to services
- managing security and authentication
- coordinating module interactions
Main Application Entry Point
The entire system starts from a Spring Boot application class.
Path
fineract-provider/src/main/java/org/apache/fineract/FineractApplication.java
Example Application Bootstrapping Code
plain text
QUBITS OF DPK
This class starts the entire Fineract application.
REST API Controllers
All API endpoints are exposed through API resource classes.
Examples include:
These controllers handle incoming HTTP requests.
Example API Endpoint
Example endpoint in the loan module:
plain text
QUBITS OF DPK
Handled by
LoansApiResource
The provider module routes this request to the appropriate service.
Command Processing Architecture
One of the most important systems in Fineract is the Command Processing Framework.
Instead of directly executing operations, the system processes commands.
Example commands:
CreateClient
CreateLoan
ApproveLoan
DisburseLoan
Each command is handled by a CommandHandler.
Example Command Handling Flow
java
QUBITS OF DPK
This architecture ensures:
- consistent request handling
- auditability
- extensibility
Security and Authentication
The provider module also handles:
- user authentication
- authorization
- role-based access control
- integration with two-factor authentication
Example authentication flow
java
QUBITS OF DPK
Integration with Other Modules
The provider module orchestrates operations across modules.
Example: Loan repayment
java
QUBITS OF DPK
Multiple modules cooperate to complete a single operation.
API Versioning
Fineract APIs use versioned endpoints.
Example
java
QUBITS OF DPK
This allows future API changes without breaking existing integrations.
Repository Layer Integration
The provider module uses repositories from other modules to persist data.
Examples
Exceptions
The provider module handles system-wide exceptions.
Examples include:
These ensure consistent error responses.
How It All Connects (Full Flow)
Example: Creating a loan
java
QUBITS OF DPK
The provider module coordinates this entire flow.
Why This Module Matters
The provider module is the central orchestration layer of Apache Fineract.
It:
- exposes all system APIs
- connects modules together
- manages security
- processes commands
- starts the application runtime
Without it, the system’s modules would exist but would not be accessible as a running application.
One-Sentence Summary
fineract-provider is the main runtime module that exposes APIs, orchestrates services across modules, and runs the Apache Fineract application.