For the complete documentation index, see llms.txt. This page is also available as Markdown.

πŸ’»Contributing

High-Level Architecture of the Main Framework Used in the Application

The MEDomics platform architecture

The map below illustrates the organization of files, modules, databases, and the Frontend-Backend connection within the MEDomics platform. This visual guide is designed to support new contributors in understanding the application’s structure, streamlining the integration of new features, and aiding efficient navigation through the codebase.

the MEDomics platform detailed architecture

Contribution Standards Summary

Before contributing to MEDomics, we highly recommend you take a look at our coding standards.

Contribute to MEDomics 🌱

Contributing to MEDomics is done through our GitHub development branch!

1. Prerequisites

1.1 Installation of MongoDB Community Edition

Follow the installation instructions depending on your OS for MongoDB Installation.

Install MongoDB on Windows

Install MongoDB on Linux (Ubuntu) - Install the latest version of MongoD.

Install MongoDB Database Tools on Mac - Install with Homebrew.

1.2 Installation of MongoDB database tools

Follow the instructions depending on your OS for MongoDB Database Tools Installation.

Install with the MSI Installer.

Install with the DEB package.

Install with Homebrew.

2. Node.js and NVM Setup

2.1 Installation of Nvm

2.2 Installation of npm/node.js

For members of the MEDomicsLab GitHub organization

3. Clone the Repository

Using HTTPS:

Using SSH:

4. Backend Setup (Go)

4.1 Install Go

  1. Download the latest stable release of Go from the official website: https://golang.org/dl/

  2. Follow the installation instructions for your operating system.

4.2 Setup of environment

Execute these commands in the terminal:

Windows
Linux and MacOS

After, close all your terminals because these commands will take effect on the initialization of any terminal

4.3 Verify installation

In a new terminal, run:

If Go is installed correctly, you should see the version number printed to the console.

4.4 Setup for the application

Next, build the executable:

5. Initialize submodules

6. Create Your Own Branch

Always branch from develop, and ensure you have the latest changes:

7. Make Changes

  • Follow the project structure

  • Keep commits small and descriptive

Commit naming conventions:

  • feat: new feature

  • fix: bug fix

  • docs: documentation changes

  • refactor: code restructuring

  • test: tests added/updated


9. Push Changes


10. Create a Pull Request

  1. Go to the MEDomics GitHub Pull Requests page

  2. Click New Pull Request

  3. Target branch: develop

  4. Compare branch: your-branch-name


11. Pull Request Guidelines

Ensure:

  • βœ… Code compiles and runs

  • βœ… No console errors

  • βœ… Proper formatting

  • βœ… Tests pass (if applicable)

  • βœ… Clear PR description:

    • What was done

    • Why was it done

    • Screenshots (if UI changes)


12. Code Review Process

  • Address reviewer comments

  • Push updates to the same branch

  • Keep discussion professional and concise

13. After Merge

For external users

🌱 Contributing via Fork (Common Practice)

This workflow is recommended for external contributors.


3. Fork the Repository

  1. Go to the official repo

  2. Click Fork

  3. Clone your fork:


4. Add Upstream Remote

Verify:


5. Create a Feature Branch

Always branch from develop:


6. Backend Setup (Go)

6.1 Install Go

  1. Download the latest stable release of Go from the official website: https://golang.org/dl/

  2. Follow the installation instructions for your operating system.

6.2 Setup of environment

Execute these commands in the terminal:

Windows
Linux and MacOS

After, close all your terminals because these commands will take effect on the initialization of any terminal

6.3 Verify installation

In a new terminal, run:

If Go is installed correctly, you should see the version number printed to the console.

6.4 Setup for the application

Next, build the executable:


7. Make Changes

  • Follow the project structure

  • Keep commits small and descriptive

Commit naming conventions:

  • feat: new feature

  • fix: bug fix

  • docs: documentation changes

  • refactor: code restructuring

  • test: tests added/updated


8. Sync with Upstream

Before pushing:


9. Push Changes


10. Create a Pull Request

  1. Go to your fork on GitHub

  2. Click Compare & Pull Request

  3. Target branch: develop (base repo)


11. Pull Request Guidelines

Ensure:

  • βœ… Code compiles and runs

  • βœ… No console errors

  • βœ… Proper formatting

  • βœ… Tests pass (if applicable)

  • βœ… Clear PR description:

    • What was done

    • Why was it done

    • Screenshots (if UI changes)


12. Code Review Process

  • Address reviewer comments

  • Push updates to the same branch

  • Keep discussion professional and concise


13. After Merge

Run the Electron App

MongoDB configuration

The MEDomicsLab platform uses port 54017 as the default MongoDB connection port. For database visualization and management, we recommend using MongoDB Compass, the official GUI client from MongoDB.

Key Details:

  • Default Port: 54017

  • Recommended Client: MongoDB Compass

  • Connection String Format: mongodb://localhost:54017/

Modify startup settings

  1. Go to file medomics.dev.js

  2. Here is a description of the Object:

Testing Production Builds

Build & Run

The built app will be located in the build/dist folder.

Last updated