This is a template repository for a Ruby on Rails application.
See navapbc/platform
for other template repos.
- U.S. Web Design System (USWDS) for themeable styling and a set of common components
- Custom USWDS form builder
- Integration with AWS services, including:
- Database integration with AWS RDS Postgresql using UUIDs
- Active Storage configuration with AWS S3
- Action Mailer configuration with AWS SES
- Authentication with devise and AWS Cognito
- Internationalization (i18n)
- Authorization using pundit
- Linting and code formatting using rubocop
- Testing using rspec
.
├── template # The template (the things that get installed/updated)
│ ├── .github # GitHub workflows
│ ├── docs # Project docs and decision records
│ └── {{app_name}} # Application code
└── template-only-docs # Template repo docs
To get started using the template application on your project, for an
application to be called <APP_NAME>
:
- Install the nava-platform tool.
- Install template by running in your project's root:
nava-platform app install --template-uri https://github.com/navapbc/template-application-rails . <APP_NAME>
- Follow the steps in
<APP_NAME>/README.md
to set up the application locally. - Optional, if using the Platform infrastructure template: Follow the steps in the
template-infra
README to set up the various pieces of your infrastructure.
If you have previously installed this template and would like to update your project to use a newer version of this template:
- Install the nava-platform tool.
- Update app template by running in your project's root:
nava-platform app update . <APP_NAME>