mvc-flask-pymongo
                                
                                 mvc-flask-pymongo copied to clipboard
                                
                                    mvc-flask-pymongo copied to clipboard
                            
                            
                            
                        Model-Based Python and Mongo DB Web Restful Service
Model Based Validator design for Flask (Python) and Mongo DB
Model based custom validation for flask (python). Use Flask server and mongo db. Integrate with any SPA API development.
   
Create virtual environment and install requirements
pip install -r requirements.txt
Configure Database
From db_config.json 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
- insertmethod store data to database after confirm validation from model
- findmethod retries all data from mongo database
- find_by_idmethod retries back a single search data
- updatemethod store updated data to database with corresponding id
- and deletemethod delete data from database with corresponding id
List of Todo Routes
| Request | Endpoint | Details | 
|---|---|---|
| GET | http://127.0.0.1:5000/todos | Get All | 
| GET | http://127.0.0.1:5000/todos/todo_id | Get Single Id | 
| POST | http://127.0.0.1:5000/todos | Insert One | 
| PUT | http://127.0.0.1:5000/todos/todo_id | Update One | 
| DELETE | http://127.0.0.1:5000/todos/todo_id | Delete One | 
- To see route list type cli flask routes
Lets run the App
python app.py