Skip to content

oduazubike/flask-restaurant-api

Repository files navigation

Flask Restaurant API

Rest API for Online Collection of Restaurants, written in Python and Flask, with a few other Flask Extensions(See Reference). Please note that as of this time this Project is still under development.


Table Of Content


Description

This API will provide regular and existing restaurants an extra platform for sales. And will especially provide users of these restaurants the ease of restaurant services anywhere and at anytime.

It is a mobile food vendor to customer services. Food vendors will place food items they have on their profile, with cost price(including delivery), customers will scan through, find what they want and place orders. Payments will be made to the platform, vendors can withdraw from their account at anytime.

A host of exciting features will be added to enhance user experiences, like displaying available food items for the day, placing special orders for food items not on the list and some others.


Documentation

See the Docs or Postman Json file for more detailed guide on how to test and use the API

To quickly test the API you can also use the Postman Json file, with all requests defined.


Installation and Setup

Note this project can only run as localhost for now, as it is still under developement.

Install Python

Python3 and Pip:

Python3.8 and above is recommended. Visit for Python installation

Install Virtualenv

For Linux & MacOS

    pip3 install virtualenv

For Windows

    pip install virtualenv

Create and Activate Virtualenv

For Linux & MacOs

    python3 -m venv <env-name>
    source <env-name>/bin/activate

For Windows

    py -m venv <env-name>
    <your-env>\Scripts\activate

Install Dependencies

Windows, Linux, MacOS

    pip install -r requirements.txt

.env configurations

Create .env file in the parent folder, and add the following;

    MAILGUN_DOMAIN=
    MAILGUN_API_KEY=
    SECRET_KEY=
    DATABASE_URI=
  • This project integrates with Mailgun for email sending services, head over to Mailgun to register and get your sandbox domain(MAILGUN_DOMAIN) with API key(MAILGUN_API_KEY)

  • Add a secure, secret key to the application(SECRET_KEY), preferrably random characters of string

  • This project works well with SQL databases, SQLite and PostgresQL. You can also use MySQL. Add your preferred database uri to the DATABASE_URI

Run application

    python app.py

Top


Features

This is a Restful API, with Flask-Resful. It completely adheres to the Rest Architecture. As of this time, this project have only following features;

- JWT Authentication
- E-mail sending with Mailgun API
- ORM with SQLAlchemy
- Secure passwords hashing, with Bcrypt
- Serialization and Deserialization of data, with Marshmallow
- Image Uploads

Top


Reference

Author Info

Top

About

E-commerce Rest API for an online collection of restaurants, built with Python and Flask

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors