Speaker
Description
The BERD@NFDI consortium aims to establish a research data management platform for economics within the German National Research Data Infrastructure (NFDI). This platform will host diverse resources such as research data from areas like marketing, machine learning models, and company reports, involving various partner institutions and user communities. This results in an agile, user-driven requirements engineering process.
In this talk, we will focus on our software engineering approach in the context of this process and will share our experiences in the following areas: First, the infrastructure is managed in a cloud solution for which we have built a multi-tier technology stack to best support our continuous development and deployment approach; second, for the research data management we are using the repository software InvenioRDM that is built on the open source Invenio framework.
After a short introduction of our cloud-based technology stack, our agile software development process and InvenioRDM, the talk will explore in more depth our adaptation and extension of this framework reflecting the specific needs of the BERD user community. Of particular importance is InvenioRDM's flexibility to support the development of domain-specific user interfaces and custom metadata models aligned with the FAIR principles. Its modular and domain-driven architecture, characterized by distinct layers encompassing data access, service, and presentation, renders the code structure easily comprehensible. This layered architecture also facilitates the construction of custom modules, allowing for seamless extension according to the specific functionalities desired by our user community, for instance for adding new types of research data, implementing fine-grained search capabilities, and enabling quality checks for the data presented in the platform. We discuss the advantages and drawbacks of this flexibility, including code complexity and technical debt, and how we address these issues through quality assurance measures like comprehensive testing and GitLab-based deployment.