π»Contributing

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.
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.
Do not install MongoDB as a service.
You do not have to install MongoDB compass.
You do not have to install mongosh.
Do not forget to add MongoDB binaries to the System PATH.
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.
2. Node.js and NVM Setup
2.1 Installation of Nvm
2.2 Installation of npm/node.js
Be careful, the next steps are different depending on the user's privileges.
For members of the MEDomicsLab GitHub organization
3. Clone the Repository
Using HTTPS:
Using SSH:
4. Backend Setup (Go)
4.1 Install Go
Download the latest stable release of Go from the official website: https://golang.org/dl/
Follow the installation instructions for your operating system.
4.2 Setup of environment
Execute these commands in the terminal:
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:
Rebuild after any .go file modification.
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 featurefix:bug fixdocs:documentation changesrefactor:code restructuringtest:tests added/updated
9. Push Changes
10. Create a Pull Request
Go to the MEDomics GitHub Pull Requests page
Click New Pull Request
Target branch:
developCompare 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
Go to the official repo
Click Fork
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
Download the latest stable release of Go from the official website: https://golang.org/dl/
Follow the installation instructions for your operating system.
6.2 Setup of environment
Execute these commands in the terminal:
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:
Rebuild after any .go file modification.
7. Make Changes
Follow the project structure
Keep commits small and descriptive
Commit naming conventions:
feat:new featurefix:bug fixdocs:documentation changesrefactor:code restructuringtest:tests added/updated
8. Sync with Upstream
Before pushing:
9. Push Changes
10. Create a Pull Request
Go to your fork on GitHub
Click Compare & Pull Request
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
On Windows, if you encounter error messages when running npm installrelated to tensorflow .dll files missing, revert your node version by following these steps:
Add to the PATH variable the path to your new node placing it higher than the old node.
Test your node version using:
node --version
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:
54017Recommended Client: MongoDB Compass
Connection String Format:
mongodb://localhost:54017/
Testing Production Builds
Build & Run
The built app will be located in the build/dist folder.
Last updated