The client had an idea of how to turn the acquired legacy code into a new business and delegated the Wise team its MVP development. After six months, Granted has become a live marketplace where you can buy tickets for concerts or sports events at a fixed price, bid for items owned by celebrities taking part in the auctions, and more. The project continues to grow and its tech support is now fully entrusted to the WE team.
People get bored fast and always look for exclusive entertainment opportunities. Visiting concerts of your favorite group is fun but rarely turns into a lifetime memory. Having lunch with a person you admire, on the contrary, is something you’d never forget.
This is the key idea behind Granted — a marketplace of exclusive entertainment experiences and auction software for fans that at this step existed only as a stakeholder’s idea.
The stakeholders planned to base the development of the new product on the existing old legacy code and had a feature set for the MVP development.
The team needed a tech partner capable of building the auction system and marketplace software simultaneously and open for long-term cooperation.
Libraries used in the initial code were not updated and the application had low performance. This also might have led to security issues.
Multiple contributors to the legacy code left no documentation and didn’t use a single standard to build product functionality. This made onboarding for new members time-consuming.
The front-end was created using different development approaches that reduced the code readability. The lack of a single style standard made redesign an unreasonably long process.
The Wise team was hired to repurpose a previously acquired auction platform and develop new functionality to empower our experiential marketplace.
First, we explained what parts of the legacy code should be utilized and documented improving proposals. Each of our suggestions or realization approaches included several variants with both pros and cons described in detail.
Then, we discussed the options and opted for the most efficient variants. We agreed upon the deadlines and our client knew what functionality to expect and when.
The initial team for the project included four software engineers and a project manager. To ensure communication was efficient, we agreed upon weekly sync meetings with the Granted product owner and investors. Plus, our client could contact anyone from the Wise team directly to discuss ideas or inquire about the progress of any feature.
Because reworking the given front-end code to meet new requirements and design was time-consuming, we offered to start a new Next.js project. It allowed us to implement new design concepts and add features faster.
We also transferred the auth and auction components from the old application to the new project.
After migration to the modern React framework, the front-end performance, development experience, and state of the codebase were significantly improved.
Key benefits of the used Next.js technology:
As the codebase increased and new functionality was added, Confluence was used to properly organize project documentation. The documentation process was established and the Wise team kept the documentation up-to-date to speed up the development process for everyone involved. All the new features added were documented accordingly.
All log processes were set up and we configured the incident management system for troubleshooting. Important events were captured instantly and it helped to ensure high application performance and monitor its stability.
Besides, switching to the SendGrid dynamic templates allowed our client to make changes to the email templates faster.
To help our client accumulate important data on users' interaction with the new product and base future business decisions on real-time data, we configured the following tools:
Wise Engineering is a joy to work with. All team members are self-starters, highly competent, and work with consistent velocity.
Infrastructure as Code was applied as the best practice for automating the provisioning of infrastructure services. Terraform, an open-source provisioning tool from HashiCorp, was used to build, change, and version infrastructure and ensure its safety, efficiency, and easy reproducibility. Terraform managed the state of our environment on AWS. In other words, if something was not in conformity, it would be fixed and kept as close as possible to the desired state.
To ensure high availability, high scalability, security, and fault tolerance production environment, the core project infrastructure components were designed and built on the Amazon Web Services (AWS).
For the setup, the following services were used:
Kubernetes was chosen as an orchestration system for automating application deployment, scaling, and management. It helped to make deployment stable and the production environment part scalable.
From the beginning, our team defined key metrics that allowed us to monitor app performance and set up tools to collect this data. We configured:
To automate the CI/CD and run MySQL migration, the Jenkins pipeline was utilized. This provided a simple interface for deploying the application to the development Kubernetes cluster from any GitHub branch. It also could be deployed to the production Kubernetes cluster from the master branch with a rollback function if needed.
With the configured Slack integration, our team and anyone from the client-side were able to track the deployment process and commit history. So that everyone could be on the same page about what's happening with the development process in the environment.
The quality assurance was applied during the auction system and marketplace development process, still, after the main development phase was over, the Wise team prepared a detailed plan for the software testing, created test cases, and extensive automated tests to ensure that the developed solution is stable, bug-free, and ready for the launch.
They did a fantastic job building out the product MVP on time and within estimates, helped to implement into life investors' vision.