Skip to content

Document, discuss and track the performance of user needs for your team

Notifications You must be signed in to change notification settings

JordanHatch/maslow-redux

Repository files navigation

Maslow Redux

Build Status Maintainability Test Coverage

Maslow Redux lets your team document, discuss and track the performance of your users' needs.

This is a fork of Maslow, an app built by the Government Digital Service to track the user needs behind GOV.UK. You can see the GOV.UK user needs in action on the 'info' pages - eg. gov.uk/info/register-to-vote.

Dependencies

  • Ruby (2.6.3)
  • A running PostgreSQL instance

Getting started

On Heroku

You can deploy your own instance of Maslow to Heroku, configured ready for use:

Deploy to Heroku

Visiting your new Maslow instance in a browser will prompt you to create the first user account.

In development

# Installs gem dependencies, creates database tables, and creates the first
# user account
bin/setup

# Starts the Maslow server
foreman start web

Configuration

  • INSTANCE_NAME: the name to give to this instance of Maslow (eg. your team or product name).
  • DATABASE_URI: the URL to a PostgreSQL database in the production environment
  • FORCE_SSL: when present, will force all requests to use SSL.
  • MASLOW_HOST: the hostname on which Maslow is running, used to build URLs

Email

  • EMAIL_FROM_ADDRESS: the address which emails appear to be sent from
  • SMTP_HOST: the hostname of the SMTP server used to send outbound emails
  • SMTP_USERNAME: the username used to connect to the SMTP server
  • SMTP_PASSWORD: the password used to connect to the SMTP server
  • SMTP_DOMAIN: the HELO domain used when sending emails (optional)

If you are using Sendgrid and the SENDGRID_USERNAME variable is present, Maslow will use Sendgrid for emails instead.

  • SENDGRID_USERNAME: the username for your Sendgrid account
  • SENDGRID_PASSWORD: the password for your Sendgrid account

Basic authentication

In addition to the user authentication, you can protect the app with HTTP Basic Authentication by setting the USER and PASSWORD configurations appropriately in your environment.

Tasks

Importing needs from a CSV

You can import needs from a CSV with the correct headings. (See the example CSV in spec/fixtures/files/need_import.csv for a structure.)

To run the import task, run:

bin/rake import:needs[<url to csv>]

You can optionally increase the number of 'met when' criteria and need responses to import by providing extra parameters. By default, up to 5 'met when' criteria and 3 need responses are imported.

bin/rake import:needs[<url to csv>,<max responses>,<max met when criteria>]

About

Document, discuss and track the performance of user needs for your team

Resources

Stars

Watchers

Forks

Packages

No packages published