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.
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.
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.
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 virtualenvFor Windows
pip install virtualenvCreate and Activate Virtualenv
For Linux & MacOs
python3 -m venv <env-name>
source <env-name>/bin/activateFor Windows
py -m venv <env-name>
<your-env>\Scripts\activateInstall 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.pyThis 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
- Rest API developer, Web developer in Python and Flask
- Email: oduazubike@gmail.com
- Twitter @Azubuikemadu