What is Bongo’s Bingo?

Bongo’s Bingo is a bingo-based club night founded in Liverpool in 2015. It has since exploded in popularity to the extent that over 500 Bongo’s Bingo events were held UK-wide and worldwide in 2019, including nights in Amsterdam, Paris, Ibiza and Sydney. Events consist of several rounds of bingo mixed with rave intervals, dance-offs and catwalks. They are basically bingo with jugs of drinks, wild dancing to retro pop music and celebrity appearances.

Why Lambert Labs?

Bongo’s Bingo came to Lambert Labs for help with maintaining and improving their website and the backend of their mobile app because of our expertise with Python and our knowledge of DevOps/AWS.

We quickly setup a scalable website/API deployment using AWS Elastic Beanstalk. The application has over 300,000 users and the website sold more than 170,000 tickets in 2019.

What we did

CI/CD and DevOps:

  • Deployed a Django web application using AWS Elastic Beanstalk, Amazon Elastic Container Registry, PostgreSQL on Amazon RDS and AWS Certificate Manager.
  • Setup continuous integration and deployment for all microservices using CircleCI.
  • Created local, staging, production and hotfix environments for all deployments.
  • Because the website/app experiences huge surges in traffic around ticket release times we implemented a highly scalable solution to minimise hosting costs incurred during quiet periods but maintain reliability during surges. 
  • Setup robust database backup and restoration processes.

Python application code:

  • Worked on an existing Django web application.
  • Maintained and improved an existing Stripe integration in order to streamline the customer payment process.
  • Added API functionality to the Django application via the Django Rest Framework.
  • Used the Django ORM to optimized database queries, thus ensuring that the ticket purchasing process works correctly for all users when under heavy load.

Testing and quality control:

  • Built an automated browser test suite using Python and Selenium. The test suite runs against both the local, staging and hotfix environments to ensure no bugs creep into production.
  • Built an automated app test suite using Python and Appium. The test suite runs against iOS and Android versions of the app to ensure no bugs creep into app releases.
  • Configured and implemented linting across all microservices, including Python, CSS and JavaScript.

Logging and monitoring:

  • Configured dashboards in Amazon CloudWatch to monitor application and database servers in production and staging environments.
  • Setup CloudWatch alarms and uptime alerts using AWS Simple Notification Service.

Workflow:

  • Implemented daily standups on Google Hangouts.
  • Setup task management on Jira, integrated with GitHub.
  • Migrated all team communication to Slack. Integrated CircleCI with Slack so that CircleCI build failures are reported to a dedicated Slack channel. 
  • Wrote robust documentation using GitHub Wiki.
  • Setup a robust code review process so that all work is comprehensively peer-reviewed before being released.