Rapidly become your extended team or build a product from scratch. Top-notch engineering solutions by Uinno.
Onyx Learning is a SaaS private learning management system that provides onboarding, skills assessment, and training programs with gamification elements for employees of all-sized businesses. Among their clients are well-known global corporations that have utilized either the website, standalone app, or API integration as a foundation for their custom-built corporate training.
Having a pool of serious customers, Onyx required to meet high software quality standards but faced the problem of insufficient tech expertise level.
There are two existing versions of the product implemented with different technologies - one with a PHP language and the other is with Node.js platform along with React-based frontend part. Frontend parts are hardly integrated. While surfing the old website, web pages get updated, and occasionally clicking some button a user may accidentally bump into a React-based frontend part. The code is far from being clean. Sharing API with third-party platforms is a complicated, painful, and expensive task.
To solve all these challenges the client's development team needed a hand of highly professional specialists who can see the big picture, assist with preventing mistakes and make the right software development decisions.
They have turned to Uinno with a request of providing technology consulting services. Among other goals, the client saw the need to obtain higher expertise concerning software architecture and code quality under our guidance.
We are always striving to not just solve the current issue but propose the most optimal solution from the business strategy perspective. Our experienced specialists offered to merge the existing product versions into a solid unified solution that can be easily shareable, widely scalable, and work smoothly with any third-party integration.
Our experts proposed to merge these two versions in order to maintain the old backend and new backend + frontend smoothly. The old functionality should be connected and available from the new frontend. Besides, it should allow new integrations of auxiliary digital solutions. In this case “merging” means building the proxy layer (some kind backend for frontend) which will be the gate to old and new backends and will provide the general and friendly API.
Once a new piece of code is written by the client's development team and merged through a pool request into a codebase, we review it, explain the outcomes from the identified flows, and how to fix it. After improvements and our final approval, it gets tested and goes live.
There were elements of coaching provided along the way. We have not only consulted about the best possible decisions to meet the business objectives but explained how to actually implement certain solutions with each chosen technology within the project.
We adhere to the scrum methodology while collaborating with the client. Daily meetings with each sprint retrospectives allow us to inspect the project progress and make sure the set goals are viable. Besides, we are able to plan future improvements along the way.
During meetings with the client's tech lead, we discuss the current tasks, a range of possible solutions, and the potential implications of each decision. This way all the technical and architectural resolutions pass through the approval of our specialists.
The Uinno engineers have shared the knowledge on a variety of topics to help the client implement the best practices in writing the clean code and designing the smart solution architecture.
We have introduced high-standard code review services to ensure the quality of the software development process and established a new strategy for further product development to enable its future scalability and smooth maintainability.
The introduced merging strategy allows to:
Ultimately, we have developed a turnkey product that utilized the full cycle of software development services: solution design, solution architecture, design concept, frontend and backend development, quality assurance, and project deployment.
Uinno experts assumed a role of a CTO to manage the development process and mentor the client's development team with a mission to bring a quality product on the market that best represents the client's business value.