Technical requirements

Warning

🚧 This section is still in active development and is subject to changes 🚧

This section outlines the technical requirements for the Seedcase software from a developer point of view.

Technical constraints

Following our values and principles, we have the following technical constraints of the Seedcase framework:

Technical constraints we need to consider for Seedcase software.
Constraints Background/Motivation
Run on Windows, MacOS, and Linux Our potential users work on any of these systems, so we need to design for that
Use open source software dependencies We will use an open license, so we need to use components that are open as well
Use software that’s (relatively) familiar to many We want others to contribute, so we need to use tools others (likely) know
Integrate GDPR, privacy, and security compliance Our target users work with health data, so this is vital to consider
Deployable to servers and locally Could be used locally but mainly used on a server environment
Storage and computing may be at different locations Where data are stored vs analyzed will likely be different, see subsection below

Conventions

We follow the conventions below for software development when developing the Seedcase framework:

Conventions that we follow for the Seedcase framework.
Conventions Background/Motivation
Follow standard styling (e.g., PIP3 and black formatting) Coding style is vital to readability, so we follow best practices. See our Style documentation
Use SemVer versioning We can utilise existing tools to handle tasks like version release and changelog generation. See our decision post on this
Incorporate test-driven and documentation-driven development styles Each has pros and cons, we use what works best. See the Contributing Guidelines