A controller is a JavaScript Object, created by a standard JavaScript object constructor. In the Aura Framework, the JavaScript controller is client-side.

The aura framework normally Contains client-side controller methods to handle events in the component.

All resources in the component bundle follow the naming convention and are auto-wired. For example, a controller Controller.js is auto-wired to its component, which means that you can use the controller within the scope of that component.

Aura Framework documentation (Lightning)