More-Recipes provides a platform for users to share the awesome and exciting recipe ideas they have invented or learnt, get feedback in form of reviews and votes from other users who explore that recipe.
More-Recipes is built with Javascript (ES6), ReactJs , Redux, NodeJs
Visit our website More Recipes to get started.
- User Signup and Signin
- Create/Add, modify or delete recipes
- View recipes from other users
- View popular recipes
- View details of recipes
- Post reviews on recipes
- Upvote and downvote recipes
- Bookmark recipes as favorites
- View and update user profile
- Email notifications when a recipe reviewed
- Email notifications when recipes a user favorited gets modified
- NodeJS - A Javascript runtime built on chrome V8 engine that uses an event-driven non-blocking I/O model that makes it lightweight and efficient.
- ExpressJS - A minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications.
- PostgreSQL - A powerful, open source object-relational database system.
- Sequelize - An ORM for Node.js that supports the dialects of PostgreSQL and features solid transaction support an relations.
- ReactJS - A JavaScript library for building dynamic user interfaces.
- Redux - A predictable state container for JavaScript apps. Manages states of the application
- Bootstrap V4 - A CSS framework supported by Twitter.
-
Install
node
, version 6 or greater -
Install
postgres
-
Clone the repo and cd into it
git clone https://github.com/chykehyman/More-Recipes.git cd More-Recipes
-
Install all dependencies
npm install
-
Configure Postgres
configure your database settings for development and test in `./server/config/db_url.js`
-
Run database migrations
$ npm run migrate:dev
-
Add a
.env
file in root of project and setup the following:SECRET_KEY=anyWordsOfYourChoice DATABASE_URL=elephantSqlOnlineDatabaseLink USERNAME=postgres PASSWORD=yourDatabasePassword DATABASE_DEV=yourDatabaseName HOST=127.0.0.1 DIALECT=postgres DEFAULT_IMAGE_URL=aHostDefaultImageOfYourChoice CLOUDINARY_URL=yourCloudinaryUrl CLOUDINARY_UPLOAD_PRESET=yourCloudinaryUploadPreset AUTHORIZED_EMAIL=yourGmailAccount AUTHORIZED_PASSWORD=yourGmailPassword
-
Start the app
npm start:dev
-
Open running application
http://localhost:7777/
The app uses:
Mocha/Chai
andSuper-Test
for backend testing.Enzyme
andJest
for frontend testingNightWatch
for End-2-End testing
npm test
- to run test and display code coverage for back-endnpm run test:client
- to run test for front-endnpm run start:test
thennpm run e2e
- on separate terminals, to run end-to-end test
Click Here to view our detailed API documentation
If you are interested in contributing to the development of this project , check the contributing file.
- Chinwoke Hyginus -Software Developer and Soccer Frick.
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.