joshmcarthur / community-volunteer-network

A web application to help people within communities connect and help each other relating to the Covid-19 health crisis

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

community_volunteer_network

TODO: Copy this file into your project and fill out all of the sections with your relevant project details.

Purpose

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?

Operations:

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.

SSH access

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 Support

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.

Secrets

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

Project Resources:

Resource URL
Backlog URL TODO
CI URL TODO
Other resources TODO (DELETE IF THERE AREN'T ANY)

People Involved

Role(s) Name(s)
Team TODO
Developers TODO
Designer TODO
Tester TODO
Project Manager TODO
Product Owner TODO

Comms:

TODO: Describe the team's chosen methods for communication (Slack, hangout, email, etc) and include any relevant details (Slack channel name).

Developers

Dependencies

Before running this app and its tests locally you will need:

  1. PostgreSQL

  2. Redis

  3. Imagemagick

  4. Docker

  5. ElasticSearch

    TODO: Add any dependencies that must be installed by a dev before they can run this app and tests

Running the app

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
  1. Clone the project: git clone git@bitbucket.org:rabidtech/THIS_REPO.git

  2. Run the setup script: ./bin/setup

  3. 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

Running the tests

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

Rake tasks

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.

Documentation:

TODO: If there is additional documentation (wiki, api-docs, etc) include the link to it here.

Running in production

Logging

This application uses the lograge gem to make Rails create a single log line for successful requests in deployed environments.

About

A web application to help people within communities connect and help each other relating to the Covid-19 health crisis

License:GNU General Public License v3.0


Languages

Language:Ruby 67.7%Language:HTML 24.0%Language:JavaScript 3.7%Language:CSS 1.7%Language:Dockerfile 1.5%Language:Shell 1.4%