Vos Voco
Company
Vos Voco offers an app-based service designed to automate workflow processes, enhancing efficiency and communication within and between organizations.
Team
I served as the sole full-stack developer, responsible for maintaining, modernizing, and enhancing the website. An additional app developer managed the app-related aspects of the platform.
Challenge
I was tasked with maintaining the website. After analyzing the existing setup, I recommended and implemented a modernization program:
Containerization & Deployment: Initially, the website was hosted on an EC2 instance with a manual deployment process. To enable local development and streamline deployments, I containerized the application and transitioned to a DevOps-based deployment process. Key steps included:
• Containerizing the Ruby API and Vue.js front-end application.
• Migrating the existing EC2-based web application to Fargate using Terraform for infrastructure as code.
• Creating an AWS CodePipeline to deploy the container, triggered by pushes to Amazon ECR.
• Developing GitHub Actions workflows to build the container and push it to ECR.
Automated Testing: The existing manual test suite was extensive but time-intensive to execute and did not align well with a DevOps approach. Given the complexity of the website, we decided to implement a baseline level of unit tests to ensure basic functionality before making any feature changes. Over time, we enhanced the test coverage by adding more focused tests around new feature functionality as it was developed.
Upgrade Ruby & Libraries: Many of the libraries were outdated and required upgrading. Once the baseline level of unit tests was established, it provided the confidence needed to update these libraries.
Results
A successful modernization program was implemented, enabling developers to work more efficiently and with greater confidence in the stability of the website and api.