Project Overview
Under an aggressive 6-week deadline, a four-person Keyhole Software Consulting team was charged with delivering functionality to the first phase of a capital asset planning application for an international engineering consulting firm.
Deliverables included ensuring all UI controls displayed properly on mobile devices, application functionality in offline mode, and seamless integration with the working application.
Technology Overview
The application technology stack included JavaScript, TypeScript, React, Java, and Spring Boot.
Key functionality included:
- Ensuring that all UI controls functioned and display properly on a mobile device,
- The integration of web control to have access to the device camera,
- Allowing for the app to function in an offline scenario,
- Creating a code mechanism to determine when the device is online so that updates can be pushed and pulled,
- Messaging the user around storage limits and asynchronous activities (i.e., data saved, synced, deleted, etc…)
- Storing CRUD activities performed in the app while offline and their payloads (i.e., photos, text information entered in form fields, state of data, etc…)
Once the initial functionality deadline was successfully met, the client requested Keyhole Consultants remain engaged with the client to work with the in-house team that was building out additional features and enhancements, including:
- Creating unit tests for mobile home page and offline syncing functionality
- Adding Fault Tolerance to Online Syncing
- Providing thought leadership and technical expertise around consolidating Redux code to support more transactions or asynchronous operations
- Adding features for the user to manage offline transactions
- Data Visualization Consulting
Consulting Areas of Note
The team met the aggressive timeline.
The team helped to provide feedback and guidance around best practices. They sought to speed up future development efforts by implementing and identifying helpful patterns and coding best practices.
Keyhole Consultants integrated with the working application as it was finalized and new functionality was being added. They worked with client team to ensure the validation of functionality and proper integration of new code. They were tasked with helping the client team understand those best practices with examples of working and maintainable code.
The client requested additional Data Visualization Consulting outside the original scope of work in an effort to combine the need to quickly read and summarize large volumes of data. Keyhole consulted on the most efficient method(s) for the front end to store the data and tools to present the data to provide a performant user experience.