This app does: ????
This boilerplate comes with batteries included, you’ll find:
- Gems:
- Removes Gems that cause problems:
- Turbolinks makes your app feel slow and broken
- Spring creates an unstable development environment
- Gems for better testing:
- Factory Bot to manage test data
- Faker to provide fake values for that data
- minitest-reporters to get more useful test run output
- Gems for development:
- dotenv-rails to allow management of local UNIX environments
- foreman to run multiple processes locally
- standard for no-brainer style guide
- Gems for managing security issues:
- Brakeman
- bundler-audit
- Gems for better production behavior:
- lograge for single-line logging
- sidekiq for background jobs
- Postgres
- Gems for asset pipeline:
- propshaft
- jsbundling-rails
- cssbundling-rails
- Removes Gems that cause problems:
- Dev Workflow
bin/setup
that does a more involved setupbin/ci
runs all quality checks (tests, brakeman, bundle audit, yarn audit)bin/run
runs the app locallybin/sql
get a SQL prompt to your local databasebin/db-{migrate,rollback}
- migrate and rollback both dev and test in one commandbin/release
- Release phase script for Heroku to run migrations
- Other Things
- Removes
config/database.yml
andconfig/secrets.yml
because your app will get all configuration fromENV
- SQL-based schema management so you can use any feature of Postgres you like
- No stylesheets or helpers generated by generators since they provide a false sense of modularity that is of zero benefit.
- All
datetime
fields in migrations usestimestamp with time zone
which is the proper type in Postgres. - A test to lint all your factories
- Tailwind for frontend
- Removes
- Pull down the app from version control
- Make sure you have Postgres and Redis running
bin/setup
bin/run
bin/ci
contains all the tests and checks for the apptmp/test.log
will use the production logging format not the development one.
- All runtime configuration should be supplied in the UNIX environment
- Rails logging uses lograge.
bin/setup help
can tell you how to see this locally
- Open the script
rename.sh
- Change
NEW_NAME
&NEW_CAMEL_NAME
variables with your app name - Execute the script
sh rename.sh
- Remove the file
rename.sh
based on: https://github.com/davetron5000/rails-app-template-sustainable