Provider Toaster
Introduction
The Provider Admin app is primarily used to display statistical data, including the number of applications, financial data, available benefits, and the applicants' list If any seeker applies for benefits available to him/her, the provider can see the details.
Architecture
The Provider Admin App is a web-based application designed to display statistical data such as the number of applications, financial data, available benefits, and the applicants' list. The architecture should be scalable, modular, and maintainable, incorporating modern practices and frameworks.
Framework: React (with TypeScript) Key Responsibilities:
User Interface (UI) rendering.
Interactive dashboards and data visualization.
Form submissions and user interaction handling.
Structure:
Components:
Dashboard: Displays statistical data (applications, financial stats, available benefits).
Benefits List: Shows available benefits with filtering and search functionality.
Applicants List: Displays the list of applicants with details.
Collapsible View: Allows viewing and managing applicant details (e.g., approve/reject with supporting documents).
State Management:
React Query for server state management (API calls, caching).
Routing: React Router for navigation (e.g., Dashboard, Benefits, Applicants).
UI Framework: Chakra UI for consistent styling and responsiveness.
Key Features
Authentication and User Management:
Login:
Enter username and password
User registration:
Enter Name, Username, Email Id, Mobile number, Gender, Password
Accept the terms and conditions
Dashboard:-
Key metrics:-
Applicant Overview: -
Total number of applicants
New Applicants
Accepted Applicants
Rejected Applicants
Financial Overview
Total Budget
Number of Sponsors
Pie chart
All Benefits Summary
Benefit list status-wise data
Collapsible view with Sponsor-wise Budget, Number of Sponsors, Deadlines
Visual Representation
Disbursal Rate
Breakdown by Gender, Caste, Level of study, Day Scholar / Hostler Ratio
Benefits Management:
List of Benefits:
Display benefit name, number of applicants, Approved, Rejected, Disbursal Pending, Deadline
Search and Filter:
Search by benefit name
Filter by valid till and created at
Sorting by Ascending and Descending
Action :
View application list
Application List :
Display Applicant Name, Application ID, Order ID (Beneficiary), Status
Applicant Details:
Display Status,Id, Application Id, Student name, Father name, Current class, Previous tear marks, Student type, Aadhar Last4Digits, Caste, Income, gender, Disability, document list (only id can see)
Benefit form:
Schema get by API convert it into RJSF form
Display the schemes-wise fields and validations for it.
Prefilled data from the beneficiary app.
After submitting data generate application_id and submission_id which send to the beneficiary app
Technical Details
Frontend: -
Framework and Libraries:
React (TypeScript) type safety and code maintainability
UI Framework:
Chakra UI for responsive and consistent UI components
Data Visualization:
react-apexcharts for displaying charts and graphs
Build Tool:
Vite: Faster development and optimized builds for production
Programming Language:
TypeScript : Ensures type safety, better code quality, and maintainability
API Specification:
RESTful APIs:
Endpoint structure:
/user/oauth/token
/user/users/_createnovalidate
/application/v1/_appstat
/application/v1/_fundsstat
/application/v1/scholarships/top-3
/benefits/v1/_search
/benefits/v1/collapse/_get
/benefits/v1/getApplicationsByBenefitId
/application/v1/getByApplicationId
/api/select
/api/application-init
Environment Management:
Environment variables managed via .env files
Tools and Integrations:
IDE: Visual Studio Code
Linting: ESLint and Prettier for code formatting and quality
Extensions: SonarQube for IDE, Codeium: Free AI-powered code acceleration toolkit
Installation and Deployment
Prerequisites:
Node js version v20.17.0
Yarn version 1.22.22
Git
rjsf/chakra-ui (^5.21.2)
rjsf/validator-ajv8(^5.21.2)
Ka-table (^11.3.0)
Clone the Repository
Install dependencies:
yarn install
Create an environment configuration file:
VITE_SCHEMA_API=
VITE_APP_PROXY_ASSETS=
VITES_APP_CONTEXT=
VITE_APP_BASE_UBA_UI=
VITE_BAP_ID=
VITE_BAP_URI=
VITE_BPP_ID=
VITE_BPP_URI=
VITE_BENEFICIERY_IFRAME_URL=
VITE_LOGIN_AUTH_TOKEN=
Start the development server:
Yarn run dev
Usage Guide
Login
Navigate to the application URL on DEV or UAT
Enter your credentials (username and password)
Click the Login button to access the admin dashboard
User Registration
Click on “Don’t have an account? Register Now” button
Navigate to the route /user/register
Fill the following details:
Name
Username
Email Id
Mobile number
Select gender
Password
Accept Terms and Conditions
Click on “Proceed” button
Navigate to Login page
Dashboard Overview:
After successful login, navigate to the dashboard page.
The Dashboard provides an overview of:
Applicant overview:
Total Applicants:Displays the number of applications received
New Applicants: Displays the number of New applicants
Accepted Applicants: Displays the number of accepted applicants.
Rejected Applicants: Displays the number of rejected applicants for any reason of eligibility.
Financial Overview:
Total Budget: Total allocated funds
Number of Sponsors
Pie chart: Shows Funds utilized and remaining
Popular benefits
All Benefits Summary
Lists all active,draft,closed benefits
In collapsable view display the sponsor wise data
Visual Representation:
Weekwise Disbursal Rate bar chart in percentage
Gender wise, caste wise, level of study wise and day scholar/ hostler wise pie chart in number
View all benefits:
After click on View all benefits button Navigate to /benefit_list
Show status wise list of benefits available. With name, applicants,approved, rejected, disbursal pending, Deadline, action
We can search any benefit by name
Filter by valid till and created at
Sorting by ascending and descending order
After click on action button it navigate to /:id/applicants_list
View Application list:
/:id/applicants_list for this route we can see all application under selected benefit id
Having facility to search by applicant name and sort by Ascending and Descending order
Display list having Applicant Name, Application Id, Order ID (Beneficiary), status, Actions
View Applicant details:
After click on action navigate to /application_detail/:id
It will display the applicant details as, Status, Id, Application Id, Student Name, Father Name, current class, Previous Year Marks, Student type, Aadhar Last4Digits, Caste, Income, Gender, Disability, Supporting documents
Application form:
From route /benefit/:id/apply we can come see the application form
This form is built using RJSF
First get the schema from /select API and convert the schema in the form of RJSF format acceptable
Having validations and prefill data from the beneficiary app
And after submitting data we cal /application-int api we get application_id and submission_id which sent to the beneficiary app
Logout:
Click on the text Logout in the top-right corner.
Troubleshooting
This guide addresses common issues users might face and provides solutions to help resolve them
Login Issues
Problem: Incorrect email or password.
Solution:
Verify that the credentials are correct
Ensure the Caps Lock key is off
Register username and password by clicking on Register Now button and fill the correct data having regex validation.
Problem: Unable to access the login page
Solution:
Check your internet connection
Ensure the URL is correct
Clear browser cache and cookies, then try again
Problem: Dashboard shows blank charts or no data.
Solution
Check the backend API status. Ensure the server is running
Open the browser console (usually F12 > Console tab) and check for API errors.
Ensure environment variables are correctly configured in the frontend .env file.
Problem: The benefits list is not updating after changes.
Solution
Clear the browser cache and refresh the page
Check the frontend network tab (F12 > Network) to ensure the API call succeeded
Problem: Unable to view applicant details.
Solution
Verify that the backend API endpoint for fetching applicant details is accessible.
Check for network errors in the browser developer tools.
Problem: The app layout is broken or misaligned.
Solution
Clear your browser cache and refresh the page
Ensure that the correct version of dependencies (e.g., Chakra UI) is installed.
Verify the frontend build process does not generate warnings or errors
Problem: Variables are undefined or not working.
Solution
Ensure .env files are correctly placed in the root directories of the frontend
Restart the development server after editing .env files.
Problem: API calls are failing in DEV/UAT.
Solution
Check if the DEV/UAT API URL is correctly configured in the frontend environment variables.
Inspect server logs for errors related to the API.
Problem: API calls showing CORS issues:
Solution
Add proxy setting at local in vite.config.ts file
In dev or UAT created service as /uba-ui/
Last updated
Was this helpful?