Coder Social home page Coder Social logo

nikhilpadmawar / openmrs-module-appointments-frontend Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bahmni/openmrs-module-appointments-frontend

0.0 0.0 0.0 28.65 MB

UI for appointment scheduling

License: GNU Affero General Public License v3.0

Shell 0.14% JavaScript 79.75% HTML 3.87% CSS 16.24%

openmrs-module-appointments-frontend's Introduction

Openmrs Module Appointment Dashboard

This repository is extracted appointments module from openmrs-module-bahmniapps. This repository acts as the front end for the Bahmni Appointment Scheduling. It is written in React and Angular.

Differences with OpenMRS-Module-bahmniapps

We have moved away from bower and installing dependencies from NPM. Below has been the changes in libraries from OpenMRS-Module-bahmniapps

Library Change
ngDialog Using ng-dialog instead (Rename).
[email protected] Upgraded to 1.4.1 since the existing version is not present in NPM. Manually changed the line 12 from define(['jquery/jquery'], factory); instead of define(['jquery'], factory);. Reference link
angular-ui-router Renamed to @uirouter/angularjs.
angular-bindonce Using directly from github since the latest is not published in NPM.
[email protected] Using [email protected], since this is the latest version on NPM. According to this thread there are no code changes between 1.3.0 to 1.3.4.
jquery-ui-1.10.4.custom.min Using [email protected] since the jquery-ui is not bundled by default. 1.11.4 is the oldest version on NPM
  • Images for scss are being served in bundled.

Global variables from library

Few libraries(angular, jquery) used in BahmniApps export themselves as global variables. Webpack doesn't support the idea of global variables by default. All these global variables are exported using webpack.ProvidePlugin. Check the webpack.config.js plugins section.

Other Fixes

  • According to this issue, webpack doesn't work well with angular 1. There has been a fix provided for them using exports-loader. There were similar issues for jquery 1.

Duplicate code

  • Duplicated error-routehandler. It is a small utility and need not to be extracted in library. If we are putting more stuff, it can go to a library.
  • Duplicated openmrs-module-bahmniapps/ui/app/common/constants.js. This can be merged with appointments/constants.js

Running it with bahmni

  • Clone the repo
  • Go to UI folder and install dependencies cd ui && npm install
  • Switch back to root folder cd ..
  • Run npm install
  • RUN npm run build
  • Take a backup of /var/www/bahmniapps/appointments.(vagrant)
  • Replace content of /var/www/bahmniapps/appointments with generated dist folder content.(Vagrant)
  • Go to bahmni Appointment scheduling UI. It should serve new appointments content.

Running Tests

  • Run npm run test.

React

Build

npm run build-react

Development

Build with watch

npm run build-react-dev

Run storybook

npm run storybook

Test

npm run test-react

Test with watch

npm run test-react-watch

Deploy

  • Create a folder called 'appointments' under '/var/www'.
  • Add an alias in httpd ssl.conf, like below:
    Alias /appointments-v2 /var/www/appointments
    

Project Structure

|-- .tx
|   
|-- scripts
|	
`-- ui
    |-- Gruntfile.js
    |-- app
    |	|-- appointment
    |   |-- common
    |   |-- images
    |   |-- i18n
    |   |-- lib
    |   |-- styles
    |-- react-components
    |	|-- __mocks__
    |	|-- api
    |	|-- components
    |	|-- containers
    |	|-- stories
    |	|-- utils
    |	|-- bahmni-theme.css
    |	|-- constants.js
    |	|-- jest.config.js
    |	|-- variable.scss
    |-- test
    |-- bower.json
    |-- package.json

openmrs-module-appointments-frontend's People

Contributors

abishek91 avatar alekhyayalla avatar angshu avatar binduak avatar bsneha90tw avatar endeepak avatar gbhasha avatar hanisha93 avatar hemantheverest avatar iamnavaneeth avatar indraneelr avatar jaya21 avatar kravi15 avatar kunalch avatar limitless-horizon avatar mihirk avatar padmavati avatar pankajladhar avatar preethi29 avatar rohanpoddar avatar santhubairamcs avatar shireeshabongarala avatar shruthidipali avatar sidtharthanan avatar sowmika148 avatar sumanmaity112 avatar sushmitharaos avatar swathivarkala avatar vikashgupta2000 avatar vinkesh 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.