akmamun / quart-pymngo

Asynchronous Python with Quart and Mongo DB Boilerplate

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Model Based Restful Quart and Mongo DB

Note: API Integration with React react-api-integration

Model based restful quart (python) and asynchronous mongo db. Integrate with any API development.

Create virtual environment and install requirements

pip install -r requirements.txt

Configure Database

From config.py configure datbase url, name, user and password

 {
   "db": {
            "url" : "mongodb://localhost:27017/",
            "name" :"db_name",  
            "user" :"",
            "password" :""
    }
 }

In model update collection name and desire fields name and fields type. For example see todo model file

From model folder write your individual model and configure db collection name, fields name and fields type

Example

In todo model update collection name, fields name and fields type
collection_name = 'todos'   # collection name
fields = {   
    "title"     : "string",
    "body"      : "string",
    "created"   : "datatime"
} 
Update required fields, optional fields from todo model
create_required_fields = []  # example create_required_fields = ["title", "body"]
create_optional_fields = []  # example create_required_fields = ["created"]
update_required_fields = []
update_optional_fields = []

Example

create_required_fields = ["title", "body"] 
create_optional_fields = []  
update_required_fields = ["title", "body"]
update_optional_fields = []

In Database insert, find , find_by_id, update and delete methods are generalize methods.

Those methods are call from model

  • insert method store data to database after confirm validation from model
  • find method retries all data from mongo database
  • find_by_id method retries back a single search data
  • update method store updated data to database with corresponding id
  • and delete method delete data from database with corresponding id

Lets run the App

python app.py 

About

Asynchronous Python with Quart and Mongo DB Boilerplate

License:MIT License


Languages

Language:Python 95.9%Language:Dockerfile 4.1%