MarceloPinto350 / bibpub

Repositório do projeto de Biblioteca Pública
GNU General Public License v3.0
0 stars 0 forks source link

Descrição do projeto

Este projeto de aplicação para empréstimos de livros para bibliotecas públicas, é parte integrante do trabalho final da disciplina de PPGTI1004-DESENVOLVIMENTO WEB 2 (1,2,3) e da disciplina PPGTI1011-TESTE DE SOFTWARE (1,2), do Programa de pós graduação em Tecnologia da Informação da Universidade Federal do Rio Grando do Norte (UFRN/IMD), ministrada pelos profs. Jean Mario Moreira de Lima e Uira Kulesza, respectivamente.

Componenetes do grupo

  1. Alikson Oliveira (PPGTI1004 e PPGTI1011)
  2. Marcelo Pinto (PPGTI1004 e PPGTI1011)
  3. Vitor Lindbergh (SOMENTE PPGTI1004)

Estrutura de pastas do projeto

testes

Contem todas as documentações relativas aos testes

config_server

Contem as configurações da máquina usada como servidor (Docker)

config_dev

Contem as configurações da máquina utilizada como cliente de desenvolvimento

bibpub

Contem o código fonte da aplicação propriamente dita

deploy

Contem os arquivos de configuração para deploy aplicação em ambiente docker

Arquitetura da solução

A aplicação foi desenvolvida usado Python, Django e banco de dados Postgresql.

Executando a aplicação

Para executar a aplicação acessar a máquina virtual, configurada na forma do script indicado (./inicializaConfig.sh) onde será executada e proceder os passos abaixo:

  1. Acessar o prompt de comando e criar uma pasta local para a aplicação, por exemplo git
    • $ mkdir git
  2. Em seguida, clone o diretório da aplicação, exemplo:
  3. Vá para o diretório deploy e execute o comando a seguir:
    • $ cd bibpub-imd/deploy
    • $ docker-compose up

Testar a aplicação acessando na sua máquina virtual o endereço localhost:8000 ou, na sua máquina principal, acessando o endereço da máquina virtual :8000.

Requisitos Funcionais

  1. A aplicação deve permitir que as pessoas realizem seu próprio cadastro pela internet;
  2. Ao realizar o cadastro do usuário ficará disponível para os operadores do ou adminsitradores do sistema avaliarem e aprovarem o cadastro: PENDENTE, ATIVO, SUSPENSO, BLOQUEADO
  3. A aplicação deve permitir a consulta às obras cadastradas, pelo título, autor, através da internet a qualquer usuário habilitado;
  4. A aplicação deve permitir a reserva de obras para empréstimos a partir da internet, apenas às pessoas cadastradas e ativas, a reserva;
  5. A aplicação deve permitir o empréstimo, de até 5 obras simultaneamente, às pessoas cadastradas e com cadastro ativo, pelo período de 30 a 90 dias, a escolha da pessoa, não podendo ter obras a empréstdas em atraso;
  6. A aplicação deverá permitir a renovação de empréstimos, por igual período, caso não haja reserva para a obra, a partir dos últimos 10 dias de empréstimo atual;
  7. As obras podem ter situação da disponibilidade alterada pelo operador ou adminsitrador: INDISPONÍVEL, USO INTERNO, DISPONÍVEL PARA EMPRÉSTIMO
  8. A aplicação deverá listar em sua página principal: a quantidade de obras cadastradas, total de empréstimos no ano corrente, as 5 obras mais emprestadas e os últimos cinco títulos cadastrados;
  9. A aplicação deverá possibilitar a consignação de penalidades aos usuários, confrome as seguintes regras:
    • Devolver fora do prazo do empréstimo, a pessoa ficará com a situação suspensa por 10 dias e não poderá pegar novas obras emprestadas;
    • Com atraso na devolução superior a 30 dias, a pessoa ficará bloqueada, não podendo acessar o sistema até a devolução da obra em atraso; (TODO: AUTOMATIZAR)
  10. O sistema deverá permitir o usuário visualizar seu histórico de empréstimos;
  11. A aplicação deve aceitar a confirmação/validação de cadastro das pessoas, pelo link e chave enviada por e-mail; (TODO:)
  12. A pesquisa de obra poderá permitir filtrar por categoria e tipo de disponibilidade; (TODO:)

Entidades

OBRA

UNIDADE

AUTOR

CATEGORIA

EDITORA

PESSOA

PAPEL (USAR DO DJANGO)

USUARIO (USAR DO DJANGO)

EMPRESTIMO

EMPRESTIMO_OBRAS

PAIS