Skip to content

Repository files navigation

Build Status Code Climate Test Coverage Coverage Status Issue Count

More-Recipe

More-Recipe is an online recipe mannagement application, where users can upload their choiced recipe, vote, review and can save their most favorite recipe

Table of Contents

Installation and setup

  1. Download or clone this branch at https://github.com/hephzaron/more-recipe.git"
  2. Navigate to working directory and install dependencies:
npm install
  1. Create more-recipe database
createdb -U user more-recipe
  1. Install sequelize-cli, Create Postgresql database, Navigate to server directory and run migrations:
npm install -g seqeulize-cli
sequelize db:migrate
  1. Create a .env file in the root directory of the application. Use a different database for your testing and development. Example of the content of a .env file looks like this
PRIVATE_KEY=myprivatekey
TEST_DATABASE_URL=postgresql://postgres:postgres@localhost:5432/more-recipe
DEVELOPMENT_DB_NAME = name
DEVELOPMENT_DB_HOST = host
DEVELOPMENT_DB_PORT = port
DEVELOPMENT_DB_PASSWORD = password
DEVELOPMENT_DB_USERNAME = user
  1. Start the server:
npm run start:dev

The server listens on port '5000' which can be changed by setting environment variable 'PORT'

Visit http://localhost:5000/api to access the api endpoint.

Pre-requisites

Ensure the underlisted are installed on your PC before running this application

  • Latest version of Nodejs - comes with a Node Package Manager

  • Postgresql database

Installing

  1. Download or clone this branch at https://github.com/hephzaron/more-recipe.git"
  2. Navigate to working directory and install dependencies:
npm install
  1. Install sequelize-cli, Create Postgresql database, Navigate to server directory and run migrations:
npm install -g seqeulize-cli
cd server
sequelize db:migrate
  1. Create a .env file in the root directory of the application. Use a different database for your testing and development. Example of the content of a .env file looks like this
PRIVATE_KEY=myprivatekey
TEST_DATABASE_URL=postgres://127.0.0.1:5432/more-recipe-test
  1. Start the server:
npm run start:dev

The server listens on port '3000' which can be changed by setting environment variable 'PORT'

Visit http://localhost:3000/api/v1 to access the api endpoint.

Authentication

The application uses JSON web token to sign and authenticate users. A signed token expires after 24 hours.

API Documentation

Ensure Ruby is installed on your PC then run gem install bundler in your terminal

  • Install Slate dependencies by running npm slate:install
  • To deploy generated files into your application run npm run slate:build
  • To start slate run npm run slate:start

Please visit the application documentation at https://waw-recipe.herokuapp.com/docs/v1 or http://localhost:4567 to test locally

Testing

You can run three different kind of test on this application:server,client and end-to-end test.

Server test run:

npm run test
  • To get coverage result, run
npm run coveralls

Other tests will be available soon

License

This project is authored by Daramola Tobi (hephzaron@gmail.com) and is licensed for your use, modification and distribution under the MIT license. MIT © hephzaron

Author

Daramola Tobi (hephzaron@gmail.com)is an aspiring developer passionate about building real apps to enhance his learning and sharpen his programming skills, programming is what I do with my spare time

Contributing Guide

Thank you for your interest in contributing to this package. I currently accept contributions and corrections from everyone but should be according to standards To contribute,

  1. Fork the project
  2. Create a feature branch, branch away from master
  3. Write tests, using Mocha and Chai or any other testing frameworks, and code
  4. If you have multiple commits please combine them into a few logically organized commits by squashing them
  5. Push the commit(s) to your fork
  6. Submit a merge request (MR) to the master branch
  7. The MR title should describe the change you want to make
  8. The MR description should give a motive for your change and the method you used to achieve it.
  9. Mention the issue(s) your merge request solves, using the Solves #XXX or Closes #XXX syntax to auto-close the issue(s) once the merge request will be merged.
  10. Be prepared to answer questions and incorporate feedback even if requests for this arrive weeks or months after your MR submission
  11. If a discussion has been addressed, select the "Resolve discussion" button beneath it to mark it resolved.
  12. When writing commit messages please follow these guidelines.

About

A web application that allows user to create recipe, upvote, downvote, review and save any desired or favorite recipe

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages