-
Notifications
You must be signed in to change notification settings - Fork 27
Mac Installation Instructions
- Download and install xcode and xcode developer tools – without them, nothing works
- Install xcode from the Mac App Store: https://itunes.apple.com/us/app/xcode/id497799835?mt=12
xcode-select --install
[sudo] xcodebuild -license accept
- If needed, setup http_proxies in your bash profile (~/.profile)
export http_proxy="[proxy]"
export https_proxy="[proxy]"
export HTTP_PROXY="[proxy]"
export HTTPS_PROXY="[proxy]"
export no_proxy="localhost,127.0.0.1"
export NO_PROXY="localhost,127.0.0.1"
- Install homebrew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
For more information- http://brew.sh/
brew install openssl
- Install Yarn
brew install yarn
- Install mongodb using homebrew
-
brew tap mongodb/brew
-
brew install [email protected]
-
If you want
mongod
andmongo
command to be available from anywhere in the terminal, export mongodb path to .bash_profile as:sudo vi ~/.bash_profile //open .bash_profile export PATH="/usr/local/opt/[email protected]/bin:$PATH" //paste this in .bash_profile source ~/.bash_profile //reload .bash_profile
-
If mongodb 3.6 or newer is installed. Configure mongodb to allow more depth in BSON documents. Add the following to
/usr/local/etc/mongod.conf
setParameter: maxBSONDepth: 500
-
Follow instructions for starting mongo db on launch and immediately. Should look something like:
- To have launchd start mongodb now and on reboot:
brew services start mongodb/brew/[email protected]
- If you don't want to run mongodb on reboot but run in background:
mongod --config /usr/local/etc/mongod.conf &
- Note that you may also have the option to use:
brew services mongodb start
-
Install gpg: https://gpgtools.org
-
Install RVM: https://rvm.io/
- Install RVM stable with ruby:
\curl -sSL https://get.rvm.io | bash -s stable --ruby
- This will ask gp2 keys to import. You can generate using gptools or import one given by rvm
- To start using RVM run:
source ~/.rvm/scripts/rvm
- Bonnie uses ruby 2.7.2. To install ruby 2.7.2:
rvm install 2.7.2 rvm use 2.7.2 rvm --default 2.7.2
- If installation is failing due to an error message similar to "bash: /root/.rvm/scripts/rvm: No such file or directory" try following the top solution in this Stack Overflow page.
- Now add rvm to bash profile
sudo vi ~/.bash_profile
- Add the following to end of file
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session as a function
- Restart terminal
- Now try
rvm list
it should display 2.7.2 as your default ruby
- (Optional) install git bash-completion tools
brew install git bash-completion
- Add the following to ~/.bash_profile
if [ -f `brew --prefix`/etc/bash_completion ]; then . `brew --prefix`/etc/bash_completion fi
- Install bonnie
-
mkdir git
-
cd git
-
git clone https://github.com/projecttacoma/bonnie.git
-
cd bonnie
-
gem install eventmachine -v '1.0.7'
-
bundle install
(If this doesn’t work, dogem install bundler
) -
(Also sometimes
gem install eventmachine –v '1.0.7' -- --with-cppflags=-I/usr/local/opt/openssl/include
) -
If bundle fails on libv8, and the error looks something like:
Unable to find a compiler officially supported by v8.
There are a number of things you may have to do depending on your particular setup, but the following worked on Catalina 10.15.5:
$ brew install [email protected] $ bundle config build.libv8 --with-system-v8 $ bundle config build.therubyracer --with-v8-dir=$(brew --prefix [email protected]) $ bundle install
- Set up the bonnie_development database
bundle exec rake db:setup
mongo
-
show dbs;
shows:admin 0.000GB bonnie_development 0.000GB local 0.000GB
- Make a temp directory in ~/git/bonnie
mkdir tmp
- Open the rails shell:
bundle exec rails console
User.last
- Should not be
nil
. - If you get nil, try in various orders starting the mongo db and calling the bundle exec rake commands
- Start the web server:
bundle exec rails server
- BONNIE should be available at
http://localhost:3000
- Log in
- The package comes with one user account:
- User: [email protected]
- Password: b0nn13p455
- To make any user an admin, open the rails console (
bundle exec rails console
) and use the following:User.first.update_attributes approved: true, admin: true
- Replace User.first with any user you would like to make admin, e.g. User.where(email:/\w/).first
- NOTE that [email protected] will be set up as an admin by default.
- To run Bonnie in IntelliJ, please follow Bonnie setup guide for IntelliJ
- Pull down a few more dependencies
cd ~/git
git clone https://github.com/cqframework/cql-execution
git clone https://github.com/projecttacoma/cqm-models
git clone https://github.com/projecttacoma/cqm-execution
git clone https://github.com/projecttacoma/cqm-execution-service
git clone https://github.com/projecttacoma/cqm-parsers
git clone https://github.com/projecttacoma/cqm-reports
- If working with local copies of libraries
-
In /Gemfile, set up BONNIE to pull hqmf2js and health-data-standards from your local environment rather than git
- Comment out:
gem 'cqm-models', :git => 'https://github.com/projecttacoma/cqm-models.git', :branch => 'master'
- Uncomment:
# gem 'cqm-models', :path => '../cqm-models'
-
In package.json,
- replace
"cqm-execution": "https://github.com/projecttacoma/cqm-execution#2019-standards-update"
- with
"cqm-execution": "../cqm-execution"
-
Then re-run
bundle install
(which also callsyarn install
)
- Helpful web browser console commands
-
bonnie.mainView.getView().model.attributes
– this gets the attributes of the model of the current view, which should be super helpful for discovering data inconsistencies - In the chrome developer console (option + command + I)
- Sources tab > assets has all of the rendered items for this page (helpful to figure out how everything fits together)
- Using the Development db is great, because stuff is not minified like it is for the production db
Important Security Setup With Git Secrets (https://github.com/awslabs/git-secrets)
- Use brew to install git secrets
brew install git-secrets
- Clone this repository (see git/Github Basics below)
- Note: You may have to reinitialize these hooks each time you clone a new copy of the repo
- Follow the instructions for setting up the pre-commit hooks (from https://github.com/awslabs/git-secrets)
-
cd /path/to/bonnie git secrets --install git secrets --register-aws
-
- Done! Now each commit should be automatically scanned for accidental AWS secret leaks.
- Get the original repository
git clone %%github address%%
- Check out a new branch (mostly for creating bugfixes or new features)
git checkout -b %%some new branch name%%
- Check out an existing branch
git checkout %%some existing branch name%%
- Figure out the status of your local repository
git status
- Commit a change to your local repo
git commit -a –m “%%some commit message%%”
- Push the change to github
git push origin %%some existing branch name%%
- Go back to master
git checkout master