{"id":15610773,"url":"https://github.com/joyytoo/yummyrecipes-flaskapi","last_synced_at":"2026-01-07T23:03:08.399Z","repository":{"id":26468712,"uuid":"108294966","full_name":"JoyyToo/YummyRecipes-flaskAPI","owner":"JoyyToo","description":"A yummy recipes python flask Application that helps you keep track of your recipes.","archived":false,"fork":false,"pushed_at":"2022-12-07T23:48:45.000Z","size":144,"stargazers_count":0,"open_issues_count":8,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-04T15:48:06.151Z","etag":null,"topics":["flask","flask-restplus","flask-sqlalchemy","nosetests","postgresql","python"],"latest_commit_sha":null,"homepage":"https://yummy-recipe-flaskapi.herokuapp.com/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JoyyToo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-10-25T16:18:37.000Z","updated_at":"2018-06-17T17:32:11.000Z","dependencies_parsed_at":"2022-07-26T16:02:18.956Z","dependency_job_id":null,"html_url":"https://github.com/JoyyToo/YummyRecipes-flaskAPI","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoyyToo%2FYummyRecipes-flaskAPI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoyyToo%2FYummyRecipes-flaskAPI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoyyToo%2FYummyRecipes-flaskAPI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoyyToo%2FYummyRecipes-flaskAPI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JoyyToo","download_url":"https://codeload.github.com/JoyyToo/YummyRecipes-flaskAPI/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246200296,"owners_count":20739563,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flask","flask-restplus","flask-sqlalchemy","nosetests","postgresql","python"],"created_at":"2024-10-03T06:02:08.933Z","updated_at":"2026-01-07T23:03:03.353Z","avatar_url":"https://github.com/JoyyToo.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# YummyRecipes-flaskAPI\n[![Build Status](https://travis-ci.org/JoyyToo/YummyRecipes-flaskAPI.svg?branch=master)](https://travis-ci.org/JoyyToo/YummyRecipes-flaskAPI) [![Coverage Status](https://coveralls.io/repos/github/JoyyToo/YummyRecipes-flaskAPI/badge.svg)](https://coveralls.io/github/JoyyToo/YummyRecipes-flaskAPI) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/0d508bcb432b4ca983a56ee409e42549)](https://www.codacy.com/app/JoyyToo/YummyRecipes-flaskAPI?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=JoyyToo/YummyRecipes-flaskAPI\u0026amp;utm_campaign=Badge_Grade)\n\nA Flask RESTful API with Endpoints that enable users to:\n\n- Register, login and manage their account.\n- Create, update, view and delete a category.\n- Add, update, view or delete recipes.\n- Enable logging of data manipulation timestamps.\n\n## Example request with response\n```\nCurl\ncurl -X POST --header 'Content-Type: multipart/form-data' --header 'Accept: application/json' -F username=user1 -F password=useruser -F email=user%40mail.com  'http://127.0.0.1:5000/api/v1/auth/auth/register'\nRequest URL\nhttp://127.0.0.1:5000/api/v1/auth/auth/register\nResponse Body\n{\n  \"message\": \"You registered successfully. Please log in.\",\n  \"status\": \"success\"\n}\nResponse Code\n201\nResponse Headers\n{\n  \"date\": \"Thu, 07 Dec 2017 12:53:49 GMT\",\n  \"server\": \"Werkzeug/0.12.2 Python/2.7.12\",\n  \"content-length\": \"87\",\n  \"content-type\": \"application/json\"\n}\n```\n\n## Prerequisites\n\nPython 2.6 or a later version\n\n## Virtual environment\nCreate virtual environment:\n\n```\n$ sudo pip install virtualenv\n$ virtualenv venv\n```\n\nActivate virtual environment:\n\n```\n$ source .venv/bin/activate\n```\n\n## Dependencies\nInstall all package requirements in your python virtual environment.\n```\npip install -r requirements.txt\n```\n## Env\nRename .env.sample into .env\n\n## Testing\nTo set up unit testing environment:\n\n```\n$ pip install nose\n```\n\nTo execute a test file:\n\n```\n$ source .env\n$ nosetests\n```\n\n## Testing API\n\n*Note* After user login, ensure you  specify the generated token in the header:\n\n- In postman header **key** : `token` **value** : \u003ctoken\u003e\n- While testing on the browser, key in the `\u003ctoken\u003e` in Authorize header.\n\n## Initialize the database\nYou need to initialize database and tables by running migrations.\n\n```\npython manager.py db init\n\npython manager.py db migrate\n\npython manager.py db upgrade\n\n```\n\n## Start The Server\nStart the server which listens at port 5000 by running the following command:\n```\nsource .env\npython run.py\n```\n\n## Pagination\n\nThe API enables pagination by passing in *page* and *limit* as arguments in the request url as shown in the following example:\n\n```\nhttp://127.0.0.1:5000/category?page=1\u0026limit=10\n\n```\n\n## Searching\n\nThe API implements searching based on the name using a GET parameter *q* as shown below:\n\n```\nhttp://127.0.0.1:5000/category?q=example\n```\n\n\n### Api endpoints\n\n| url | Method|  Description| Authentication |\n| --- | --- | --- | --- |\n| /register | POST | Registers new user | FALSE\n| /login | POST | Handles POST request for /auth/login | FALSE\n| /logout | POST | Logs out a user | TRUE\n| /reset-password | POST | Reset user password | FALSE\n| /new-password/\u003ctoken\u003e| POST | Enter new password | FALSE\n| /category | GET | Get every category of logged in user|TRUE\n| /category/{category_id} | GET | Get a single category|TRUE\n| /category | POST | Create a new category|TRUE\n| /category/{category_id}  | PUT | Update a single category|TRUE\n| /category/{category_id} | DELETE | Delete a single category|TRUE\n| /category/{category_id}/recipes | POST | Creates a recipe|TRUE\n| /category/{category_id}/recipes/{_id} | GET | Gets a single recipe|TRUE\n| /category/{category_id}/recipes/{_id} | PUT | Updates a single recipe|TRUE\n| /category/{category_id}/recipes/{_id} | DELETE | Deletes a single recipe|TRUE\n\n\n### Testing and API documentation\n\nYou can test using postman\n\n[https://yummy-recipe-flaskapi.herokuapp.com/](https://yummy-recipe-flaskapi.herokuapp.com/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoyytoo%2Fyummyrecipes-flaskapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoyytoo%2Fyummyrecipes-flaskapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoyytoo%2Fyummyrecipes-flaskapi/lists"}