BreakFastApi 🍣 🍔 🍕 The most delicious API on the web

Overview

BreakFastApi 🍣 🍔 🍕

Breakfastapi

The most delicious API on the web. Just send a request and you'll receive the most mouth watering dish recipe with estimated cooking time and all the necessary ingredients and instructions.

Problem:

Humans are only capable of remembering a limited number of food recipes.

Solution:

Break Fast Api solves this problem by memorizing more than 12.000 recipes and making them available at will. The delicious meals are now only one GET request away from you.


Check it out!

BreakFastApi

How does it work?


Sample request:

import requests
r = requests.get(url='https://breakfastapi.fun/')
data = r.json()

Sample response:

{
    'ID':11574,
    'Recipe Name': 'Devils Steak Sauce Recipe',
    'Cook Time (minutes)': 15,
    'Ingredients': ['brown sugar',
                    'tomato sauce',
                    'raspberry',
                    'worcestershire sauce',
                    'hot pepper',
                    'black pepper',
                    'vinegar'
                    ],
    'Directions': 'In a saucepan over high heat, 
                   blend raspberry jam, brown sugar, 
                   Worcestershire sauce, tomato sauce, 
                   malt vinegar, hot pepper sauce, salt, 
                   and pepper. Bring to a boil over high heat, 
                   reduce heat to low, and simmer 10 minutes,
                   or until thickened.'
}

Bon Appétit! │ Hyvää Ruokahalua! 😋

Comments
  • add recipes endpoint to get multiple recipes

    add recipes endpoint to get multiple recipes

    Hi! I gave it a shot to create a endpoint to offer more flexible response.

    Changes:

    • Add /recipes/ endpoint to get multiple recipes.
    • Query parameter (limit, offset) allows to vary how many recipes to be returned and skip rows in DB.

    Sample request:

    import requests
    r = requests.get("http://localhost:8000/recipes/?limit=2&offset=5")
    data = r.json()
    

    Sample response:

    {
        "status": 200,
        "results": [
            {
                "id": 14,
                "name": "Pumpernickel Bread II Recipe",
                "total_duration": 60,
                "ingredients": [
                    "brown sugar",
                    "cocoa powder",
                    "salt",
                    "cornmeal",
                    "milk",
                    "flour",
                    "molasses",
                    "bread",
                    "yeast",
                    "vegetable oil"
                ],
                "directions": "Mix well bread flour, rye flour, cornmeal, salt, yeast, cocoa, and brown sugar. Add milk, oil, and molasses. Mix thoroughly. When mixed well enough that the dough holds together, knead by hand 15-20 minutes.Cover, let rise in bowl 30 minutes. Punch down, form, and place into 9 1/2x5 inch pan. Cover with damp cloth and let rise about 1 hour.Bake in preheated 375 degree F (190 degrees C) oven 25 to 30 minutes, covering top with aluminum foil last 10 minutes."
            },
            {
                "id": 18,
                "name": "Light Oat Bread Recipe",
                "total_duration": 180,
                "ingredients": [
                    "brown sugar",
                    "water",
                    "salt",
                    "flour",
                    "margarine",
                    "oat",
                    "yeast"
                ],
                "directions": "Add ingredients to bread machine pan in order recommended by your manufacturer. Use regular light setting."
            }
        ]
    }
    
    opened by nakyamurya 3
  • add how to run in local to readme

    add how to run in local to readme

    Hi there!

    I came across this repository when I was looking for OSS I can contribute. While I l am playing with the app, I realized it would be helpful for new coder like me if there is how to run locally in README.md.

    I am quite new to Github. Please feel free to suggest me if there is any area does not make sense!

    opened by nakyamurya 2
  • Refactor and added more features

    Refactor and added more features

    Updates:

    README: Add markdown syntax highlighting to README. Update response example in README.

    RESPONSE: Normalize titles to remove extra quotes and trailing spaces. Return ingredients as list rather than string representation of a list to make it easier to manipulate. See #5 Return status code in JSON response now. Update JSON response key names to lowercase and changed "Cook Time (Minutes)" to "total_duration" for simpler manipulation. Add pydantic models for FastAPI openapi docs and response.

    FEATURES: Path param to fetch recipe by id.

    DATABASE: Rename "Unnamed: 0" column in sqlite database to id for easier querying.

    opened by obtusedev 2
  • List is a string

    List is a string

    Hey there, awesome API, I read about it on reddit and came here, When I use the Ingredients get method to fetch ingredients, it returns it as a string

    Would be awesome if you parsed it as a list, I had to use regex to solve the problem, thanks!

    opened by therealcyber71 1
  • More creativity

    More creativity

    Well done. I am looking forward that you will add more recipes. If you turn it on to an flask application (website using flask python library) it will be supercool. If any user comes to your website, you show the list of recipes from your api and they can select the recipe and you show all other things by fetching from your api. Well done

    opened by CapedDemon 1
  • activate auto reload

    activate auto reload

    Hi there! I would think that reloading could yield more comfortable development experience for coders. Please let me know if you have any comment on this!

    opened by nakyamurya 0
  • Update README.md

    Update README.md

    Fixed the problem with json rendering in readme. JSON syntax does not allow multiline strings with line-breaks. Github was highlighting this as an issue. Solved by trimming the response string.

    opened by Geometrein 0
  • remove duplicate rows from items table in recipes.db

    remove duplicate rows from items table in recipes.db

    • noticed each entry in items is duplicated 8X ( original entry + 8 copies)
    • removed 11977 duplicate entries in items table from recipes.db
    • final row count for items table is 1487
    opened by fitsum 1
  • DB unnecessary ordering

    DB unnecessary ordering

    Hi, I've noticed this SQL SELECT * FROM items ORDER BY RANDOM() LIMIT 1 in your database.

    What it does, as far as I know, is it orders WHOLE database in some random way, then selects first element. This is really slow way of fetching one random row.

    Faster way of doing this is generating random number (between 0 and table size) and then doing something like SELECT * FROM items WHERE ID = <generated number>". (It seems you don't have ID column, but column Unnamed: 0 looks like ID-like column, so making it primary key is a good idea)

    opened by Kulda22 1
Owner
Mariia Sizova
Fascinated with Mathematics and Space
Mariia Sizova
The Web API toolkit. 🛠

?? The Web API toolkit. ?? Community: https://discuss.apistar.org ?? ?? ?? ?? ?? Documentation: https://docs.apistar.com ?? Requirements: Python 3.6+

Encode 5.6k Dec 27, 2022
Browsable web APIs for Flask.

Flask API Browsable web APIs for Flask. Status: This project is in maintenance mode. The original author (Tom Christie) has shifted his focus to API S

Flask API 1.3k Dec 27, 2022
Async Python 3.6+ web server/framework | Build fast. Run fast.

Sanic | Build fast. Run fast. Build Docs Package Support Stats Sanic is a Python 3.6+ web server and web framework that's written to go fast. It allow

Sanic Community Organization 16.7k Dec 28, 2022
Web APIs for Django. 🎸

Django REST framework Awesome web-browsable Web APIs. Full documentation for the project is available at https://www.django-rest-framework.org/. Fundi

Encode 24.7k Jan 4, 2023
A JSON Web Token authentication plugin for the Django REST Framework.

Simple JWT Abstract Simple JWT is a JSON Web Token authentication plugin for the Django REST Framework. For full documentation, visit django-rest-fram

Jazzband 3.3k Jan 4, 2023
Django Ninja is a web framework for building APIs with Django and Python 3.6+ type hints.

?? Fast, Async-ready, Openapi, type hints based framework for building APIs

Vitaliy Kucheryaviy 3.8k Jan 4, 2023
Document Web APIs made with Django Rest Framework

DRF Docs Document Web APIs made with Django Rest Framework. View Demo Contributors Wanted: Do you like this project? Using it? Let's make it better! S

Manos Konstantinidis 626 Nov 20, 2022
a web-remote minecraft server wrapper with some unique features

Canceled here, continued as Semoxy MCWeb - a Minecraft Server Web Interface MCWeb is a web-remote Minecraft Server Wrapper for controlling your Minecr

Anton Vogelsang 1 Jul 12, 2021
REST API framework designed for human beings

Eve Eve is an open source Python REST API framework designed for human beings. It allows to effortlessly build and deploy highly customizable, fully f

eve 6.6k Jan 4, 2023
Automatically generate a RESTful API service for your legacy database. No code required!

sandman2 sandman2 documentation [ ~ Dependencies scanned by PyUp.io ~ ] sandman2 automagically generates a RESTful API service from your existing data

Jeff Knupp 1.9k Jan 7, 2023
Restful API framework wrapped around MongoEngine

Flask-MongoRest A Restful API framework wrapped around MongoEngine. Setup from flask import Flask from flask_mongoengine import MongoEngine from flask

Close 525 Jan 1, 2023
Kong API Manager with Prometheus And Splunk

API Manager Stack Run Kong Server + Konga + Prometheus + Grafana + API & DDBB + Splunk Clone the proyect and run docker-compose up

Santiago Fernandez 82 Nov 26, 2022
Django REST API with React BoilerPlate

This is a setup of Authentication and Registration Integrated with React.js inside the Django Templates for web apps

Faisal Nazik 91 Dec 30, 2022
Estudo e desenvolvimento de uma API REST

Estudo e desenvolvimento de uma API REST ??‍?? Tecnologias Esse projeto utilizará as seguintes tecnologias: Git Python Flask DBeaver Vscode SQLite ??

Deusimar 7 May 30, 2022
Example Starlette REST API application

The idea of this project is to show how Starlette, Marshmallow, and SQLAlchemy can be combined to create a RESTful HTTP API application that is modular, lightweight, and capable of dealing with many simultaneous requests.

Robert Wikman 0 Jan 7, 2022
RESTler is the first stateful REST API fuzzing tool for automatically testing cloud services through their REST APIs and finding security and reliability bugs in these services.

RESTler is the first stateful REST API fuzzing tool for automatically testing cloud services through their REST APIs and finding security and reliability bugs in these services.

Microsoft 1.8k Jan 4, 2023
JSON:API support for Django REST framework

JSON:API and Django REST framework Overview JSON:API support for Django REST framework Documentation: https://django-rest-framework-json-api.readthedo

null 1k Dec 27, 2022
Django-rest-auth provides a set of REST API endpoints for Authentication and Registration

This app makes it extremely easy to build Django powered SPA's (Single Page App) or Mobile apps exposing all registration and authentication related functionality as CBV's (Class Base View) and REST (JSON)

Tivix 2.4k Dec 29, 2022