development:contribution_guidelines
Table of Contents
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
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