0.0.0 • Published 3 years ago

icb-micro v0.0.0

Weekly downloads
-
License
-
Repository
-
Last release
3 years ago

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:

  1. 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" }

  1. 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
  1. 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
  1. 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}
  1. 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}
  1. 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

  1. 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
  1. 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
  1. 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
  1. Dashboard Content

These displays the Dashboard based on the selected dashboard from the dahsboard filter using the formbuilder details

GENERIC LIBRARIES

  1. 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).

  1. 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)
  1. 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.

  1. 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

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