Giter Club home page Giter Club logo

kenyaemr-esm-3.x's Introduction

๐Ÿ‘‹ New to our project? Be sure to review the OpenMRS 3 Frontend Developer Documentation. You may find the Map of the Project especially helpful. ๐Ÿง‘โ€๐Ÿซ

Node.js CI

KenyaEMR 3.x custom packages

This repository contains frontend modules for the KenyaEMR 3.x. These modules relate to patient-flags, versioning and care-panels. The modules within this repository include:

Setup

Check out the developer documentation here.

This monorepo uses yarn and lerna.

To install the dependancies, run:

yarn install

To set up environment variables for the project, follow these steps:

  1. Create a copy of the .env.example file by running the following command:
cp example.env .env
  1. Open the newly created .env file in the root of the project.
  2. Add the environment variables you need.

Note: These variables are currently only used for end-to-end tests.

To start a dev server running all the modules simultaneously, run:

yarn start

This command uses the openmrs tooling to fire up a dev server running esm-patient-chart as well as the specified module.

Note that this is very resource-intensive.

To start a dev server for a specific module, run:

yarn start --sources 'packages/esm-<insert-package-name>-app'

You could provide yarn start with as many sources arguments as you require. For example, to run the patient registration and patient search modules only, use:

yarn start --sources 'packages/esm-patient-search-app' --sources 'packages/esm-patient-registration-app'

Troubleshooting

If you notice that your local version of the application is not working or that there's a mismatch between what you see locally versus what's in the reference application, you likely have outdated versions of core libraries. To update core libraries, run the following commands:

# Upgrade core libraries
yarn up openmrs @openmrs/esm-framework

# Reset version specifiers to `next`. Don't commit actual version numbers.
git checkout package.json

# Run `yarn` to recreate the lockfile
yarn

Contributing

Please read our contributing guide.

Running tests

Unit tests

To run unit tests, use:

yarn test

E2E tests

To run E2E tests, make sure the dev server is running by using:

yarn start --sources 'packages/esm-*-app/'

Then, in a separate terminal, run:

yarn test-e2e --headed

Please read our e2e docs for more information about E2E testing.

Design Patterns

For documentation about our design patterns, please visit our design system documentation website.

Deployment

The main branch of this repo is deployed in a demo environment.

Configuration

This module is designed to be driven by configuration files.

Version and release

To increment the version, run the following command:

yarn release

You will need to pick the next version number. We use minor changes (e.g. 3.2.0 โ†’ 3.3.0) to indicate big new features and breaking changes, and patch changes (e.g. 3.2.0 โ†’ 3.2.1) otherwise.

Note that this command will not create a new tag, nor publish the packages. After running it, make a PR or merge to main with the resulting changeset.

Once the version bump is merged, go to GitHub and draft a new release. The tag should be prefixed with v (e.g., v3.2.1), while the release title should just be the version number (e.g., 3.2.1). The creation of the GitHub release will cause GitHub Actions to publish the packages, completing the release process.

Don't run npm publish, yarn publish, or lerna publish. Use the above process.

kenyaemr-esm-3.x's People

Contributors

donaldkibet avatar cynthiakamau avatar denniskigen avatar murithijoshua avatar makombe avatar jecihjoy avatar gabriel090 avatar njorocs avatar patrickwaweru avatar agesa3 avatar anjula-sack avatar korirc avatar ojwanganto avatar its-kios09 avatar marykilewe avatar enyaencha avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.