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.