Skip to content

Latest commit

 

History

History
108 lines (79 loc) · 3.78 KB

CONTRIBUTING.md

File metadata and controls

108 lines (79 loc) · 3.78 KB

Code of Conduct

This project and everyone participating in it is governed by the MLVET Code of Conduct. By participating, you are expected to uphold this code.

Bug Reporting 🐛

One of the most important things you can do is report bugs. Please reference how to report a bug and follow the issue templates when adding new bugs.

Structure of the mlvet repository

mlvet
├── assets
│   ├── fonts                     holds fonts to be used in the project
│   ├── icons                     holds app icons
├── mocks                         holds file with mock runtime object for testing
├── release
│   ├── app                       holds files necessary for building
│   └── build                     packaged app will be stored here after running `yarn package`
│
├── src
│   ├── collabServer              holds files necessary to run the collab server (collaborative editing)
│   ├── collabTypes               holds types for collab types
│   ├── expressServer             holds files for express server (server responsible for streaming video to the frontend)
│   ├── main                      holds files for the electron backend
│   ├── renderer                  holds files for the react frontend
│   ├── transcriptProcessing      holds files used by both the frontend and backend for transcription processing
│   └── vosk                      holds files used by both the frontend and backend for local transcription (vosk)
└── tools                         holds files for code gen

Development

To get your development environment set up

  1. Install the following dependencies: node 16, yarn

  2. Clone the repository and cd into the directory

    repos> git clone https://github.com/MLVETDevelopers/mlvet.git
    repos> cd mlvet
  3. Install node dependencies

    mlvet> yarn
    mlvet> cd src/collabServer/
    m/s/collabServer/> yarn
    m/s/collabServer/> cd ../../release/app
    m/r/app/> yarn
  4. Running the tests

    mlvet> yarn test
  5. Start the app in the dev environment

    yarn start

Deployment (Releasing the app)

  1. Create a PR into develop with the version in package.json incremented - Follow Semantic Versioning
  2. Create a new branch off develop (eg. sync-dev-with-uat) and pull in uat
  3. Open a PR to merge sync-dev-with-uat into develop
  4. Get the PR approved and merge into develop
  5. Open a PR to merge develop into uat
  6. Get the PR approved and merge into develop
  7. The GitHub actions will create a new release
  8. Open the release and edit it, add release notes and remove the macOS ARM dmgs

Public website

mlvet.app is managed in a separate repo.

Targeting .deb and .rpm on linux.

To create .deb and .rpm releases you must build the app on a linux distribution based on the distribution you want to target.

Steps to build your .deb/.rpm

  1. Replace the AppImage target with you target of choice in the mlvet/package.json.
"linux": {
      "target": [
-        "AppImage"
+        "deb"
      ],
      "category": "Development",
  1. Download the dependencies mentioned earlier.

  2. Then run yarn package, it might fail the first time (which is why we have not included it in our build process), just run it again and it'll work.

Contributors

Thank you to all the people who have already contributed to MLVET!