Case Study: FacetTrak Upgrade 

FacetTrak needed a complete UI and framework overhaul for security, modernization, and futureproofing. The existing software was running PHP 5.6. 

Technologies and Services

Technologies: PHP, JavaScript, Laravel, MySQL 

Services: Web App Development, Code Auditing 

Challenges

Converting existing custom framework into a new updated Laravel framework. Upgrading from a very out-of-date PHP version (5.6) to a modern supported version (8.1+). Upgrading 2 major PHP versions along with jQuery, JavaScript, and any third-party packages can cause compatibility problems when converting, sometimes causing complete rebuilds.  

Technical Challenges

Restructuring code – Deprecated functions, implementing more efficient methods, testing.

Moving the data to the new databaseTables were restructured and was not a 1 to 1 copy paste method. New script to transfer existing installations’ data into a multi-tenant styled single database. 

Objectives

  • Improve codebase to reduce future development time
  • Use modern coding framework for increased familiarity in event new developers are needed
  • Implement style guide and build pipeline for deployment to improve update process
  • Modern architecture and libraries for improved security
  • Solve development bottlenecks by using modular logic separation and designing expandability and upgradability into the system
  • Improve user interface experience with improved UI and flattened and simplified menus

Scope

The scope is to move (almost) all functionality of the existing FacetTrak web application and android application to an up-to-date PHP version and modern framework. It was also required to implement an automated dispatch dashboard along with rolling out the new version. 

Audit

Since this is an internal web application, our team was familiar with the existing source code. Our team then researched other similar applications available to the public to discuss and determine additional changes and/or features that would be implemented on release. A plan was then created for the deliverables and expectations of the new version. 

Development

We had used the Feature Driven Development methodology to split up each feature to implement individually. Features that were required before others were planned out. Development meetings were held each week to go over progress.  

  • Web
    • The web application was the focus of this new version, as it is where the application will mostly be used We had gone with a complete UI redesign along with improvements to how data was displayed and managed to overall enhance the user experience.  
  • Mobile
    • An existing application for the current FacetTRAK version was to be replaced with the deployment of the new version. The existing application was removed from the Google Play Store due to some policy changes. The new application was designed to replace the old application and update the policies to be available on the Google Play Store again. An Apple application is planned to be developed later. 

Main Deliverables

Implementation of the existing features in the new web application

This includes implementing tickets, customers, companies, projects, etc. as how they were with improvements to the UI as well as the structure of the code.

Overhaul of the UI for a better user experience

A complete redesign of the application was required as the existing UI was old and unappealing.  

Provoptix Integration

FacetTrak has integrated with Provoptix, a custom monitoring solution for MSPs. Provoptix alerts are made into FacetTrak tickets automatically with this feature. 

Dispatch Dashboard

This is a dashboard for managing tickets. When tickets are created, they get moved throughout the queue automatically to be picked up by the first available employee

Custom Dashboards

This would be the first thing users see when logging in, so it had to be tailored to their individual needs. Each dashboard can be customized to include/exclude custom modules built by the client. Each module can be moved, removed, and resized as needed.

Project Stages

Project Stages were a large improvement to projects, giving automation aspects to ticket creation as projects were progressing.

Custom Reporting

Clients can create simple reports themselves with a custom reporting page. This gives them options to include any information needed when pulling a report. 

Results 

The improvements to the UI make it look a lot more modern, which improved the customer appeal. Customer relations were also improved from the automations of the newly implemented features.