Skip to content
This repository has been archived by the owner on Apr 14, 2024. It is now read-only.

owenbendavies/cms

Repository files navigation

CMS

A CMS written in ReactJS, Ruby on Rails and Terraform used for learning. It was not created with the intention of being a production system. Instead this was my practice project over the years, used for testing new ideas.

Development

  1. ./bin/setup to set up the system
  2. ./bin/test to run all tests
  3. ./bin/test spec/models/user_spec.rb to run one test or folder
  4. ./bin/quality to run code quality checks
  5. ./bin/dev to start services
  6. http://localhost:3000/ to access the site
  7. http://localhost:3000/graphiql to view GraphQL api

Deployment

Deployment is managed via GitHub actions with the following manual steps:

Heroku Addon PostgreSQL

heroku pg:backups:schedule --at '02:00 UTC'

Heroku Addon Rollbar

  1. Open Rollbar from Heroku app
  2. Go to Settings
  3. In general select a timezone
  4. In source control enable Github
  5. In project access tokens copy post_client_item token and run the following:
heroku config:set ROLLBAR_CLIENT_TOKEN=xxx

Heroku Addon Scheduler

  1. Open Heroku Scheduler from Heroku app
  2. Add new job
  3. Set command to ./bin/rails runner 'DailyJob.perform_now'
  4. Set frequency to daily

Heroku Addon Scout

  1. Open Scout from Heroku app
  2. Go to alerts and set conditions, groups and channels
  3. Go to app settings and set up Github integration