Handbook
Buzzvil Architecture
This website brings together an overview of Buzzvil’s software architecture and the documentation needed to develop within it. Introduction The advertising ecosystem is complex bec…
Documented practice
Architecture, development and operating practices from the Buzzvil team. Choose a section to find a guide.
These guides preserve their original technical context. Review versions and assumptions before applying them to a current system.
Handbook
This document explains how to define and use APIs (application programming interfaces) at Buzzvil. Interfaces are defined using Protocol Buffers. Guidelines API-First Approach Use…
Handbook
This document introduces gRPC and provides usage instructions and guidelines. It also covers the protobuf concepts needed to use gRPC. What Is gRPC? gRPC is a remote procedure call…
Handbook
This document explains how to start a new service or module project. Prerequisites You will need the following tools: - Cookiecutter - Docker Background Knowledge Clean Architectur…
Handbook
This document explains how to create a new project. At Buzzvil, we use Cookiecutter to generate new projects. Templates by Language Project templates for each language are availabl…
Handbook
Starting a Project First, create a new project by following Starting a Project. Installing Dependencies Use dep to initialize the required dependencies. bash dep init When dependen…
Handbook
Implementing an API Implement the API defined using the API Definition guide. Adding the Library The Python library built from the API definition is published to Buzzvil’s private…
Handbook
TBD
Handbook
This document describes considerations when building Android modules. These are recommendations; individual projects and modules may use different structures. Guidelines - Write ne…
Handbook
This document explains the rules and workflow you need to know before working in the client monorepo. Project Organization A monorepo manages multiple projects in one repository. I…
Handbook
This document describes what to check before deploying a newly developed service. Before deploying a new service to Kubernetes, we recommend verifying that it meets the following r…
Handbook
Introduction When an app is modularized, it can reference each module as a local library. You can then version only the app and distribute the APK without managing separate module…
Handbook
This document describes what you need to prepare to deploy backend services at Buzzvil. Guidelines The process for deploying services to Kubernetes at Buzzvil is shown below. Altho…
Handbook
Docker This document introduces Docker and provides guidelines to help project teams build images optimized for container orchestration environments. What Is Docker? Container tech…
Handbook
This document introduces Helm, the Kubernetes package manager, and provides guidelines for writing Helm charts. What Is Helm? Helm makes Kubernetes applications easy to manage as p…
Handbook
Operating Kubernetes This document provides information to help check the state of Kubernetes and the workloads deployed to a cluster, and troubleshoot problems. kubectl kubectl is…
Handbook
Well-designed tests help us build products faster and more reliably. This document provides the basic principles and guidelines for writing tests. Seven Testing Principles For a de…
Handbook
This document provides Android testing methods and guidelines, including recommended libraries and how to use them. These are recommendations only; projects are free to adopt or pr…
Handbook
This document provides Go testing methods and guidelines, including recommended libraries and how to use them. These are recommendations only; projects are free to adopt or propose…
Handbook
This document provides methods and guidelines for testing Python code, including recommended libraries and how to use them. These are recommendations: projects may adopt or propose…