Made by the team at BigBinary.
Install the latest Node.js version. Make sure that npm is installed with it as well.
./bin/setup
Start the server by executing following command.
bundle exec rails server
Visit http://localhost:3000 and login with email [email protected]
and password welcome
.
- Uses Tailwind CSS.
rake setup
to set sensible sample data including user[email protected]
with passwordwelcome
.- Uses devise.
- Heroku ready. Push to Heroku and it will work.
- Uses Honeybadger.
- Uses slim for cleaner syntax over erb and better performance over haml.
- Uses ActiveAdmin.
- Uses Sidekiq.
- Intercepts all outgoing emails in non production environment using gem mail_interceptor.
- Uses SemaphoreCI for continuous testing.
- Uses PostgreSQL.
- Content compression via Rack::Deflater.
- Auto-formats Ruby code with rubocop.
- Auto-formats JavaScript and CSS code with prettier.
- Performs background job processing "inline" for heroku env. It means heroku can deliver emails.
- Letter opener gem for development.
- Create a new repo called
pms-web
. - Push PMS code to the new repo.
- In Heroku build and deploy application named
pms-web-staging
. - Create a new virtual credit card for this project using Brex.This step is specific to BigBinary.
- Signup for a free honeybadger.io account.
- Update
config/honeybadger.yml
with the honeybadger key - Setup Heroku Review and a team.
- Signup for Semaphore CI.
- Update semaphore CI badge in README.
- Configure Honeybadger to automatically create issues in Github.
git clone [email protected]:bigbinary/PMS.git
mv PMS pms-web
cd pms-web
Open .git/config
file.
code .git/config
Change bigbinary/PMS.git
to bigbinary/pms-web.git
and save the file.
git push origin master
- Login to heroku and click on "New" at the top right corner.
- Name of the application should be "#{reponame}-staging". In this case it would be
pms-web-staging
. - Click on "Deploy" tab and then click on "Github" tab.
- You will see a dropdown with the label "Searh for a repository to connect to". Select BigBinary in the dropdown.
- Put "pms-web-staging" in the app. Connect the app.
- Scroll to the bottom of the page and click on button "Deploy Branch".
- Wait and do not do anything until deployment is complete.
- Click on tab "Settings".
- Click on link "Reveal Config Vars".
- Change
RAILS_ENV
andRACK_ENV
tostaging
. - Install heroku cli.
- Execute command
heroku run rake populate_sample_data -a pms-web-staging
to populate sample data in the staging application. - Now you should be able to login to the deployed application.
- Click on tab "Resources".
- Click on "Change Dyno Type".
- Select "Hobby" plan.
- If you need to enable sidekiq worker then enable that also.
- Click on Personal at the top left corner.
- Click on "New pipeline" a the top right corner
- Pipeline name should be "#{reponame}-pipeline". In this case it would be
pms-web-pipeline
. - In the "Staging" column click on "Add app" and select
pms-web-staging
. - Click on "Enable Review Apps" button.
- Check "Create new review apps for new pull requests automaticallY'
- Check "Destroy stale review apps automatically". In the dropdown select "After 5 Days".
- We are not using Heroku CI so leave CI unchecked.
- Click on "Enable review apps" button.
- Click on "Configure" link.
- Click on "More settings".
- Click on button "Update URL pattern".
- Ensure that "Predictable" radio button is selected.
- In the Unique Identifier put ther reponame which in this case would be "pms-web".
- Click on "Update URL pattern"
- Click On "Personal".
- In the pull down there you will have an option to create a new team. Click on that.
- Team name should "reponame-team". In this case it would be "lexcel-web-team".
- Click on "Add credit card".
- Now click on "Transfer existing app". Select "lexcel-web-staging".
- Invite other team members to the team. Make everyone "Admin"
- Click on Person. Go to the pipeline. Go to settings. Scroll to the to bottom. Select "pms-web-team" in the "Choose a pipeline owner".
Heroku Review is enabled on this application. It means when a PR is sent then Heroku automatically deploys an application for that branch.
PMS is maintained by BigBinary. BigBinary is a software consultancy company. We build web and mobile applications using Ruby on Rails, React.js, React Native and Node.js.