I am at a point where I must make a decision about models. I am aware that models are what you use to do all your database manipulation. But are models restricted to this?
<
To me the simple explanation is:
View This is an entity that creates a request and receives the response and visualize the interface.
Controller This is the entity that sits in between view and model. This is an entity that receives the request of View and give the response back.
Model Deals with all the rest of the works. That means processing the request, dealing with data, creating objects, calling external API, accessing db etc.
From a system if you remove controllers and views what remains is Model.
So Model is not just data model or business logic model. It may also consists of the other parts like security, validation, processing, filtering etc.