Os controllers são responsáveis por receber as requisições HTTP, processar os dados e retornar as respostas adequadas. Eles atuam como intermediários entre o modelo de dados e a visão, garantindo que a lógica de negócios seja aplicada corretamente.
Os modelos representam a estrutura dos dados. Eles são responsáveis por interagir com o banco de dados, realizando operações de criação, leitura, atualização e exclusão (CRUD) dos dados.
As querys são responsáveis por encapsular a lógica de negócios e as regras de validação dos dados. Elas garantem que as operações realizadas nos modelos estejam de acordo com as regras definidas, evitando inconsistências nos dados.