More-Recipes provides a platform for users to share the awesome and exciting recipe ideas they have invented or learnt. Suppose a user comes up with a recipe, he/she can post it on More-Recipes and get feedback in form of reviews and votes from other users who explore that recipe. Users can also keep a list of their favorite recipes on the application.
- Application Features
- Technology Stack
- Getting Started
- Endpoints
- API Documentation
- Running the tests
- Contributing to the Project
- FAQ
- Unauthenticated users can create accounts on the application
- Unauthenticated users can login to the application to access the full features
- Authenticated users can create and post recipes
- Authenticated users can edit and delete recipes they have posted
- Authenticated users can view top recipes
- Authenticated users can view other users recipes, upvote, downvote, and post reviews
- Authenticated users can add recipes posted by other users to their favorite recipe list
- Authenticated users can create categories for their favorited recipes
- NodeJS
- Express
- Sequelize ORM
- Postgresql Relational Database
- HTML/CSS & Bootstrap4
- React JS
- Redux JS
Get the app running locally in the following way:
# Clone the Repo
git clone https://github.com/ipheghe/More-Recipes.git
# Install all dependencies
npm install
# Run Database migrations
sequelize db:migrate
# Run the application
> npm start
# Open running application
> http:localhost:8000/
The server will now be running at http://localhost:8000
Access Application API documentation through this link Here
The application uses the following libraries for testing:
- Mochai/Chai and Supertest for backend testing
- Enzyme and Jest for front end testing
- NightWatch for End-2-End testing Instructions to test the application:
- Run server-side test with
npm test
- Run client-side test with
npm run test:client
- For end to end test:
- Run
npm run e2e-server
to start up nightwatch standalone server - Run
npm run test:e2e
to run end to end test
- Run
Contributions are welcome and appreciated. To contribute
- Fork this repository here
- Open a terminal and execute the following command to make a local copy
$ git clone https://github.com/ipheghe/More-Recipes.git
- Run this code to navigate into the folder
cd more-recipes
- Make your contributions to your local copy of the project
- Run
git add
andgit commit
to commit your contributions to the project - Run
git push
to push your changes to your copy of the repository - If you feel you've made a contribution that will improve the project, raise a pull Request against the development branch.
- Be descriptive enough about your contributions so other contributors will understand what you've done
- I look forward to your pull requests!
Yes it is, and contributing to the development of this
application is by raising PRs
Anyone!. This application is open to all those who want to
contribute to open-source development and are willing to follow
set standards for contributing.
Yes, there are set conventions for PRs to this repository and can be found
in the project wiki.
This project is a full stack Javascript application
Yes!. This application is licensed under MIT, and is open for
whatever you may choose to use it for.
Ovie Ipheghe, Andela Fellowship
This project is available for use and modification under the MIT License. See the LICENSE file for more details.