In SIO2 project we use various development tools.
Git
Git is a version control system we use to control changes and versions. When you create a change, you can use git push origin HEAD:refs/for/master to send it for review.
Github
Github is our source code hosting site. It's a popular place, where source code can be shared, browsed and downloaded.
CI using Github Actions
Every change you make is sent to github actions to perform some basic tests — to check, if the code compiles and passes unit tests, if the database migrations work and if the automatically generated documentation compiles without warnings. When you send a PR in Github, it automatically applies basic checks it and notifies you.
We use both standard Django testing frameworks for unit tests and small integration tests, as well as full-stack nightly tests with Docker and Cypress.
Sentry
Errors on production instances are automatically captured and clustered, so that we never get hundreds of emails for the same problem. This is possible thanks to Sentry.
Jira
When you see a problem with SIO2 code or have improvement ideas, you can use Jira to notify us about it (open a ticket). If you want to help us, just take a ticket and prepare a change to resolve it.
Confluence
Confluence is a wiki system used for managing SIO2 documentation, manuals etc. This document resides in Confluence.
Docker
We provide a configuration for Docker, which is an easier way to start developing, without the necessity to install the entire OIOIOI stack manually.
Read the Docs
Read the Docs is a free online service for hosting documentation. It automatically synchronizes with the Git repository, auto-generating documentation with every change.