Skip to content

Contributing to SCDB

Marcus Munch Grünewald edited this page Oct 11, 2023 · 2 revisions

First and foremost: Thank you for choosing to contribute to the development of the SCDB package! In order to most effectively include your changes in the package, please read through this document to better understand what the package does, how to write your code and, finally, how to submit your contribution.

The Purpose of the SCDB Package

When designing the SCDB package, we put a lot of emphasis on user-friendliness. This means that while there may be many performance improvements and various exploitable database quirks, as this carries the risk of unnecessarily complicating usability for the intended user, whose experience in maintaining a database may be very limited.

In order to more easily guide the user in using the package, make sure that your functions are well documented. Make sure to read the coding standard for diseasy, another package maintained by us.

Preparing for development

In order to get started with development, we recommend installing from GitHub:

if (!requireNamespace("devtools", quietly = TRUE)) install.packages("devtools")

devtools::install_github(
	"ssi-dk/SCDB",
	dependencies = TRUE  # Also installs packages needed for unit tests
)

We require tests to be run on an SQLite database (RSQLite is installed with dependencies = TRUE). It is not required that you have run local unit tests on a PostgreSQL database (with RPostgres::Postgres()), but it possible, we strongly recommend it, as it saves us the headaches of debugging any CI checks (GitHub Actions) which may fail.

Workflow

  • GitHub flow
  • Fork -> feature branch -> pull request
  • Please use issue/PR templates (we're working on expanding)

Thanks for making it this far!

Best regards,
The SCDB team

Clone this wiki locally