Skip to content

More Recipes is a website that provides users with functionalities like viewing, creating, editing a recipe. Users can also post a review about a recipe, and make a recipe their favorites

License

Notifications You must be signed in to change notification settings

codestaintin/More_Recipes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

140 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

More Recipes Build Status Coverage Status Maintainability Test Coverage

Application Features

More recipes is an application where a anyone can see recipes and method of preparaton of his/her favorite meal. A registered and signed in user can do any of the follwing

  • Add a new recipe
  • Modify and update his/her own recipes
  • Delete a recipe
  • Get a catalog of his/her own recipes
  • Post a review for an existing recipe
  • Make a recipe his/her own recipe a favorite
  • Create a category for his/her own recipe
  • Upvote or downvote a recipe

Users who are yet to register can only do the following

  • View a recipe
  • Register to have access to more features

Registered Users can

  • Create a Recipe
  • Edit a recipe
  • Make a recipe a favorite
  • Post a review about a recipe
  • Upvote/downvote a recipe
  • View favorite recipes

Technologies

Backend

  • NodeJS is a JavaScript runtime built on Chrome's V8 JavaScript engine
  • Express JS A minimalist web framework
  • Sequelize Sequelize is a promise-based ORM for Node.js v4 and up. It supports the dialects PostgreSQL, MySQL, SQLite and MSSQL and features solid transaction support, relations, read replication and more.
  • PostgreSQL A powerful, open source object-relational database system.
  • ESLint provides a pluggable linting utility for JavaScript.
  • Mocha Mocha is a feature-rich JavaScript test framework running on NodeJS for testing Javascript applications.

Frontend

  • Bootstrap makes styling responsive web pages faster and easier.
  • React A JavaScript library for building user interfaces.
  • Redux A predictable state container for JavaScript apps.
  • Webpack A JavaScript tool for bundling scripts, images, styles and other assets
  • Babel A JavaScript compiler for converting codes written in ES6 or JSX to ES5 that is supported by many browsers

Installation

  • Install NodeJS and PostgreSQL on your computer
  • Clone this repository
  • Navigate to the directoty
  • Install all depencies with npm install
  • Globally install sequelize-cli
  • Using sequelize db:migrate migrate the database
  • Start the server by running npm run start:dev
  • Build the application by running npm run build:dev

Testing

  • Create a test database of your choice by following the example in .env.sample file
  • Run server-side test with npm test
  • Run client-side test with npm run test:client

Limitations of the project

  • An unregistered user can not add a recipe
  • An unregistered user can not modify or delete a recipe
  • An unregistered user can not post a review about a recipe
  • An unregistered user can not favorite a recipe

API documentation link

Contribution

  • Fork the repository
  • Make your contributions
  • Write test cases for your contributions
  • Create Pull request against the develop branch.

FAQ

  • What language is used to build this application ?
    • The application (both front-end and back-end) is entirely built with javascript
  • Is this an open-source project ?
    • Yes, Is an open-source project.
  • Who can contribute ?
    • Anyone can contribute as long as you would follow the contribution guides outlined above
  • Is the application hosted online ?
  • Does the application have an API ?
    • Yes, The application has a well documented API that can be viewed via a link in the API documentation section above
  • Is the application licensed ?
    • Yes, the application and its contents is under MIT license

User template is available on

License and Copyright

© Isioye Mohammed

Licensed under the MIT License.

About

More Recipes is a website that provides users with functionalities like viewing, creating, editing a recipe. Users can also post a review about a recipe, and make a recipe their favorites

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published