Skip to content
This repository has been archived by the owner on Dec 9, 2021. It is now read-only.

dragon-dxw/monorail

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Using this template

  1. Search for TODO across the repository to customise the template to the new project
  2. Find and replace rails-template across the repository
  3. Be aware of dxw RFCs, especially those that have not resulted in a default code change in this repository:

Maintaining the template

We want to keep the template as current as we can, where possible minor and patch dependency updates should be merged without seeking approval from three members of the development team, however they must still be reviewed and the tests must pass before merging.

Use best judgement for major updates, if in doubt, look for those three approvals.

Developers with the correct permissions can override the three approvals merging restriction per dependency.

Any other changes must be discussed in the open and receive the three approvals as is usual.

TODO: Remove this section from the README once complete


Rails Template

TODO: replace README header with project name

TODO: Add a summary of who the application is for and what it will do.

Getting started

Run the setup script:

script/setup

Run the tests:

script/test

Start the server:

script/server

Start a console:

script/console

Static code analysis

Run Brakeman to highlight any security vulnerabilities:

brakeman

To pipe the results to a file:

brakeman -o report.text

Making changes

When making a change, update the changelog using the Keep a Changelog 1.0.0 format. Pull requests should not be merged before any relevant updates are made.

Releasing changes

When making a new release, update the changelog in the release pull request.

Architecture decision records

We use ADRs to document architectural decisions that we make. They can be found in doc/architecture/decisions and contributed to with the adr-tools.

Managing environment variables

We use Dotenv to manage our environment variables locally.

The repository will include safe defaults for development in /.env.example and for test in /.env.test. We use 'example' instead of 'development' (from the Dotenv docs) to be consistent with current dxw conventions and to make it more explicit that these values are not to be committed.

To manage sensitive environment variables:

  1. Add the new key and safe default value to the /.env.example file eg. ROLLBAR_TOKEN=ROLLBAR_TOKEN
  2. Add the new key and real value to your local /.env.development.local file, which should never be checked into Git. This file will look something like ROLLBAR_TOKEN=123456789

Access

TODO: Where can people find the service and the different environments?

Source

This repository was bootstrapped from dxw's rails-template.