User Tools

Site Tools


development:contribution_guidelines

Guidelines

Services

APIs

Web Application

Wiki

System Architecture

Software List

While we welcome contributions made from Windows users, this software was developed on and for Unix machines. Therefore, this documentation will only be maintained with Unix machines in mind.

Must Haves for all Contributors

The following software must be installed to contribute to the codebase:

  • Go: Go is the primary language used for our backend services.
  • Docker: Docker is our primary containerization software. We use this for local deployments and builds
  • Bash (or some unix shell): A unix terminal with bash is necessary to run some of the commands used in the development of this software
  • TinyGo: TinyGo is our compiler of choice for compiling our WASM binaries for our web application

Must Haves for Maintainers

The following software is necessary for all maintainers, or anyone with production deployment control, to have installed on their machine

  • Kubernetes - Kubernetes is used for cloud deployments and builds.
  • Minikube - Minikube is what we use to test local kubernetes deployments

Software Services

Code Versioning

We use github for our code versioning provider. Our github repo can be found here.

Container Versioning

We version our docker containers on docker hub. The containers relevant to this project can be found here:

Cloud Hosing

We use Civo as our cloud host for no other reason than it is a cheap way to host kubernetes deployments.

Deploying

Local Deployments

Our local deployment guidelines can be found here

Production Deployments

Our production deployment guidelines can be found here

development/contribution_guidelines.txt · Last modified: 2024/06/06 16:41 by 127.0.0.1