# <%= titleized_name %> ## Overview TODO: Project description. * TODO: a list of * high level features * ... ### Links * [Production](TODO) * [QA](TODO) * [Issue Tracking](TODO) * [Continuous Integration](TODO) ### Table of Contents * [Overview](#overview) * [Getting Started](#getting-started) * [Configuration](#configuration) <% if 'rspec' == options[:test_framework] -%> * [Specs](#specs) <% else -%> * [Tests](#tests) <% end -%> * [Rake Tasks](#rake-tasks) * [Logging](#logging) * [Deploying](#deploying) * [Dev Notes](#dev-notes) ## Getting Started The following pre-requisites are needed to build this project: * Ruby <%= RUBY_VERSION %> * [Bundler](https://bundler.io/) After cloning this repository, the project can be setup by running the `./bin/setup` script. This script will install dependencies and perform any other required setup tasks. Once setup is complete, you can start a local development server by running the `./bin/server` script. Additionally, you can start a development console using the `./bin/console` script. The console uses the [racksh](https://github.com/sickill/racksh) gem which exposes a `$rack` variable that can be used to make simulated HTTP requests. ## Configuration Environment variables are used for project configuration. For local development, the `.env` file is used. Below is a sample `.env` file that contains the minimum required configuration. ``` RACK_ENV=development ``` Here is a table containing all available environment variable configuration options and their descriptions.
Name Required? Default Value Description
MAX_THREADS No 5 The maximum number of threads that a Puma worker process should use
PORT No 9292 Web server port
RACK_ENV No production Web server environment (i.e. development, test, production, etc.)
WEB_CONCURRENCY No 1 The number of Puma worker processes
## Development This project has the following default behavior: * helpers scripts for common project actions; refer to the `bin` folder * uses [Puma](https://github.com/puma/puma) as the default web server * [erubi](https://github.com/jeremyevans/erubi) for templating; escaping is done by default * [Rack::Csrf](http://rubygems.org/gems/rack_csrf") is turned on by default * environment variable support via the [dotenv](http://rubygems.org/gems/dotenv) gem * Procfile for [foreman](https://github.com/ddollar/foreman) support; if foreman is not installed uses rackup instead * code reloading via the [rerun](https://github.com/alexch/rerun) gem is enabled for the development environment * [pry-byebug](https://github.com/deivid-rodriguez/pry-byebug") is installed for debugging <% if 'rspec' == options[:test_framework] -%> ## Specs This project uses [RSpec](https://rspec.info/) for testing. Specs can be ran using the rake task `rake spec`. <% else -%> ## Tests This project uses [Test Unit](https://test-unit.github.io/) for testing. Tests can be ran using the rake task `rake test:all`. <% end -%> ## Rake Tasks To see a list of available tasks run the `rake -T` command. ## Logging TODO: Describe how logging is setup (i.e. files, STDOUT, services like Papertrail, DataDog, etc.). ## Deploying TODO: Describe how to deploy the project (QA, production, CI setup, etc.). Don't forget to describe how project environment variables are set for the various deployment targets. ## Dev Notes ## License Copyright (c) <%= Date.today.year %> <%= author %>