TODO: Copy this file into your project and fill out all of the sections with your relevant project details.
TODO: Aim to answer these questions here:
* Why does this application exist?
* Is it an API or serve HTML or something different?
* How much traffic is it expected to get?
This project follows Ackama standard branch and environment naming
TODO: If this project cannot follow our standard naming conventions you must document why here.
Environment | URL | Hosting Platform | Git Branch | Exception monitoring URL | Logs available at |
---|---|---|---|---|---|
Staging | TODO | TODO (one of Heroku/RimuHosting/AWS) | master | TODO (E.G. RAYGUN URL) | TODO (Examples: On-disk/Heroku/AWS Cloudwatch/Papertrail/Loggly) |
Production | TODO | TODO (one of Heroku/RimuHosting/AWS) | production | TODO (E.G. RAYGUN URL) | TODO (Examples: On-disk/Heroku/AWS Cloudwatch/Papertrail/Loggly) |
TODO: Add columns to the table above if there are resources that are required for that environment e.g. a Redis, ElasticSearch etc.
TODO: If we need to assume role into their AWS account you should mention that here (don't list the role name - leave that in 1Password)
TODO: If there are any unusaual aspects to the deployment of this app you should mention them e.g.
* Uses Chef but is controlled by AWS Opsworks
* Gets
TODO: The typical log level for production environments are 'info' - if you are not using 'info' then please document why.
Environment | SSH access available |
---|---|
Staging | YES/NO |
Production | YES/NO |
TODO: Include FULL details as to how a dev can SSH into deployed
environments. Step by step instructions are helpful. This section will be
really important to somebody responding to an ops incident so do that
person (who may be you!) a favour and make the instructions very clear :-)
Browser | Supported Versions |
---|---|
Internet Explorer | 11+ |
Edge | 17+ |
Safari | Latest -2 |
Chrome | Latest -2 |
Firefox | Latest -2 |
iOS Safari | Latest -2 |
Chrome for Android | Latest -2 |
UC Browser for Android | Latest -2 |
Samsung Internet | Latest -2 |
TODO: Confirm browser requirements with client/product owner. The above are all based on current NZ wide (and largely world wide) browser usage statistics and are set as our defaults.
All credentials and the .env
file for this project are stored in Ackama
1Password vault named TODO
TODO: Ensure that all secrets in this app are stored **only** in Ackama 1Password
Resource | URL |
---|---|
Backlog URL | TODO |
CI URL | TODO |
Other resources | TODO (DELETE IF THERE AREN'T ANY) |
Role(s) | Name(s) |
---|---|
Team | TODO |
Developers | TODO |
Designer | TODO |
Tester | TODO |
Project Manager | TODO |
Product Owner | TODO |
TODO: Describe the team's chosen methods for communication (Slack, hangout, email, etc) and include any relevant details (Slack channel name).
Before running this app and its tests locally you will need:
-
PostgreSQL
-
Redis
-
Imagemagick
-
Docker
-
ElasticSearch
TODO: Add any dependencies that must be installed by a dev before they can run this app and tests
TODO: Include the step by step instructions for setting up a local environment.
TODO: An Ackama project should not take more than 5 mins for a new developer to setup
-
Clone the project:
git clone git@bitbucket.org:rabidtech/THIS_REPO.git
-
Run the setup script:
./bin/setup
-
Create
.env
file by copying data from 1Password.TODO: Document if they need to run any seeds before running the app (unless it is part of ./bin/setup)
Then run the following commands:
# Terminal #1:
bundle exec rails s
# Terminal #2:
bundle exec sidekiq
TODO: Describe how to run the project's test suite. Are there any other
tests that a new dev should know about? Cucumber? Performance tests?
Include all testing info in this section.
bundle exec rspec spec
bundle exec cucumber
npm run lighthouse-spec
bundle exec rake developer:do_stuff
TODO: Are there rake tasks new developers should know about? Document them here
TODO: Is there anything else? If anything else is needed to get it properly running, include that here.
If there is anything that might prevent a new dev from following the above steps and then running the tests successfully, make sure that it is documented.
TODO: If there is additional documentation (wiki, api-docs, etc) include the link to it here.
This application uses the lograge
gem to make Rails create a single log line
for successful requests in deployed environments.