O projeto tem como o objetivo mudar uma forma defasada e extremamente suscetível a falhas de uma empresa de transporte executivo opera no mercado, transformando a maneira como a empresa se comunica com o cliente e seus motoristas. Atualmente a empresa é totalmente dependente do registro manual dos dados que obtêm das corridas como destino, dados do cliente e do motorista que realizar a corrida, com isso os dados que são passados para o Excel precisão constantemente de revisões e alterações, pois é quase inevitável que no meio dessa transição de um lugar para o outro algum dado não se perca. Tendo em mente todas as dificuldades da forma como a empresa faz sua comunicação e armazenamento dos dados, surgiu a ideia de construir um sistema web que abrange de forma simples e direta todas as etapas do serviço de transporte executivo. A ideia é que de maneira simples e rápida o cliente possa fazer a requisição da corrida e ao mesmo tempo todos os dados de pagamento, cliente, destino e motorista possam ser armazenados e posteriormente enviados a um relatório pela empresa de transporte executivo sem precisar passar pelas mãos de vários funcionários e principalmente sem correr o risco de erros.
Model-view-controller (MVC), em português modelo, visão é controle, é um padrão de arquitetura de software (design patterns) que separa a representação da informação da interação do usuário com ele. O modelo(model) consiste nos dados da aplicação, regras de negócios, lógica e funções. Uma visão (view) pode ser qualquer saída de representação dos dados, como uma tabela ou um diagrama. É possível ter várias visões do mesmo dado, como um gráfico de barras para gerenciamento e uma visão tabular para contadores. O controlador (controller) faz a mediação da entrada, convertendo-a em comandos para o modelo ou visão. As ideias centrais por trás do MVC são a resuabilidade de codigo é separação de conceitos.
O padrão MVC foi descrito pela primeira vez em 1979 por Trygve mikkjel heyerdal Reenskaug, trabalhava na linguagem Smalltalk, na Xerox PARC. A implementação original é descrita em profundidade no artigo de Steve Burbeck, Ph.D. com o título: “Applications Programming in Smalltalk-80
controlador envia comandos para o modelo para atualizar o seu estado por exemplo, editando um documento). O controlador também pode enviar comandos para a visão associada para alterar a apresentação da visão do modelo (por exemplo, percorrendo um documento).
modelo armazena dados e notifica suas visões e controladores associados quando há uma mudança em seu estado. Estas notificações permitem que as visões produzam saídas atualizadas e que os controladores alterem o conjunto de comandos