Version control for recipes.
Forkful lets chefs track previous iterations of recipes by allowing them view a recipe's version history. By "forking" an existing recipe, chefs can copy and edit the list of ingredients and steps. If a recipe is missing, they can create their own and allow others to modify it. Forkful is a great way for chefs to collaborate on and improve a recipe.
See the app live at forkful.io and get started!
This app is written completely in ECMAScript 2015 (ES6).
- Client: React, Redux, React Router, SCSS
- Server: Node, Express
- Database: PostgreSQL
- Testing: Mocha, Chai, Karma, Enzyme
- Build: webpack
- Deployment: TravisCI, Heroku
- Node 5.8.0
- PostgreSQL 9.5.1
You'll need API keys for Google Plus and Filestack. Create files in server/keys/
called googleAuth.js
and filePicker.js
following the format of the example files.
Forkful uses session-based authentication, so you'll need to set cookie and session secrets in server/keys/expressSecrets.js
. An example is provided for you.
From within the root directory:
npm install -g webpack nodemon
npm install
Make sure you have PostgreSQL running and that the database has been initialized. Set up your database by running the following inside your root directory:
npm run db-setup
Then, run the development server with:
npm run dev-start
Navigate to localhost:8080
in your browser.
To run all tests:
npm test
To run only the client-side tests:
npm run test:client
To run only the server-side tests:
npm run test:server
What are we working on now? View the project roadmap here.
Make sure you have PostgreSQL running and that the database has been initialized. If the database has not been initialized, run:
npm run db-setup
Then, from within the root directory:
npm install
npm start
The app will run on the port defined in process.env.PORT
or default to port 8080.
- Product Owner: Thomas Ingalls
- Scrum Master: Nemo Baker
- Development Team: Andrew Ho, Dylan Tran
We'd love for others to contribute and make Forkful better! Please refer to CONTRIBUTING.md for contribution guidelines.
The amazing icons in this application were from The Noun Project. We used icons from these designers:
And of course, we couldn't have built this app without the wonderful recipes from Yummly and their awesome API.