Master Software Solutions

User Centric Approach to Application Development

Introduction

“Clearing” is the most crucial period for higher education institutions in their recruitment cycle. This period is critical for the institution as the success of the recruitment drive determines whether the institution is able to meets its yearly targets.  However, managing call volumes and expectations during this period, while providing much needed support to the prospects who are most likely to covert is a monumental challenge for universities.

The university needs a mechanism to provide adequate information on the website to encourage candidates who meet course requirements to call the hotline to secure a place with the university. This involves publishing most up-to-date information on available courses and their entry requirements along with the customer service contact information on the website.

In order to make “Clearing” a success, the staff keep track of course availability in a Microsoft Access database. However, due to the nature of the recruitment drive, this information needs to be readily available to a number of customer service agents, who, then use this information to guide the students through enrolment process. Failure to retrieve relevant information in a timely manner not only reduces the number of conversions, but also affects the reputation of the institution.

Therefore, the purpose of this project was three fold:

  1. Provide an intuitive web experience to the prospective students so that they are well supported in the final stage of their application journey.
  2. Develop easy to use tools for customer service agents to assist callers during the clearing period.
  3. Provide a simple mechanism for content editors to publish the most up-to-date information on the website.

Key Issues

The Microsoft Access database hosted on a shared drive cannot easily service hundreds of customer service agents. Updating the database while it was open on other agents’ computers would cause data corruption and system crashes during critical times. Accessing the shared drive required VPN, which further added to network/connectivity problems.

On the website, there was a static HTML page displaying the available courses. However, updating the HTML was a manual process and prone to errors. One mistake in the HTML would crash the page and precious time would be lost correcting the error and rebuilding the course list. There was no search mechanism, so the students had to scroll through hundreds of courses to find the information they needed.

Success Criteria

User experience was at the core of this project. The goal was to provide an improved user experience for three user groups – customer service staff, content editors and prospective students.

The institution needs a robust, reliable, highly-scalable solution that can be accessed without any dependency on VPN, while maintaining secure access. The system should allow administrators to update key information and have the information reflected on all client systems immediately.

Recommendations

Azure SQL Database Backend

Our recommendation was to migrate the existing Microsoft Access DB into new Azure SQL instance. The advantage of using Azure SQL is its reliability and scalability. Since the application needs to have high performance for a specific time-period, we could easily scale up the Azure SQL when needed and scale it down when the load levels come down.

Azure App Service – .NET Core API

Business logic was encapsulated in a .NET Core API and deployed into an Azure App Service. We configured Redis to cache server data. The entire cache is cleared whenever application data are updated from the admin portal. This ensured that subsequent requests always return up-to-date information and never stale data.

ReactJS & Azure Storage Account – Front end

For the frontend, our proposal was to create a light-weight JavaScript application using ReactJS. This allowed the UI to be completely independent from the backend and resulted in quicker delivery dates. Read-only portal for customer service agents and admin portal for backend users to update the data were built using ReactJS and deployed into an Azure Storage Account. Configuring Azure CDN allowed the application to have large scaling for instantaneous high loads during peak period.

Sitecore CMS Content Editing

We added additional workflows to the existing Sitecore CMS system to enable content editors to display “Clearing” related information on the website. We also created a new component that generates a dynamic list of available courses to be displayed prominently on the website. This list is auto-updated as course availability changed.

Website

A separate “Clearing” section was created in the website and it was advertised directly from the homepage. The clearing site displayed the list of available courses along with their entry requirements. A built-in search allowed users to quickly find the courses that suited them. Clear information was posted across all course pages indicating whether a course had availability and students were either directed to the hotline or encourage to apply for next year. We ensured that the course list was WCAG 2.0 compliant and mobile responsive, which also contributed to increased engagement.

Outcome

Typically the recruitment drive lasted for weeks. However, this year university were able to fill all their open courses and meet their targets within 3 days of “Clearing”, which was a record. The focus on user needs and building solutions keeping the end-user in mind helped us achieve such a tremendous success and resulted in a direct financial impact to the university.

A Technical Evangelist with 16+ years of experience in designing large scale data-driven applications and managing development teams using varied technologies.