icb-micro v0.0.0
ICB WEB MICROFRONTEND FOR LOGIN AND DASHBOARD
This an angular based microfrontend implementation of Interface Core Base. Our Flagship Core Banking system. This app runs as a stand alone angular project on which the other apps are launched serving as the entry point for our the ICB.
Its primary role is to have the Auth implementations and Load current user details on the main dashboard using sso service with the jwt token provided on login. This app is mainly divided into two Auth and Dashboard.
1. AUTH APP
The Auth App handles:
- Login Screen
This is a basic form login interface with form details that allows a user to login to ICB, Once Login is successful a jwt token is issued.
POST /uaa/token
{ "name: "offer name", "description: "offer description", "price: "5.00", "currency: "GBP", "duration: { "startDate: "2018-01-01", "endDate: "2018-01-31" }
Response HTTP Status 201 Created { id: "12c3009d-046d-411c-85eb-6e379e2f5d2a" }
- Forgot Password Screen
This is a basic form for user to enter email which is verified and a reset password link sent to user on succesful verification of the email. This requires a server token
GET /account/forget/password?email=param
- Change Default Password Screen on First Login
This is a basic change password form , the forces a user to change their default password on first Login. User token is required. We will encrypt the new password using base64
GET account/change/default/password?newpassword=param
- Change Password
This is a basic change password form, User will enter the old password and enter a new password with a confirm password feild. User token is required. We will encrypt both passwords using base64.
GET /account/password/change
{oldpassword:123,newpassword:466445}
- Change Pin Screen
This is a change pin form. We encrypt using base 64 to send the pin to backend. User token is required
POST /account/pin/change
{oldpin:123,newpin:466445}
- Forgot Pin Screen
This is a basic form that allows reset of user pin.
GET /account/pin/reset?email=ueue use servertoken
DASHBOARD APP
This is an app that handles all the loading of the dashboard components for all the related dashboard and the various apps in ICB using the dashboard library and its related services. The main components of the dashboard are
Instituional Filters
These filters allow a user to load dashboard data on a heirachical view. These are arranged into
1.1. Global Region Filter
These are the regions with a global setup (ALL Regions)
1.2. Institution(Country) Filter
This filter represent each institution(country) within a global territory.
A group of institutions for a global region
1.3. Institution(Country Region) Filter
This filter categories the institution branches into institution regions
1.4 Branches Filter
This filter handles the branches within an institution and its region
1.5 User Filter
This filter shows for the user
- Period Filter
These filters display dashboard details based on a selected period in comparism to a previous period
1.1. This Year
This loads the dashboard data for Year to date in comparism to previous year
1.2. Last Year
This loads the dashboard data for Last year in comparism to previous year
1.3. This Half
This loads the dashboard data for the current half Year to date in comparism
to previous half year
1.4. Last Half
This loads the dashboard data for the last half Year to date in comparism
to previous half year
1.5. This Quarter
This loads the dashboard data for the current Quarter to date in comparism
to previous Quarter
1.6. Last Quarter
This loads the dashboard data for the Last Quarter to date in comparism
to previous Quarter
1.7. This Month
This loads the dashboard data for the current Month to date in comparism
to previous Month
1.8. Last Month
This loads the dashboard data for the Last Month to date in comparism
to previous Month
1.9. This Week
This loads the dashboard data for the current Week to date in comparism
to previous Week
1.10. Last Week
This loads the dashboard data for the last Week to date in comparism to previous week
1.11 Today
This loads the dashboard data for the current day in comparism to previous day
1.12. Yesterday
This loads the dashboard data for the yesterday in comparism to previous day
- Dashboard Filter
These filters enables the user with permission to view multiple dahsboard to view a dashboard based on thier business area
1.1. Executive Dashboard
1.2. Operations Dashboard
1.3. Sales Dashboard
1.4. Loans Dashboard
1.5. CRM Dashboard
1.6. Accounting Dashboard
- Dashboard Content
These displays the Dashboard based on the selected dashboard from the dahsboard filter using the formbuilder details
GENERIC LIBRARIES
- LOGIN LIB
This is a generic library that has the Login screen componets and its related dependencies. This library further handles (Login Screen , Forgot password screen,change default password screen).
- HEADER LIB
This is a generic library that has the header componets and its related dependencies. This library further handles (Chat App , Notification,Menu,Quick Search,Quick Add , Help).
2.1 CHAT
This is a library that handles the chat componets and its related dependencies.
This uses the firebase push and pull to handle chats Among system users
2.2 NOTIFICATION
This is a library that handles the chat componets and its related dependencies.
This uses the firebase push to update alerts notifications to the user.
2.3 MENU
This is a library that handles the user menu and its related dependencies.
This reloads the appropriate menu items based on the user menu permission for each app
2.4 QUICK SEARCH
This is a library that handles the quick search feature and its related dependencies.
The quick search enables a user to search for a customer in the system
2.5 QUICK ADD
This is a library that handles the quick Add feature and its related dependencies.
The quick Add is a drop menu with mostly used features based on user permission.
2.6 HELP
This is a library that handles the help navigation feature and its related
dependencies. The help is a drop menu with menu options 1. User Support
2.Help Manual(this will later redirect base on current user url to the appropriate
help text)
- DASHBOARD LIB
This is a generic library that has the Dashboard componets and its related dependencies. This library further handles all the dashboard related details for each app.
- SERVICES LIB
This is a generic library that has the services componets and its related dependencies. This library further handles all the services related details for each app.
Other ICB Apps
- CRM: A note on tokens, scopes and authorities
- Technical forum: cf-dev mailing list
- Docs: docs/
Quick Start
The apps all work as a stand alone or together with the other ICB apps running on the different ports.
This project was generated with Angular CLI version 11.
Development server
Run ng serve
for a dev server. Navigate to http://localhost:4200/
. The app will automatically reload if you change any of the source files.
Code scaffolding
Run ng generate component component-name
to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module
.
Build
Run ng build
to build the project. The build artifacts will be stored in the dist/
directory. Use the --prod
flag for a production build.
Running unit tests
Run ng test
to execute the unit tests via Karma.
Running end-to-end tests
Run ng e2e
to execute the end-to-end tests via Protractor.
Further help
To get more help on the Angular CLI use ng help
or go check out the Angular CLI README.
nginx as reverse proxy
Run with Nginx both in production and dev to handle reverse proxy for multiple apps in the ICB ecosystem.
S3FileUpload
3 years ago