Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Info

Bahmni 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.

...

A good read on Bahmni Angular Code base size is here: Bahmni EMR - 1 million lines of code (Medium)


AngularJS requires the following tool tree installed on your development machine.

  • Xcode (only for mac)

  • Ruby (preferably use rvm to manage your ruby environements - read this blog)

  • Node and Node Package Manager (npm)

  • Global node modules - bower, grunt, compass

  • Project specific node modules

  • Bower project components

...

  1. Install Xcode and npm

  2. Install the following modules required globally (This is a one time task) 


    Code Block
    languagebash
    npm install -g bower
    npm install -g grunt-cli
    
    # best to do this within an rvm environment
    gem install compass 


  3. You would have to run the following commands for each Bahmni front end project. Run these commands from the ui folder under Bahmni front end project:

    Code Block
    languagebash
    # 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
    # Build the application (into dist folder) using Grunt
    grunt
    
    


  4. Run this command from Bahmni front end frontend project folder for creating a symlink into your vagrant /var/www:
     


    Code Block
    languagebash
    # links app folder
    ./scripts/vagrant-link.sh 
    # links dist folder
    ./scripts/vagrant-link.sh dist