Yummy recipies API is an api built using restframework
- A user can see the available recipes
- A user can register for membership
- A user can login using his/her credentials
- A user can add, edit and delete recipes
- This application has been tested with Python 3.4 and Flask 0.11
- Make sure the above requirements are satisfied
- Navigate to the project root directory and run
pip install -r requirements.txtfrom command line. Learn more about pip if you don't have it already installed - Create a .env file in the root directory and fill it with the lines below.
- Run
python app.pyfrom command line or terminal - You should be able to see something similar to this

- Visit your browser and enter
127.0.0.1/5000 - 💥💥 You will be good to go
- You can access the documentation from here
$ python manage.py db init
$ python manage.py db migrate
$ python manage.py db upgrade
DEBUG = TrueDATABASE_URL = 'postgresql://localhost/rest_api'TEST_DB = 'postgresql://localhost/ApiTests'SQLALCHEMY_TRACK_MODIFICATIONS = FalseSECRET_KEY = '\xfd{H\xe5<\x95\xf9\xe3\x96.5\xd1\x01O<!\xd5\xa2\xa0\x9fR"\xa1\xa8'
- Make sure all the requirements are installed by running
pip install -r requirements.txt - Make sure you are in the projects root directory
- Open your terminal and run
py.test test/tests.py - Or
PYTHON_PATH=. pytest test/tests.py -r Pf --cov=. - To install nose use:
sudo pip install nose - Then just use:
nosetests --with-coverage --cover-package=recipes - You will be good to go 💥💥
- I recommend that you install Postman from here
- This will help you to test the api efficiently. click here to get started
| EndPoint | Functionality |
|---|---|
| POST /auth/login | Logs a user in and generates a unique token |
| POST /auth/register | Register a user |
| POST / | Create a new recipe |
| GET / | Get all the public recipes |
| GET /<recipe_id> | Get single recipe |
| PUT /<recipe_id> | Update a specific recipe |
| DELETE /<recipe_id> | Delete a specific recipe |
| GET /users | Get all users |
| GET /users/<user_id> | Get user by id |
| DELETE /users/<user_id> | Delete a user by id |