Arvig Customer Portal - Phase 2
In early 2019, Arvig Enterprises contacted the company that I work for about starting phase 2 for the Arvig Customer Portal project. Phase 2 for the project included making the following improvements to the customer portal website. Many of these improvements involved the incorporation of calls to various API endpoints that the client themselves have developed.
Improved Login Experience
When the customer portal website was initially launched, it used the "password grant" method to authenticate a user when logging into the website. As part of phase 2, I replaced the use of the "password grant" method with the use of the OAuth 2.0 token authentication method.
Rather than entering his/her username and password on the website to log in, the user is redirected to the single-sign-on server where he/she authorizes the customer portal website to be able to access his/her account information. The user is then redirected back to the customer portal website. As long as the user remains logged in on the SSO website, he will be able to access the customer portal website without having to log in again.
New Customer Experience
When a new customer first signs up for an Arvig service, it takes some time before all of his/her data is available for use by the website. Arvig wanted a new customer to still be able to access the website and have access to a limited set of data. I modified the system so that an alternate dashboard is displayed to customers who have been flagged as "new". The alternate dashboard displays a message informing the user that his/her account is still being set up. It also displays the contact information for the account.
Arvig wanted to be able to display messages to customers that can be dismissed. They also wanted to be able to target specific pages or sections of the website in which the tips are displayed.
I developed a module that gave Arivg the ability to manage these tips. A tip is comprised of formatted text, including embedded images if desired. A tip can be set up to be displayed globally (i.e. on every page of the website) or on specific pages/sections. A tip can also be scheduled to be displayed at a later date.
The tips are displayed in the upper right hand corner of the screen at desktop size and at the bottom of the screen at mobile sizes, remaining in a fixed location until the user dismisses them. Once dismissed, a tip will not be displayed to a user again for the next 24 hours.
Improved User Dashboard
It is possible for an Arvig customer to have multiple statements associated with his/her account. As part of phase 2, I modified the user dashboard so that it supports these types of accounts. The user is able to select the desired statement so that he/she can view the data associated with it. The selected statement is remembered as the user navigates to other sections of the website. If a user only has a single statement associated with his account, that statement is automatically selected.
Another improvement to the user dashboard that was made as part of phase 2 was the ability to edit the nickname associated with a service account. The nickname is displayed everywhere (on the website) that service account data is displayed.
A new page was added to the website that displays the data usage for an internet service account. This data is displayed as an interactive chart.
A new page was added to the website that gives a user the ability to manage the secondary accounts associated with his/her account. A secondary account is a user who has his/her own credentials for logging into the customer portal. A secondary account holder has restricted access to the website while a primary account holder has full access.
A new page was added to the website that gives the user the ability to manage preferences for his/her account. At the present time, a user is only able to sign up for paperless billing.
A new section was added to the website that gives a user the ability to make a payment without leaving the website. A user can make a one-time payment or set up recurring payments. The payment interfaces are located within iframes on the website.
A page was added to the website where a user can find and download the monthly billing statements associated with his account. If a customer has multiple statements (for different services) associated with his account, he will be able to select a specific (service) statement to see the billing statements associated with it. If the user selected a specific (service) statement on the dashboard, the statement history for that (service) statement will be displayed.
A page was added to the website where a user can view his payment history. As with the Statement History page, if a customer has multiple (service) statements, he/she can select one of the statements in order to view the payment history that is associated with it. If the user selected a specific (service) statement on the dashboard, the payment history for that (service) statement will be displayed.