Skip to main content

Contribution Process

  1. Check out the current main branch and pull the latest changes.
  2. Create a new branch with a descriptive name.
  3. Run supabase migration up in the services/ directory to make sure your local database is in sync with the latest migrations.
  4. START CODING!

Changes to the Webapp

  1. Make your changes and test them locally.
  2. Make meaningful commits throughout the process. Please use prefixes in square brackets for the commit messages, e.g. [fix], [feat], etc.
  3. When you are done, check if the build goes through. You can do this by running pnpm run pages:build in the apps/web directory.
  4. Push your branch to the remote repository at least once per day to save your work.
  5. Create a pull request to the main branch. If it's not ready yet, create a draft pull request.
  6. A GitHub action will automatically build and deploy your changes and you will see a preview URL in the pull request.

Changes to the Database

  1. Navigate to the Supabase Studio UI at http://localhost:54323.
  2. Make your changes to the database schema either via the UI or by using the SQL editor.
  3. Run the following scripts to export the changes to a SQL file:
./scripts/supabase/create_migration.sh <descriptive_name_of_changes>
  1. Run the following scripts to update the typescript types:
./scripts/supabase/generate_types.sh
  1. Make sure the types in the webapp and the types in your database are in sync by running pnpm run build.

  2. Commit the changes to the repository. It will be automatically picked up by the GitHub action and applied to the database.

    Pushing migrations to the remote repository

    Any migration files pushed to the remote repository will be applied to our development database without any checks. Therefore, make sure to only push migrations after you reviewed them yourself or checked with a peer.

Changes to the Cloudflare Workers

  1. Make your changes to the worker.

  2. Commit the changes to the repository. It will be automatically picked up by the GitHub action and deployed to the Cloudflare Workers.

    Pushing changes to workers

    Any changes pushed to the remote repository will be deployed to the Development Versionof the Cloudflare Workers without any checks. Therefore, make sure to only push changes after you reviewed them yourself or checked with a peer.