Giter Club home page Giter Club logo

open-msupply's Introduction

Open mSupply

This is the home of an open source version of the popular mSupply - providing pharmaceutical supply chain management and dispensing, all the way from national warehouses to remote clinics, on servers, laptops and mobile. Used in over 30 countries and for over 20 years and now becoming open source.

The code is separated into two main areas, the client and server:

Client

Built on React - a responsive, multi-lingual, web based client, also packaged as both a desktop and android app.

For more information, read the client developer docs

Server

Built to be fast and reliable using Rust and supporting either PostgreSQL or SQLite databases.

For more information, read the server developer docs

Architecture

The client application is a web app, which is compiled and then hosted by the server. This can also be hosted externally by any web server, though this is no longer the recommended approach. The server connects to the database and provides a graphQL API which is consumed by the client app.

Users browse to the client app on the configured server port from a web browser, or the various wrappers which provide platform specific capabilities. This web app then connects to the server using graphQL in order to fetch data, and to the web server for app resources.

In diagrammatic form this looks like the image below:

omSupply Architecture drawio

There are also several ancilliary applications as noted, which are available to be run (cli applications) or hosted (storybook) separately.

Builds

We have some automations to build windows installers based on git tags. To create a build:

  1. Update the package version in client/package.json appropriately and commit it. v1.0.4 example
  2. Create a tag on your commit stating the version/build you're doing, but add v to the start. v1.0.4 example
  3. Our Jenkins server will pickup this tag and start the build process against the repo for the tagged commit
  4. A TMF staff member can download the generated executables from the Jenkins server and share them on the releases page.

Test builds

For test builds feel welcome to just create the tag based off the current version of your base branch. For example a test build of develop might be v1.0.4-test1. Continue incrementing the test version as builds are done.

If you want to build your own branch, anything such as v1.0.4-PR123-t1 will work great.

open-msupply's People

Contributors

josh-griffin avatar andreievg avatar mark-prins avatar czeidler avatar roxy-dao avatar wlthomson avatar clemens-msupply avatar carlosnz avatar chris-petty avatar ravisussol avatar jmbrunskill avatar chris-morgan avatar craigdrown avatar ujwalsussol avatar pauline-msupply avatar adrianwb 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.