Peppr is a recipe web application, allowing users to save recipes from popular recipe sites on the web so that they can view them easily.
Our project is hosted on Heroku, but if you would like to run it locally please follow these instructions:
Requirements
PostgreSQL, Node
Installation
git clone https://github.com/fac-12/peppr.git && cd peppr && npm i
And then:
cd client && npm i
Create a config.env
file in the root directory with the following environment variables:
PEPPR_DB_URL =
[a url to a PostgreSQL Database, setup with ourdb_build.sql
]PEPPR_DB_TEST_URL =
[a url to an empty PostgreSQL Database]SECRET =
[a secret sequence of letters / numbers for signing JWT tokens]
Run a Dev Server
npm run dev
Test Scripts
npm run test
Design week was our chance to identify the core problem that we were trying solve, decide who our target audience was, and agree exactly what the minimum product would be in order to meet their needs.
We did this by:
- Answering the 5Ws and constructing a hypothesis (who, what when, where and why)
- Conducting secondary research
- Creating user personas
- Carrying out 'point-of-view' and 'how might we?' exercises
- Narrowing everything down to one user journey
- Prototyping using Figma and Invision
- Carrying out user testing & interviews
Our user persona needs to organise recipes so that they can efficiently access them
- The user needs a way to save recipes so that he/she can easily find them
- The user needs to be able to securely log in to view their saved recipes
- The user needs a way to easily store recipe information from other websites
- The user would like to be able to edit their recipes before saving them
Design week was followed by a two week build sprint.
We decided that our core functionality was to enable the user to:
- Add recipes from popular UK online recipe websites by inputting a URL
- Login and logout securely, so that they can save recipes to their own account
We broke our designs down into a component hierarchy, a really useful exercise which helped bring clarity and consistency to the project:
We created a number of 'epic' issues on GitHub, each of which linked through to smaller sub issues, so that we could track what we were working on, effectively prioritise, and relate issues back to our commits.
React | Redux | React Router DOM | Express | Node | PostgreSQL
Redux Form | Redux Thunk | Axios | Lodash | Passport | Bcrypt | PG-Promise | Cheerio
At the end of these two weeks, we carried out further user testing.
Based on our user feedback, we decided that given a second sprint, we would have redesigned our add a recipe page to create more unified design once the user has entered the app:
There are a huge amount of features that we would like to implement, but given more time, our next steps would have been:
- Filtering / sorting / search functionality
- A chrome extension allowing users to save a recipe directly from a third-party website