Thank you for your intest in contributing to Gidari! Please make sure to fork this repository before working through issues.
See the Gidari MVP project list for open issues, please only focus on issues in the "Scheduled" column. Issues labeled with "good first issue" are excellent starting points for new engineers. If you have completed an issue:
- Fork this repository
- Create a pull request pointing to "main"
- Add a reviewer
All pull requests are subject to the GitHub workflow CI defined in the Actions section of the repository.
To develop locally you need to install the following dependencies:
- Docker: https://docs.docker.com/get-docker/
- Go: https://go.dev/doc/install
- protobuf: http://google.github.io/proto-lens/installing-protoc.html
- protoc-gen-go: https://developers.google.com/protocol-buffers/docs/gotutorial#compiling-your-protocol-buffers
- golangci-lin (test only): https://golangci-lint.run/usage/install/#local-installation
- gofumt (test only): https://github.com/mvdan/gofumpt
To build a binary (this is not a required step):
make
Gidari is a web-to-storage data transport, which means that integration tests are inevitable. This is an imperfect practice and any constructive feedback on improving the workflow is much appreciated.
You will also need to sync your /etc/hosts file with the docker containers:
# Alpine Hodler Containers
127.0.0.1 mongo1
127.0.0.1 mongo2
127.0.0.1 mongo3
127.0.0.1 postgres1
To test locally first build the containers for integration tests using make containers
. Then run make tests
.