lacrosse91 / hospitalrun

Monorepo that holds all of HospitalRun's v2 projects.

Home Page:https://hospitalrun.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

HospitalRun logo

Last commit GitHub CI Documentation Status Commitizen friendly License Slack


All HospitalRun code lives in a single repository, an architecture generally called a monorepo. This repository holds all of HospitalRun's open source projects that lived in their own separate Github repos: frontend, server and components. Built with React, Node, PouchDB/CouchDB and using offline first design, we're working to deliver an HIS system that makes usability the #1 requirement, is built specifically for developing world requirements, and seeks to give back time to patient care.

‼️ Version 1.0.0-beta is no longer supported. Version 2 is currently under development ‼️

FAQs

Question Answer
"I want to help" Read this paragraph
"I have a question" Join to our Slack Workspace
"I found a bug" Open an issue
"How do I push/commit changes to the repo?" Follow these steps
"How can I deploy 1.0.0-beta?" Follow this guide
"I’d like to contribute but don’t know where to start." As a first thing first you should read this document from GitHub
"What if I am not confident enough even to approach a “Good first issue”?" We talked about it here

Table of Contents

Project Structure

Submodules Progress status Build status Coverage status Code quality
Components Status GitHub CI Coverage Status Language grade: JavaScript
Frontend Status GitHub CI Coverage Status Language grade: JavaScript
Server Status GitHub CI Coverage Status Language grade: JavaScript
Core Status GitHub CI Coverage Status Language grade: JavaScript
CLI Status GitHub CI Coverage Status Language grade: JavaScript

Last Update: 7 Mar 2020

Contributing

Interested in contributing to HospitalRun? There are many ways that you can get involved:

What if I am not confident enough even to approach a “Good first issue”?

HospitalRun is a big and complex project, since our goal is to develop a full-fledged Hospital Information System. There are many areas where you can contribute and helps us build the best possible software: documentation, community management, helping users to get on board and so on. Check our website for more informations and feel free to open an issue to describe how you can be useful to the project!

Toolchain

We recommend the use of nvm for the management of different versions of Node, and yarn for a fast, reliable, and secure dependency management. We suggest to install yarn with npm i -g yarn.

Getting Started

Use these commands to start using the monorepo. The following commands require that your GitHub account has SSH access enabled.

git clone git@github.com:HospitalRun/hospitalrun.git
cd hospitalrun
git submodule update --init --recursive
yarn
yarn workspaces run build

# Do some coding then commit with
npx git-cz

Working on an Issue

In order to optimize the workflow and to prevent multiple contributors working on the same issue without interactions, a contributor must ask to be assigned to an issue by one of the core team members: it's enough to ask it inside the specific issue.

Pull all submodules

Use these commands to update all submodules and use the last available commit.

git submodule update --recursive --remote

yarn upgrade // Update all dependencies automatically
yarn update // This is similar to npm-check interactive update mode. It provides an easy way to update outdated packages.

Commiting

This repo uses conventional commits and semantic-release. Once you have changes staged you can run git cz from the root directory in order to commit to the proper standards.

  1. Staging all pending changes. Es: git add .
  2. Use the following command: yarn commit
  3. Updates remote refs using local refs. Es: git push

How to commit a specific package?

yarn commit-frontend
yarn commit-server
yarn commit-components
yarn commit-cli
yarn commit-core
yarn commit-docs

You must follow the following rules:

  1. Commit description must always start with a capital letter.
  2. Always use a scope. Here are some examples:

Generic

setting
ci
deps
readme
devops
system
core
testing
cli
release
lifecycle

Monorepo specific

monorepo
package
release
lifecycle
workspace

Updating the monorepo structure

Use these commands to add a new package after adding a submodule.

git submodule update --remote
git add ./packages
yarn upgrade
npx git-cz

Application infrastructure

A visual representation of the functionality of all HospitalRun modules and their interactions.

miro


Behind HospitalRun

Hosted by

Sponsors

Sponsors

Backers

Backers

Lead Maintainer


Maksim Sinik


Jack Meyer

Matteo Vivona

Stefano Casasola

Kumiko Kashii

Grace Lau

Stefano Miceli

Medical Supervisor


M.D. Daniele Piccolo

Past Contributors


Michael Daly

Contributors

Contributors

Founders


John Kleinschmidtr

Joel Worrall

Joel Glovier

License

Released under the MIT license.

About

Monorepo that holds all of HospitalRun's v2 projects.

https://hospitalrun.io

License:MIT License


Languages

Language:JavaScript 100.0%