Sapling is a HR application for mid-sized companies to automate and elevate their employee experience, with deep integrations with all the google applications your team already knows and loves.
- Ruby version 2.7.4
- Rails version 4.2.7.1
- PostgreSQL 9.5
- MongoDB v3.2 (Only for analytics data reporting)
- Installing mondoDB on local box
- Redis (
https://www.digitalocean.com/community/tutorials/how-to-install-and-use-redis) - Image Magick (
https://github.com/ImageMagick/ImageMagick)
- Add your ssh keys in your Git Profile
- Clone repo and open project folder from terminal
git clone git@github.com:sapling-hr/api-svc.git- cd
api-svc
- Run
bundle installto install all dependencies - Setup development environment (https://saplinghr.atlassian.net/wiki/spaces/TB/pages/1031241966/How+to+setup+Dev+Env)
- Update Application.yml with your postgres keys
- Add
127.0.0.1 rocketship.sapling.localhostinhostsfile - Start sidekiq
sidekiq - Setup database
- Run
RAILS_ENV=development rake db:create - Run
RAILS_ENV=development rake db:migrate - Run
RAILS_ENV=development rake db:seed
- Run
- Run server
rails s -b 0.0.0.0
- Bugsnag
- NewRelic
- Algolia
- HelloSign
- Bamboo Hr
- Namely
- Paylocity
- ADP-WFN
- Gsuite
- Lever
- Google Auth
- GreenHouse
- SmartRecruiters
- Workable
- Slack
Test cases are written using rspec and capabara. All the test cases are tested by CircleCi for every branch that is pushed to Sapling's github repository.
Anyone how want to run it localy can use following process:
- To prepare test database run this:
rake db:test:prepare
- To run all the test cases use this:
rspec
- CloudFlare
- Puma
- Nginx
- CloudClimate
- CircleCi
- Google-SSO
- One-Login
- Algolia
- Sidekiq
- Whenever
- Open ssh folder ~/.ssh
- Open id_rsa.pub file
- Copy content of public file
- Go to the project Sapling folder from terminal
- Login to the server ssh deployer@
- Open ssh folder using command cd .ssh
- Open authorized_keys file using command nano authorized_keys
- Add new key at the end of file
- Save the file and now server can be accessed using new key
cap <environment> deploy
Recommended guide for development