More-Recipes is an application devoted to enhacing sharing of users' experience in the area of cooking. Registered users can view recipes submitted by other users. They can like, unlike, review and favorite such recipes. In addition, registered users can submit recipes and are able to edit and delete their own recipes.
https://victor-more-recipes.herokuapp.com/
- Users can create account and log in
- Users can view recipes submitted by other users
- Authenticated uses can view details of a recipes in the catalog
- Authenticated user can edit and delete a recipe he submitted
- Authenticated user can add a recipe as his favourite
- Authenticated user can view a list of his favorite recipes
- Authenticated user can manage his profile
- Authenticated user can log out
- Authenticated user can upvote or downvote a recipe
- Authenticated user can review a recipe and see other users' reviews
- NodeJS A Javascript runtime for serverside development
- Postgres DBMS: An open-source RDBMS for storing data
- Sequelize ORM: A JavaScript-based ORM for mapping JS oject to DB tables.
- Bootsrap: A free and open-source front-end web framework for designing web applications templates.
- Express web framework: A NodeJS web application framework
- JSON Web Token: A JSON-based standard for creating access tokens.
- Bcrypt: A package for hashing password.
- React: A JavaScript library for building application user interfaces.
- Redux: An open-source JavaScript library form managing application state.
- Install NodeJS and Postgres on your local system
- Clone the application to your local system
> $ `git clone https://github.com/Victoradukwu/More-Recipes.git`
- Change the directory on your local system
> $ `cd /More-recipes`
- Install all dependencies
> $ `npm install`
- create a .env file at you app root and populate it withb the encironment variables such as:
DB_USERNAME = your database username
DB_PASSWORD = your database password
DB_DATABASE = your database name
DB_HOST = "127.0.0.1"
DB_PORT = "5432"
DB_DIALECT = "postgres"
secretKey = your secret key
jwtid = your jwt id
expiresIn = jwt expiration e.g "72h"
- Migrate the application
> $ `sequelize db:migrate`
- Start the application
> $ npm start
- To view the API documentation for this application, check https://victor-more-recipes.herokuapp.com/docs
- Create a test database and name it
Testdb
- Run Test
$ npm test
Can I have mulitiple user account? There is only one account per user email. How many recipes can I submit? There is no limit to the number of recipes you can submit How do I recover an accidentally deleted recipe? Deleting a recipe is irrversible. Be sure before you confirm delete action I am at the application landing page but no link to add recipe You have to sign in (or sign up if you are new) to be able to add recipe
- Right now, you can only have one image per recipe
- Once you register, you username and email can not be changed
- The application is only accessible via the web. No native versions yet.
- We use Airbnb for our style guide. Please adhere to it.
- Integrate
codeclimate
andcoveralls
during development. - Test your code using
npm test
script. - Keep pull requests concise, and document new functionality in PRs.
- Fork the repository
- Create a feature branch
- Open a pull request
If you notice a bug in this aplication, please report by creating an issue for feature. support requests with well-structured, detailed bug reports.