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:
| 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 | 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 |