Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds local setup instructions to README.md #45

Merged
merged 2 commits into from
Sep 17, 2018
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
174 changes: 119 additions & 55 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,131 @@
[![Build Status](https://travis-ci.com/fac-14/race-to-zero.svg?branch=master)](https://travis-ci.com/fac-14/race-to-zero) [![codecov](https://codecov.io/gh/fac-14/race-to-zero/branch/master/graph/badge.svg)](https://codecov.io/gh/fac-14/race-to-zero)

## Overview
# Race to Zero

![](https://media.giphy.com/media/ful6IbWkBsVhe/giphy.gif)

### Description
Race to Zero helps users start achieving a zero waste lifestyle. Through simple challenges and information, users can discover easy ways to begin reducing their waste and learn why, tracking their progress through a points and achievements based gaming system.

### Team Roles
[Joe](https://github.com/thejoefriel) - Scrum Master
[Emma](https://github.com/SleepySheepy172) - DevOps
[Armand](https://github.com/Armand-Lluka) - Researcher
[Simon](https://github.com/dupreesi) - QA
### The Team
[Joe](https://github.com/thejoefriel) - Scrum Master |
[Emma](https://github.com/SleepySheepy172) - DevOps |
[Armand](https://github.com/Armand-Lluka) - Researcher |
[Simon](https://github.com/dupreesi) - QA

### Tech Stack

| Core | DevTools | Testing |
| Core | Testing | Other |
| - | -------- | -------- |
|Node|Codecov|nodemon
|Express|eslint|supertest
|Handlebars|bcryptjs|nyc
|PostgreSQL|body-parser|tap-spec
|HTML|env2|tape
|CSS|express||
|Sass|express-handlebars||
||serve-favicon||
|Node|jest|bcryptjs
|Express|supertest|pg-promise
|Handlebars|eslint|body-parser
|PostgreSQL|nyc|serve-favicon
|HTML|codecov|env2|
|CSS|nodemon||
|Sass|||


## Getting Started
How to get a copy of the project up and running on your local machine.

*Please ensure you have this software **installed and running** on your local machine **before** you attempt to run this webapp.*
> **Node** (via nvm recomended)
> see: https://github.com/creationix/nvm

> **PostgreSQL**
> see: https://wiki.postgresql.org/wiki/Detailed_installation_guides

### Setup

#### 1. Clone the repo:

```
$ git clone https://github.com/fac-14/race-to-zero.git
$ cd race-to-zero
```
#### 2. Install *Dependencies* from NPM

```
$ npm i
```

#### 3. Ensure you have the Required Environment Variables

create a `.env` file in your `race-to-zero` directory.
add a line for your `DATABASE_URL` variable and one for `TEST_DB_URL`.
```sh
DATABASE_URL = postgres://simon:pw123@localhost:5432/race_zero
TEST_DB_URL = postgres://simon:pw123@localhost:5432/test_race2
dupreesi marked this conversation as resolved.
Show resolved Hide resolved
```

#### 4. Make sure the Databases are setup
create a `race-zero` and `test_race2` database in psql and alter the database owner.
```
$ psql (or pgcli)
# CREATE DATABASE race_zero;
# CREATE DATABASE test_race2;
# ALTER DATABASE race_zero OWNER TO simon;
# ALTER DATABASE test_race2 OWNER TO simon;
```
populate the `race_zero` database.
```
$ npm run build
```

#### 5. Run the Tests
to make sure everything is working as it should.
```
npm test
```

#### 5. Run the Server

```
npm run dev
```

That's it.
Now, play with it to your heart's content!


## Design

### Initial Problem

The UK is poor at recycling.

### Secondary & User Research

- People want to recycle more
- Don't really know what, how, where to recycle
- Don't see a big difference / there's confusion between recycling, reducing waste, re-using items - these all get conflated as the same issue for people
- Want to find easy ways to understand why waste matters
- Want easy ways to learn how to reduce waste
- Want a fun way to track progress to motivate them to do more
- There are lots of blogs/websites about reducing waste and zero waste living but they are often information overload

### Goals

Create a fun way for people to working towards a zero waste lifestyle

### Initial Prototype

[View initial prototype for user testing here](https://projects.invisionapp.com/share/N8NX3P536EQ)

### User testing

Tested with four users. Key findings:

- Need to re-assess how the user interacts with challenges in relation to accepting and completing them

- Wanted more ways to get a sense of 'reward' for completed challenges

- The app design was popular and felt familiar to people

- Finding the stats seemed more difficult than finding the sign out option - moving this to the avatar dropdown could be more user friendly


### User stories
## User stories

#### Unregistered User Stories
- [ ] As a unregistered user I want to be able to see a landing page so I can find out more about the zero waste challenge.
Expand Down Expand Up @@ -84,42 +185,7 @@ Race to Zero helps users start achieving a zero waste lifestyle. Through simple

- [ ] As a logged in user I want to be able to find out more information about zero-waste topics(plastics, food waste, clothing waste etc) from the dashboard, so that I can learn more about zero waste at any point.

## Design

### Initial Problem

The UK is poor at recycling.

### Secondary & User Research

- People want to recycle more
- Don't really know what, how, where to recycle
- Don't see a big difference / there's confusion between recycling, reducing waste, re-using items - these all get conflated as the same issue for people
- Want to find easy ways to understand why waste matters
- Want easy ways to learn how to reduce waste
- Want a fun way to track progress to motivate them to do more
- There are lots of blogs/websites about reducing waste and zero waste living but they are often information overload

### Goals

Create a fun way for people to working towards a zero waste lifestyle

### Initial Prototype

[View initial prototype for user testing here](https://projects.invisionapp.com/share/N8NX3P536EQ)

### User testing

Tested with four users. Key findings:

- Need to re-assess how the user interacts with challenges in relation to accepting and completing them

- Wanted more ways to get a sense of 'reward' for completed challenges

- The app design was popular and felt familiar to people

- Finding the stats seemed more difficult than finding the sign out option - moving this to the avatar dropdown could be more user friendly


## Build

### Day One
Expand All @@ -135,5 +201,3 @@ Tested with four users. Key findings:
- map out database schema

![](https://files.gitter.im/foundersandcoders/Trash-Team/A64Y/Screen-Shot-2018-09-11-at-16.08.41.png)