Boat Pro hero image

Boat International

The Brief


BOAT Pro is Boat International Media’s market Intelligence product for the superyacht industry.

In 2018 Boat International Media approached Byte9 to provide architectural oversight, full-stack JavaScript development, continuous integration and deployment infrastructure and AWS SysOps deployment skills for the development of the BOAT Pro product.

The brief was to provide a shared source-code solution, working with the Boat International in-house development team, that they could take ownership of and continue development in a co-sourced environment.

The challenge was to produce a system that draws millions of data points from a number of real-time sources, including Boat International’s Superyacht Directory (SYD) database, and to allow dashboarding, charting and analytics data, with real-time location and mapping data, to the yacht industry at large, including brokers, intermediaries and suppliers to the industry.


The Byte9 Solution

Byte9 worked alongside the Boat International digital team to create a super-performant, upwardly responsive, full-stack JavaScript solution built with NodeJS, MongoDB with an AngularJS front-end. API and database adapters allowed for the easy acquisition of data, from different sources. Interfaces were created in AngularJS to allow non-technical users to create data ‘widgets’ and charts that can be made available in dashboards for different client user-groups, clients can additionally search all yacht and brokerage data and create their own dashboard tools for yacht data and industry reporting.

 

boat-pro.png

 

The application is supported by full Chai test assertions, running in Mocha and the application deployment is containerised using Docker, with the code managed in GitHub,and deployed using CircleCI, which runs both the tests and linting, to maintain code quality and standards. BOAT Pro also utilises SNYK to manage code smells and to manage any security vulnerabilities across all packages used in the application.

BOAT Pro uses two types of continuous deployment. Firstly, deploying a serverless environment to Amazon Web Services (AWS) using Circle CI and Serverless Framework via AWS CloudFormation Templates. The CloudFormation template creates a serverless environment, the API gateway, an AWS Lambda Function and an AWS S3 bucket which stores the application code, CloudFormation then takes that code and deploys it on a an AWS Lambda function. Using Circle CI to trigger instances on demand allows Boat International perform both tests and health checks, that utilise an environment for only the time that it takes to perform the tests and return the results.

The other kind of Continuous deployment utilises AWS Elastic beanstalk.  Elastic Beanstalk provisions the infrastructure and helps manage the BOAT Pro application. Using AWS Auto-Scaling Groups and AWS Elastic Load-Balancing allows Boat International saving on hosting and SysAdmin overhead. Immutable deployment allows us to update the platform with the latest patches and updates ongoing, without any down-time. Between CircleCI and AWS elastic beanstalk we are using AWS CodePipeline, which is picking up the code from the S3 bucket and delivering to Elastic Beanstalk.

The BOAT Pro application is also using AWS CloudFront to deploy the front-end, which allows us to take advantage of the AWS backbone network and CloudFront edge servers to optimise delivery of the application and yacht data globally.

Additionally, we have delivered discrete micro-services for system notifications, using AWS’ Simple Notification Service, AWS Simple Email Service, and AWS Simple Queuing Service to allow BOAT Pro to manage all push notifications and emails in an elegant and scalable way.

The Result

Commercially the BOAT Pro application has been a tremendous success for Boat International Media. The recent addition of the world’s first AIS data Global Fleet tracker, by the Boat International in-house team, allowing subscribers to build custom maps and reports based on yacht’s historical activity has really set the product apart, and is testimony to the collaborative, co-sourced approach.

From a development perspective the co-sourced solution has allowed the Boat international team to work seamlessly with the Byte9 team to manage ongoing design and functional change, as we iteratively improve the BOAT Pro application. We are working as a contiguous team, pair programming, reviewing pull-requests, providing technical project management oversight and with full integration of testing, deployment tools and communication in shared Slack channels and within Jira.

The project continues to be a very successful collaborative effort, that is leading to industry leading results both within the yacht industry and best practice, full-stack JavaScript web application development.

 

 

More

The Pharma Letter
Accurate, unbiased business information on the worldwide pharmaceutical, generic and biotechnology industries.
Get the Gloss
Devoted to beauty and wellness. Led by founders Susannah Taylor (Vogue, Glamour) and Sarah Vine (Mail, The Times)
Wasteland App
An app for the renowned group ski specialist, holiday provider and events company