A Keyhole Consultant was brought in to directly work with the client’s full-stack development team. The goal of the project was to help the client implement new features and enhancements with React. This resulted in the implementation of a new GraphQL API and architecture for multiple interdependent systems. Keyhole Software was responsible for coaching the client’s development team in React best-practices, and working with them to refactor the code to align with those best practices.
Client Snapshot
This client is a secure online platform that enables companies to work with their suppliers and customers to improve cash flow by determining the best time and terms for paying or getting paid.
Project Overview
A sole Keyhole Developer was brought in to assist the client with an existing application. The project involved both new development and maintenance. Additionally, the Keyhole developer worked to uncover areas of existing technical debt and found ways to make the code more efficient and effective.
The application Keyhole worked on was a web application intended to allow customers to configure and setup transactions so that their businesses could enhance their liquidity. This tool was developed for sale to the client’s own clients.
Specific Technologies
- React
- TypeScript
- Node
- GraphQL
- RESTful API
- Cypress
- Storybook
Application Development
The application consisted of a React mono-repo frontend, which was written with TypeScript and talked to a Node RESTful API backend. Keyhole’s Consultant worked with the client’s existing team to maintain and make enhancements with React to the application.
Part of the consultant’s role involved a large refactoring of the state management and routing portions of one section of the React application. Through this, the Keyhole Consultant introduced and implemented a React-query as a data-fetching solution. The Keyhole Consultant also helped the client’s team with the implementation of their first GraphQL API. The GraphQL API was intended to replace their existing Node API.
In addition to performing maintenance and adding new features within these technologies, the Keyhole Consultant also introduced multiple new technologies to help improve the client’s workflow. These included Storybook for component development and Cypress for frontend testing. Their role also included mentoring and educating the client’s team on React best-practices.
Methodology
Throughout the project, task communication was handled with JIRA and weekly status and backlog grooming meetings. Daily standups with small teams were also a part of communication, which allowed the team to work more efficiently.
Project End Status
Keyhole helped the client ship code with less technical debt, introduced the team to new ways of working with GraphQL APIs in a type-safe way, and increased developer velocity by leveraging modern tools.
With the new features added to the application, the client was able to sell and market the application to their clients. The new additions allowed customers to configure and setup transactions so that their businesses could enhance their liquidity.