programme.lv is a programming learning platform for scholars, students and others.
This repository contains source code for the backend of the programme.lv system. The backend is a GraphQL server that interacts with the PostgreSQL database and the RabbitMQ submission queue.
The two core branches of this repo are: dev
& main
:
-
dev
is the branch that contains the latest development version of the code. Unit & integration tests are not automatically run against this branch. You can push to this branch directly, but it is recommended to create a feature branch and then create a pull request todev
. -
main
is a staging branch, where the code is tested before being deployed to production. After each push onmain
, unit and integration tests are run. Integration tests are run against the newest version of the database. If a commit is tagged it is then deployed to production.
For more CI/CD information look at actions defined in ./.github/workflows/
.
TODO: trigger the testing workflow also on database changes.
When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.
Pull requests are the best way to propose changes to the codebase. We actively welcome your pull requests:
- Fork the repo and create your branch from
main
. - If you've added code that should be tested, add tests.
- If you've added code that need documentation, update the documentation.
- Write a good commit message.
- Issue that pull request!
Join our community on Discord!