Stackholders do Sistema

O Sistema de Reserva de Salas e Equipamentos é o sistema da Universidade Federal de Ouro Preto do campus João Monlevade usado por professores e corpo administrativo para realizar a alocação dos recursos existentes de acordo com as datas e horários disponíveis.
O novo sistema foi refeito pelo bolsista João Pedro Santos de Moura devido a necessidade de se atualizar tanto a interface com o usuário quanto as ferramentas que davam suporte ao funcionamento do sistema. Um dos objetivos do sistema era atualizar as ferramentas sem comprometer a estrutura já existente do banco de dados, que contém todo o histórico de alocação

Mudanças na Versão 2.3

  • Refatoração de modelos e controllers;
  • Adição de validação de formulários no back-end;
  • Otimização da estrutura do banco de dados;
  • Atualização da biblioteca Chart.js para geração de gráficos;
  • Adicionada obrigatoriedade do uso de HTTPS;
  • Atualização da LDAPI para comunicação em HTTPS com certificados auto-assindados;
  • Correção de bugs.

Mudanças na Versão 2.2

  • Refatoração massiva de toda a estrutura do back-end;
  • Mudança no sistema de autenticação, usando a autenticação nativa do framework aliada com a API de autenticação LDAPI. Agora também é possível o usuários optar por ser lembrado e assim o login é renovado automaticamente;
  • Adicionado compactação, mesclagem e otimização dos arquivos CSS e JavaScript;
  • Melhoria no sistema de Log, agora registrando informações mais estruturadas e sendo feito através de eventos;
  • Alteração em todo sistema de rotas, usando grupos e middlewares;
  • Migração para o uso de modelos ao invés de execução de queries, atingindo assim o padrão MVC;
  • Mudança na organização dos arquivos das Views para um padrão semelhante de outros frameworks.

Mudanças na Versão 2.1.1

  • Adicionada restrição de alocações para usuários ordinários. Agora somente administradores podem alocar mais de um recurso no mesmo horário e dia;
  • Alterada o local onde o sistema é servido;
  • Correção dos caminhos dos arquivos CSS e Javascript;
  • Correção de erro de usuário tentar executar qualquer ação com token de sessão expirado.

Mudanças na Versão 2.1

  • Adicionado método de login usando dados do Minha UFOP;
  • Adicionado suporte para login via Meu ICEA automaticamente, usando a mesma sessão;
  • Criptografia dos arquivos de sessões e alterado o tempo de vida para 30 minutos (eram 120);
  • Adicionado mais um tipo de usuário: Usuário Especial. Necessário caso o novo usuário não pertença a nenhum grupo do campus;
  • Adicionado persistência local de dados do usuário após o primeiro login;
  • Adicionado possiblidade de qualquer usuário reportar um bug no sistema;
  • Correção de bugs;
  • Retirada de arquivos desnecessários para funcionamento do sistema;
  • Adicionada opção ao administradores para visualizar as reservas de um recurso em um determinado dia;
  • Adicionado uma pré-visualização dos dados no momento do cadastro para confirmação.

Mudanças na Versão 2.0.1

  • Possibilidade de mundaça de senha do usuário;
  • Horários agora estão definidos e não são mais uma referência genérica de ordem;
  • Página de visualização do quadro de alocação agora possui um botão de voltar;
  • Os quadros de turnos agora podem ser expandidos e minizados clicando também sobre o nome do turno.

Principais novidades na versão 2.0

  • Remodelamento da interface com o usuário, com o objetivo de facilitar o processo de alocação, tornando-o mais intuitivo;
  • Uso do conceito de reponsividade na interface, sendo que a mesma se adapta os dispositivo do usuário sem comprometer sua usabilidade;
  • Atualização do PHP para a versão 7.0, aumentando a velocidade de execução do sistema;
  • Uso do framework Laravel, um dos frameworks mais famosos no período em que o sistema foi desenvolvido
  • Uso da arquitetura MVC para desenvolvimento, com o objetivo de facilitar a manutenção e atualização;
  • Utilização do padrão mais recente do HTML de acordo com o W3C.

A Fazer

  • Alterar o motor de login para utilizar um login único com base no sistema Minha UFOP;
  • Adicionar configurações do servidor LDAP em uma tabela do banco de dados para evitar expor os dados no código-fonte;
  • Adicionar uma tabela de horários com a finalidade de fixar os slots de cada horário;
  • Utilizar o eloquent para evitar uso de intensivo da classe DB;
  • Capturar exceções de erro de conexão com o banco de dados;
  • Otimizar carregamento de objetos javascript e CSS usando SASS ou LESS;
  • Otimizar as tabelas do banco de dados;
  • Criar atalho para reservas "favoritas" (Laboratório, dia da semana e horários);
  • Criar testes automatizados;
  • Tratar erro de mesclagem de arquivos CSS do Bootstrap e Font Awesome;
  • Tratar para que caso altere o horário de início de cada turno para que o último horário do turno não sobreponha o início do próximo turno.