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.
- Ruby (2.6.3)
- A running PostgreSQL instance
You can deploy your own instance of Maslow to Heroku, configured ready for use:
Visiting your new Maslow instance in a browser will prompt you to create the first user account.
# Installs gem dependencies, creates database tables, and creates the first
# user account
bin/setup
# Starts the Maslow server
foreman start web
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 environmentFORCE_SSL
: when present, will force all requests to use SSL.MASLOW_HOST
: the hostname on which Maslow is running, used to build URLs
EMAIL_FROM_ADDRESS
: the address which emails appear to be sent fromSMTP_HOST
: the hostname of the SMTP server used to send outbound emailsSMTP_USERNAME
: the username used to connect to the SMTP serverSMTP_PASSWORD
: the password used to connect to the SMTP serverSMTP_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 accountSENDGRID_PASSWORD
: the password for your Sendgrid account
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.
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>]