williamolojede / more-recipes

A platform for users to share the awesome and exciting recipes ideas they have learnt or invented

Home Page:http://more-recipes.herokuapp.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status Coverage Status Code Climate Issue Count

more-recipes

A Full-Stack web application built for users to share their awesome and exciting recipes ideas they have learnt or have invented

Technologies


  1. Nodejs
  2. Postgresql
  3. Express
  4. Sequelize
  5. React
  6. Redux

API Documentation

The full documentation for all api end point can be found here

Functionalities


Users are grouped into two categories registered users and non registered user, functionalities for each category are listed below

Non registered Users

  • Create an account
  • Sign in as a user

Registered Users

  • View Recipes
  • Create New recipe
  • Update created recipes
  • Delete recipe created
  • Add recipes to their favorites list
  • Upvote a recipe
  • downvote a recipe
  • Review a recipe
  • Update profile

Limitations


This project has some limitations. The most notable ones are:

  1. Users can not view other user's profile or see their personal/favorite recipe list.
  2. Users can not change their password or reset it if forgotten.
  3. Users cannot deactivate their accounts
  4. Users need to obtain authentication token every 2 hours.
  5. Only authenticated users are allowed to use the app

How to Install


  1. Clone the repo and enter directory
git clone git@github.com:williamolojede/more-recipes.git && cd more-recipes
  1. Install the project's dependecies
npm install
  1. Create .env file and copy content of .env.sample to it and provide the appropriate values
cp .env.sample .env
  1. Take a look at config.json and read this to setup postgres/sequelize to create a db then run migration
npm run migrate
  1. Finally, start the server
npm run start:dev

Demo


View the web client live here

Test


This app uses the following for testing:

  • For Backend testing run npm run test:server:dev.
  • For frontend testing run npm run test:client
  • For end-to-end test run npm run test:e2e

Contributing to the project


  • Fork this repository to your github account
  • Clone the repository - git clone https://github.com/{your_username_goes_here}/dman.git
  • Create your feature branch - git checkout -b {feature, chore or bug}-short_feature_desscription
  • Commit your changes - git commit -m “{commit_message_goes_here}“ or git commit for the interactive interface
  • Push to the remote branch - git push origin {your_branch_name_as_described_above}
  • Open a pull request

FAQ


What language was used to develop this application?

This is a full stack javascript application

Who can contribute?

Anyone!

Author


William Olojede(@williamolojedewilliam.ng)

License


This is licensed for your use, modification and distribution under the MIT license.

About

A platform for users to share the awesome and exciting recipes ideas they have learnt or invented

http://more-recipes.herokuapp.com/

License:MIT License


Languages

Language:CSS 48.9%Language:JavaScript 47.8%Language:HTML 3.3%