Skip to content
/ rails-template Public template

A template repository for use when starting a new app with Rails. It includes dxw default project configuration and decision records.

Notifications You must be signed in to change notification settings

dxw/rails-template

Folders and files

NameName
Last commit message
Last commit date
Dec 13, 2024
Sep 27, 2024
Oct 1, 2021
Jun 26, 2024
Oct 30, 2024
Aug 23, 2024
Sep 19, 2019
Sep 27, 2024
Dec 12, 2024
Jun 26, 2024
Jun 28, 2019
Jun 28, 2019
Jun 28, 2019
Apr 21, 2021
Feb 19, 2021
Aug 19, 2020
Sep 27, 2021
Oct 30, 2020
Oct 1, 2021
Feb 14, 2025
Jun 26, 2024
Oct 30, 2020
Jun 22, 2021
Jun 28, 2019
Jun 28, 2019
Nov 9, 2024
Oct 19, 2022
Sep 27, 2024
May 12, 2021
Nov 8, 2019
Dec 12, 2024
Nov 9, 2024
Feb 14, 2025
Sep 27, 2021
Sep 19, 2019
Oct 1, 2021
Oct 31, 2024
Oct 31, 2024
Mar 29, 2022
Jul 24, 2020
Sep 27, 2024
Jan 20, 2025
May 7, 2024
Feb 14, 2025

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.

  1. Getting started

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.

About

A template repository for use when starting a new app with Rails. It includes dxw default project configuration and decision records.

Topics

Resources

Code of conduct

Stars

Watchers

Forks