Bahmni Connect front end is completely based off AngularJS. It doesn't have any server component to it. Instead, it calls the REST API of OpenMRS/Bahmni. |
AngularJS requires the following tool tree installed on your development machine.
Xcode (only for mac)
Ruby
Node and Node Package Manager (npm)
Global node modules - bower, grunt, compass
Project specific node modules
Bower project components
Use following instructions (the exact mechanism for doing step 1 would depend on the OS you are using, we have mentioned for mac).
Install the following modules required globally (This is a one time task)
npm install -g bower npm install -g grunt-cli gem install compass |
You would have to run the following commands for Bahmni Connect front end project. Run these commands from the ui folder under Bahmni Connect front end project
# Install node dependencies (Installed into node_modules). npm install # Set up UI component/dependencies (This installs all the UI dependencies into app/components) bower install |
Run this command from Bahmni connect front end project folder for creating a symlink into your vagrant /var/www:
# links dist folder ./scripts/vagrant-link.sh |
Chrome App (PWA):
PWA only works for secure connection. That means, you need https connection to use PWA. Also, Google Chrome is the only recomended browser to use PWA. |
To bundle PWA, run the following commands from ui folder under Bahmni Connect front end project
# To genearte css files grunt compass # To minify and bundle PWA related source code grunt chrome # To generate service workers files grunt generate-sw |
To run only tests related to PWA run the following command
grunt karma:chrome |
Android App:
To bundle Android app, run the following commands from ui folder under Bahmni Connect front end project
# To genearte css files grunt compass # To minify and bundle android app related source code grunt android |
Run the following command from bahmni-offline/android to install the android app on the device (The device should be connected to the system).
ionic run android |
To run only front end tests related to android run the following command
grunt karma:android |