More-recipesApp
This is a full stack application that enables users share exciting recipes, it also comes with other amazing features.

View Production App Here: [https://still-mesa-59950.herokuapp.com/]
- Front-end: React/Redux + Bootstrap
- Back-end: Expressjs + Sequelize
- System Dependencies: Node + Postgres
client: contains React/Redux implementationserver: contains the project API developed in Node/express + Sequelize/postgres
Access to API endpoints are restricted based on the authorization token and roles assigned to the user. This token is generated when a new user signs up, and when a returning user signs in.
For more information of how to use the API, visit the Documentation here.
Installation
- Clone the repo
https://github.com/pawnjester/More-recipesApp.git- Ensure you have installed NodeJS and Postgres
- Navigate into the app's root directory:
cd folderName- Setup PostgresSql on your local machine
- Run
$ npm install && bower installto install all dependencies- Install sequelize-cli, Run
$ npm install -g sequelize-cli(note: sudo install on ubuntu or MAC)- Create a .env file in the root directory using the sample .env.sample file
- setup your db according to settings in
server/onfig/config.json- then run
$ sequelize db:migrate- Run tests to ensure the app is not broken:
npm test:dev- For end to end testing, run
npm run start:devandnpm run e2e:testsimultaneously
How to Demo/Run the App
- To start the App in development:
npm run start:dev- To start the App in a production environment run:
npm run heroku:post-buildthennpm run start
- Signup
- Signin
- Create a recipe
- Favorite a recipe
- Delete a recipe
- Edit a recipe
- View a recipe
- Upvote a recipe
- Downvote a recipe
- Add a review to a recipe
- Delete a review to a recipe
- Search for a recipe
- Edit a user
- Delete a favorite
- View most favorited recipes
- View most upvoted recipes
- Reset password
- Change Password
- Front-end: Jest
- Back-end: Mocha/Chai, expect, supertest
The limitations with this current version of More-recipesApp includes:
- Authenticated users cannot view the profile of other users
- Authenticated users cannot disable account
This project is open for contributions. All contributions must adhere to the Airbnb styleguide.
To get started:
- Raise an Issue here
- Fork the repository
- Create your feature branch:
git checkout -b my-new-feature - Commit your changes:
git commit -am 'Added some features' - Push to the branch:
git push origin my-new-feature - Submit a PR (pull request) to the develop branch
- view Frequently Asked Questions here