Economic inequalities are starkly evident worldwide. The richest 10% capture 52% of global income, while the poorest half receive only 8%. The disparity in wealth is even greater: the top 10% hold 76% of global wealth, whereas the bottom half possess just 2%.
Microfinance has emerged as a solution to bridge these gaps. By providing basic financial services—such as loans, savings accounts, and insurance—to those excluded from traditional financial systems, microfinance aims to include the most disadvantaged. It offers essential financial resources to individuals who lack collateral, enabling economic self-sufficiency and contributing to the reduction of inequalities. Through specialized institutions and innovative financial products, microfinance provides a pathway to financial security and prosperity for vulnerable populations.
GrowFunds is a comprehensive application designed for financial management, including user management, account management, transaction processing, credit management, and partnership management. The system supports different user roles, each with specific functionalities, and emphasizes security, usability, and performance.
The project is structured into several key modules:
- User Management: Admins, Agents, and Clients.
- Account Management: Creation, visualization, and notifications.
- Transaction Management: Transactions and payments.
- Credit Management: Credit approval, advice, and insurance.
- Partnership Management: Partner and pack management.
-
User Management
- Admin: Manage investors, agents, clients, and view loan procedures.
- Agent: Analyze data, manage claims.
-
Account Management
- Client: Create accounts, view account details, check historical activities, file complaints, and receive notifications.
- Agent: Validate client accounts, check profiles, and receive payment notifications.
-
Transaction Management
- Client: Initiate transactions.
- Agent: Manage and validate transactions.
-
Credit Management
- Admin: Approve credits, offer advice, manage client blacklists, and check remaining credit.
- Agent: Review credit requests and obtain credit insurance.
- Client: Access short-term loans and customized loan packages.
-
Partnership and Packs Management
- Admin: Manage partners.
- Agent: Manage partner packs.
-
Security
- Authentication: JWT with Spring Security.
- Authorization: Role-based access control with Spring Security annotations.
- Encryption: Jasypt for sensitive data encryption.
-
Usability
- Intuitive UI with a user guide.
- Color scheme to encourage action and communication.
-
Performance
- Fast and reliable performance.
- Single-page application for efficiency.
- Backend: Spring Boot, Spring Security, Jasypt
- Frontend: Angular
- Database: MySQL
- Development Tools: IntelliJ IDEA, Visual Studio Code, Swagger, XAMPP
-
Clone the Repository
git clone https://github.com/yourusername/growfunds.git cd growfunds
-
Backend Setup
-
Ensure you have JDK 11 or later installed.
-
Navigate to the backend directory and run:
./mvnw spring-boot:run
-
-
Frontend Setup
-
Ensure Node.js and npm are installed.
-
Navigate to the frontend directory and run:
npm install npm start
-
-
Database Setup
- Ensure MySQL is installed and running.
- Import the provided schema into your MySQL database.
-
Client Interfaces
- Homepage: Overview and navigation.
- Registration: Create new accounts.
- Login: Secure access.
- Dashboard: Manage accounts and view information.
- Packs: View and select financial packs.
- Transactions: Add and manage transactions.
- Retirement Simulator: Calculate retirement plans.
- Complaints: Submit and manage complaints.
- Notifications: Receive alerts.
- Projects: View and manage project details.
-
Admin Interfaces
- User Management: View and manage all user data.
- Transactions: Monitor and adjust transactions.
- Complaints: Handle customer complaints.
- Notifications: Manage and send notifications.
- Projects: Oversee project details.
- Credits: Manage credit data and approvals.
- Packs: Manage financial packs and products.