sire

所属分类:后台框架
开发工具:HTML
文件大小:1432KB
下载次数:0
上传日期:2022-10-25 17:17:29
上 传 者sh-1993
说明:  Sistema de Reserva de Salas e Equipamentos(SiRe)do Instituto de Ciéncias Exatas e Aplicadas(ICEA)Jo o Monl校区...
(Sistema de Reserva de Salas e Equipamentos (SiRe) do Instituto de Ciências Exatas e Aplicadas (ICEA) Campus Jo?o Monlevade da Universidade Federal de Ouro Preto (UFOP))

文件列表:
sire-generico (0, 2022-10-26)
sire-generico\.env.example (456, 2022-10-26)
sire-generico\.htaccess (740, 2022-10-26)
sire-generico\LICENSE (35147, 2022-10-26)
sire-generico\app (0, 2022-10-26)
sire-generico\app\Bug.php (368, 2022-10-26)
sire-generico\app\Console (0, 2022-10-26)
sire-generico\app\Console\Commands (0, 2022-10-26)
sire-generico\app\Console\Commands\Inspire.php (602, 2022-10-26)
sire-generico\app\Console\Kernel.php (641, 2022-10-26)
sire-generico\app\Events (0, 2022-10-26)
sire-generico\app\Events\Event.php (62, 2022-10-26)
sire-generico\app\Events\LoginErrorEvent.php (570, 2022-10-26)
sire-generico\app\Events\LoginFailed.php (584, 2022-10-26)
sire-generico\app\Events\NewUserCreated.php (584, 2022-10-26)
sire-generico\app\Events\UserDeleted.php (581, 2022-10-26)
sire-generico\app\Exceptions (0, 2022-10-26)
sire-generico\app\Exceptions\Handler.php (1401, 2022-10-26)
sire-generico\app\FabricanteSoftware.php (282, 2022-10-26)
sire-generico\app\Http (0, 2022-10-26)
sire-generico\app\Http\Controllers (0, 2022-10-26)
sire-generico\app\Http\Controllers\Auth (0, 2022-10-26)
sire-generico\app\Http\Controllers\Auth\AuthController.php (1651, 2022-10-26)
sire-generico\app\Http\Controllers\Auth\PasswordController.php (830, 2022-10-26)
sire-generico\app\Http\Controllers\BugController.php (2169, 2022-10-26)
sire-generico\app\Http\Controllers\Controller.php (441, 2022-10-26)
sire-generico\app\Http\Controllers\DashboardController.php (10199, 2022-10-26)
sire-generico\app\Http\Controllers\FabricanteSoftwareController.php (3090, 2022-10-26)
sire-generico\app\Http\Controllers\RecursoController.php (4262, 2022-10-26)
sire-generico\app\Http\Controllers\RegraController.php (1185, 2022-10-26)
sire-generico\app\Http\Controllers\ReservaController.php (9375, 2022-10-26)
sire-generico\app\Http\Controllers\SoftwareController.php (3815, 2022-10-26)
sire-generico\app\Http\Controllers\TipoRecursoController.php (3341, 2022-10-26)
sire-generico\app\Http\Controllers\UsuarioController.php (4160, 2022-10-26)
sire-generico\app\Http\Kernel.php (1537, 2022-10-26)
sire-generico\app\Http\Middleware (0, 2022-10-26)
sire-generico\app\Http\Middleware\Authenticate.php (676, 2022-10-26)
sire-generico\app\Http\Middleware\EncryptCookies.php (300, 2022-10-26)
... ...

# SiRe - Sistema de Reserva de Salas e Equipamentos

Imagens do sistema

O [Sistema de Reserva de Salas e Equipamentos (SiRe)](http://200.239.152.5/reserva/public) e o sistema usado pelos corpos academico e administrativo presentes no [Instituto de Ciencias Exatas e Aplicadas (campus Joao Monlevade)](http://www.icea.ufop.br) da [Universidade Federal de Ouro Preto](http://ufop.br). Essa e a segunda versao do sistema, que foi ao ar no dia 09/06/2016. A primeira versao foi ao ar em meados de fevereiro de 2012. Dentre as motivacoes para tal atualizacao, estao: * Atualizacao da logica de processamento para a ultima versao do PHP (7.0); * Atualizacao da interface com usuario, usando os conceitos de responsividade, onde a mesma se adapta de acordo com o espaco de tela disponivel; * Correcao de bugs da versao anterior; * Uso da arquitetura MVC para desenvolvimento, com o objetivo de facilitar a manutencao e atualizacao; * Utilizacao do padrao mais recente do HTML (HTML5) de acordo com o W3C; O sistema foi desenvolvido usando a versao 5.2 do *framework* [Laravel](https://laravel.com/docs/5.2) para aplicacoes web, um dos mais usados no mercado durante o periodo de desenvolvimento. Uma restricao do desenvolvimento foi a necessidade de usar o banco de dados original da primeira versao, o que limitou alguns pontos no desenvolvimento da interface com o usuario. ## Indice 1. [Versao de Uso Geral](#versao-de-uso-geral) 2. [Funcionamento](#funcionamento) 3. [Versoes de Teste](#versoes-de-teste) 4. [Instalacao](#instalacao) 5. [Changelog](#changelog) 6. [TODO](#todo) ## Versao de Uso Geral Existe uma versao de uso geral, que nao esta limitada pelos requisitos da [UFOP](http://ufop.br/), que e adaptavel para qualquer instituicao que assim deseje utilizar o sistema. Para utilizar a versao de uso geral, certifique-se de utilizar a versao do *branch* [generico](https://github.com/jpmoura/sire/tree/generico), que e o *branch* que contem o sistema de autenticacao tradicional, baseado em dados existentes no banco de dados da aplicacao. ## Funcionamento O sistema e baseado na funcionalidade CRUD de banco de dados para a insercao, leitura, atualizacao e remocao de informacoes de salas, equipamentos e alocacoes feitas. Para o layout, foi usado como base o design [AdminLTE](https://almsaeedstudio.com/themes/AdminLTE/documentation/index.html) desenvolvido por [Abdullah Almsaeed](mailto:abdullah@almsaeedstudio.com), alterando-se basicamente so a palheta de cores do tema. O sistema e focado para uso de instituicoes do ramo educacional, logo, limita-se a ter somente tres tipos de usuarios, sendo eles: * Administrador; * Professor / Tecnico administrativo; * Usuario especial. Atualmente nao esta implantado uma forma de se alterar estes tipos de usuarios dentro do sistema. O administrador e responsavel por fazer todo e qualquer tipo de cadastro no sistema, desde outros usuarios ate os recursos passiveis de serem reservados bem como seus tipos. Essa abordagem foi escolhida devido aos requisitos da [UFOP](http://ufop.br/) para centralizacao do gerenciamento e foi mantida para o sistema de uso geral. A versao de uso geral conta com alguns dados ja preenchidos no banco para o pontape inicial do sistema. As regras de negocio de exemplo ja estao presentes assim como um usuario administrador padrao, com e-mail o ```admin@admin.com``` e senha ```admin```. Antes de se criar um recurso, e necessario criar tipos de recursos. Com o tipo criado, na tela de criacao de recurso e possivel selecionar um tipo para o mesmo e completar sua criacao. Exite tambem a funcionalidade de lista de softwares, que pode ser util para que professores e tecnicos verifiquem quais sao os softwares instalados em laboratorios, facilitando a escolha de qual laboratorio reservar, por exemplo. Outra funcionalidade e o reporte de bugs, onde os usuarios de todos os tipos podem detalhar algum problema que encontrarem no sistema para que os administradores possam corrigi-los. ## Versoes de Teste Para a comodidade dos interessados em testar o sistema, existem diferentes tipos de artefatos que implementam o sistema. Nas subsecoes seguintes sao apresentados mais detalhes sobre cada um deles. ### VM com Sistema Operacional com Interface Grafica Essa *Appliance* contem o sistema operacional Linux na distribuicao Debian 9. Ela ja esta totalmente configurada e ja possui todos os pre-requisitos para o funcionamento do sistema. O usuario padrao para o login no Debian e ```sire``` e a senha tambem ```sire```. O usuario ```root``` possui a senha ```root```. Esses usuarios sao de acesso do sistema operacional e nao do sistema deste projeto, os usuarios para acesso do SiRe estao descritos adiante. Para acessar o sistema basta abrir o navegador e acessar o endereco [localhost/sire/index.php](http://localhost/sire/index.php). O usuario ja adicionado para o login e ```admin@admin.com``` com senha ```admin```. ~~A imagem em formato OVA do sistema pode ser baixada atraves [desse link](https://drive.google.com/file/d/1MmTkiHrYgANk8Nyt6fynMMpjFMrRecJT/view?usp=sharing).~~ Link temporariamente indisponivel por falta de hospedagem para o arquivo que tem aproximadamente 7GB. ### VM somente com o essencial, sem interface grafica O link para download e [este](https://drive.google.com/file/d/1OXE5AT-pJcuZGq18ADcZGtAdjQidr63q/view?usp=sharing) e, apos fazer a importacao da imagem no seu gerenciador, confira o IP atribuido a maquina criada e acesse o sistema usando o IP da maquina na rede com o sufixo `/sire/index.php`. Por exemplo, se o IP gerado for `192.168.2.2` voce devera acessar o endereco `http://192.168.2.2/sire/index.php`. A imagem foi gerada a partir do Ubuntu Server 22.04 e caso seja necessario realizar o login no proprio Ubuntu o usuario e `sire` e a senha e `admin`. **IMPORTANTE**: O sistema esta com a flag de debug ativa, esta e uma imagem criada apenas para testes, nenhuma configuracao foi adotada envolvendo seguranca do host e da propria maquina virtual. ### :construction: Container (Docker) Em desenvolvimento. ## Instalacao E valido lembrar que todos os pre-requisitos do [Laravel](https://laravel.com/docs/5.2) sao tambem pre-requisitos deste sistema. Para a instalacao e necessario ter previamente instalados o gerenciador de dependencias [Composer](https://getcomposer.org/), [Node.js](https://nodejs.org/) entre as versoes 0.12 e 6.9.4 e tambem o [Gulp.js](http://gulpjs.com/) instalado globalmente atraves do [Node.js](https://nodejs.org/). Com todas essas tres dependencias instaladas, executam-se os seguintes comandos: ```bash composer install npm install gulp --prod php artisan migrate php artisan db:seed ``` Enquanto o comando ```php artisan migrate``` cria as tabelas no banco de dados, o comando ```php artisan db:seed``` e o comando que preenche as tabelas de usuario e de regras com alguns dados padroes que possibilitam o uso do sistema sem a necessidade de inserir dados no banco por aplicacoes de terceiros, assim o administrador ja pode utilizar o sistema usando as credenciais padrao de e-mail e senha no login. Tais credenciais sao: * E-mail: admin@admin.com * Senha: admin Para usuarios de sistemas UNIX, sera necessario conceder permissao de leitura, gravacao e execucao da pasta em que se encontra o sistema para o grupo *www-data* que pode ser dado pelo seguinte comando usando a permissao de administrador: ```bash chown -R USUARIO:www-data PASTA ``` Basta usar o comando ```sudo``` ou ```su``` dependendo da distribuicao *Linux* juntamente com este comando. E necessario configurar as variaveis de ambiente do Laravel a partir do arquivo sem nome na raiz do projeto mas de extensao ```ENV```. Existe um arquivo de exemplo [aqui](./.env.example) que pode ser editado e depois renomeado apropriadamente apenas para ```.env```, onde nele devem-se encontrar todas as configuracoes do banco de dados. ## Changelog Esse changelog esta organizado na ordem de mais recente para o mais antigo, ou seja, a versao mais nova aparece como primeira subsecao e a versao mais antiga como a ultima subsecao. Versoes terminadas com o caracter ```g``` refere-se ao *branch* ```generico```, para uso geral. O changelog das versoes especificas para a [UFOP](http://ufop.br/) estao mantidas com o objetivo de se manter dados historicos sobre a evolucao do sistema. ### Versao 1.0g * Remocao do Login por LDAPI usando dados da UFOP por login tradicional baseado em tabela de usuarios para aplicacao geral; * Adicao de testes par CRUD de usuario; * Remocao de modelos de usuarios e reservas legados; * Uso de SASS para processamento de CSS; ### Versao 2.3.1 * Adicao de testes de unidade; * Adicao de funcionalidade de softwares instalados em recursos de informatica; * Adicao de funcionalidade de adicao, remocao e edicao de tipos de recursos; * Adicao de migrations; * Refatoracao de views, modularizando varias delas; * Refatoracao no nomes de rotas; * Correcao de bugs; ### Versao 2.3 * Refatoracao de modelos e controllers; * Adicao de validacao de formularios no back-end; * Otimizacao da estrutura do banco de dados; * Atualizacao da biblioteca [Chart.js](https://github.com/chartjs/Chart.js) para geracao de graficos; * Adicionada obrigatoriedade do uso de HTTPS; * Atualizacao da LDAPI para comunicacao em HTTPS com certificados auto-assinados; * Correcao de bugs. ### Versao 2.2 * Refatoracao massiva de toda a estrutura do back-end; * Mudanca no sistema de autenticacao, usando a autenticacao nativa do framework aliada com a API de autenticacao [LDAPI](https://github.com/jpmoura/ldapi). Agora tambem e possivel o usuarios optar por ser lembrado e assim o login e renovado automaticamente; * Melhoria no sistema de Log, agora registrando informacoes mais estruturadas e sendo feito atraves de eventos; * Alteracao em todo sistema de rotas, usando grupos e middlewares; * Migracao para o uso de modelos ao inves de execucao de queries, atingindo assim o padrao MVC; * Mudanca na organizacao dos arquivos das Views para um padrao semelhante de outros frameworks. ### Versao 2.1.1 * Adicionada restricao de alocacoes para usuarios ordinarios. Agora somente administradores podem alocar mais de um recurso no mesmo horario e dia; * Alterada o local onde o sistema e servido; * Correcao dos caminhos dos arquivos CSS e Javascript; * Correcao de erro de usuario tentar executar qualquer acao com *token* de sessao expirado. ### Versao 2.1 * Adicionado metodo de *login* usando dados do [Minha UFOP](http://www.minha.ufop.br/); * Adicionado suporte para *login* via [Meu ICEA](http://200.239.152.5/meuicea/public) automaticamente, usando a mesma sessao; * Criptografia dos arquivos de sessoes e alterado o tempo de vida para 30 minutos (eram 120); * Adicionado mais um tipo de usuario: Usuario Especial. Necessario caso o novo usuario nao pertenca a nenhum grupo do campus; * Adicionado persistencia local de dados do usuario apos o primeiro *login*; * Correcao de bugs; * Adicionada opcao para reportar de bugs para usuarios comuns e visualizar os reportes para administradores; * Retirada de arquivos desnecessarios; * Adicionada opcao ao administradores para visualizar as reservas de um recurso em um determinado dia; * Adicionado uma pre-visualizacao dos dados no momento do cadastro para confirmacao. ### Versao 2.0.1 * Possibilidade de mudanca de senha do usuario; * Horarios agora estao definidos e nao sao mais uma referencia generica de ordem; * Pagina de visualizacao do quadro de alocacao agora possui um botao de voltar; * Os quadros de turnos agora podem ser expandidos e minimizados clicando tambem sobre o nome do turno. ## Erros conhecidos * ~~Uso do sistema em navegadores Safari para iOS em modo privativo pode ocasionar problemas no momento de alocacao;~~ * Tabela de usuarios nao e mostrada apropriadamente em navegadores Safari; * Erros de disponibilidade do banco de dados nao estao devidamente tratados; * Horarios podem se sobrepor entre turnos (*overlapping*). ## TODO * Criar testes automatizados mais detalhados; * Criar testes para o modelo de Reserva; * Tratar para que caso altere o horario de inicio de cada turno para que o ultimo horario do turno nao sobreponha o inicio do proximo turno (*overlapping*). * ~~Refatoracao no nomes de rotas fora do padrao do Laravel~~; * ~~Tratar erro de mesclagem de arquivos CSS do Bootstrap e Font Awesome~~; * ~~Autenticacao LDAP via [Minha UFOP](http://www.minha.ufop.br/);~~ * ~~Adicionar configuracoes do servidor LDAP em uma tabela do banco de dados para evitar expor os dados no codigo-fonte;~~ * ~~Adicionar uma tabela de horarios com a finalidade de fixar os slots de cada horario;~~ * ~~Capturar excecoes de erro de conexao com o banco de dados;~~ * ~~Utilizar a ferramenta *eloquent* do [Laravel](http://laravel.com) para reforcar o padrao MVC;~~ * ~~Otimizacao do carregamento dos elementos CSS e Javascript usando Gulp juntamente com SASS ou LESS;~~ * ~~Otimizacao da estrutura do banco de dados;~~ * ~~Criar atalho para reservas "favoritas" (Laboratorio, dia da semana e horarios);~~

近期下载者

相关文件


收藏者