Arquitetura - gabrielvanderlei/SAOE GitHub Wiki

A arquitetura utilizada no projeto é baseada nos conceitos MVC (Model-View-Controller) e é de fácil alteração e implementação para outros tipos de projetos. Isso ocorre em conjunto com uma tecnologia de roteamento de URL's que permite um maior controle acerca dos dados que o usuário pode acessar. Além disso toda a comunicação com bancos de dados ocorrem utilizando uma classe para facilitar essa comunicação. Tanto o sistema de roteamento quanto a arquitetura e a classe de banco de dados podem ser utilizados separadamente em outros projetos, sem nenhum problema.

Controller

O Controller.php é o sistema principal de controle que passa por todos os outros arquivos do sistema, ele oferece métodos para avaliar a validade do login do usuário assim como funções para realizar o upload de arquivos.

View

O View.php realiza a manutenção das visualizações da aplicação. Esse arquivo verifica as configurações e renderiza a página de template especificada. Cada conjunto de páginas possui seu próprio template e em alguns casos se utiliza de variáveis do sistema de roteamento para funcionar, como na organização das áreas administrativas.

Model

A modelagem nessa arquitetura ocorre tanto no Controll.php, se utilizando de algumas de suas funções de controle e de sua globalidade - As funções do Controll.php são acessíveis em quase todos os arquivos - quanto no Model.php, que nesse caso realiza a comunicação com o sistema de banco de dados.

Configuration

O sistema possui comunicação com arquivos de configuração em JSON simples para permitir fácil alteração de determinados dados, como o nome do evento, ou acesso ao banco de dados.

Router

O roteamento de URL's é parte integrante do sistema e garante uma maior agilidade de desenvolvimento, maior controle do que o usuário pode acessar e uma maior organização acerca do funcionamento da aplicação.