AngularJS application mainly relies on controllers to control the flow of data in the application.
A controller is defined using ng-controller directive.
A controller is a JavaScript object that contains attributes/properties, and functions.
Each controller accepts $scope as a parameter, which refers to the application/module that the controller needs to handle.