Escopo
- Aplicação web e mobile voltada para controle, doação e empréstimo de livros que permite:
- Cadastrar todos os livros que o usuário possui ou que ele deseja adquirir
- Aos usuários Incluir organizações que permitirão o movimento de livros
- Solicitar os livros via sistema e aprovação/negação pelo dono
- Selecionar o processo de entrega (pessoal, Correios, Malote, etc) pelos usuários
- Pontuar de acordo com os empréstimos realizados de forma a ser qualificado publicamente.
- Disponibilizar um Chat para contato
- Gerenciar os empréstimos e devoluções notificando prazos e gerando multas quando houver atrasos
- Solicitar feedbacks após o empréstimo e/ou devolução
Requisitos Funcionais
1ª Fase
- CRUD de Livros - Julia [24/10 - 01/12]
- Criar uma página para cada operação do CRUD
- Verificar se o usuário tem permissão para realizar a operação
- Atualizar as alterações realizadas no CRUD no banco de dados
- CRUD de Usuário - Julia [24/10 - 01/12]
- Criar uma página para cada operação do CRUD
- Verificar se o usuário tem permissão para realizar a operação
- Atualizar as alterações realizadas no CRUD no banco de dados
- CRUD de Organizações - Julia [24/10 - 01/12]
- Criar uma página para cada operação do CRUD
- Verificar se o usuário tem permissão para realizar a operação
- Atualizar as alterações realizadas no CRUD no banco de dados
- Buscar livros disponíveis para empréstimo - Marc [24/10 - 01/12]
- Receber os termos da busca por um campo (linha de formulário)
- Realizar a busca no banco de dados (SELECT)
- Filtrar os resultados por localidade, datas, gênero ou popularidade
- Permitir múltiplos filtros simultaneamente
- Exibir o resultado da pesquisa em uma página
- Exibir botão de "empréstimo" na pesquisa de livros
- Ao clicar no botão, enviar uma solicitação para o dono do livro
- O empréstimo do livro será aceito ou não pelo dono
- A forma de entrega do livro deve ser negociada pelos usuários
- Entrar na lista de espera ao requerer um livro não disponível
- Sua posição na lista de espera é classificada tanto por data de solicitação quanto por créditos (qualificação)
- Avisar de datas para devolução - Ronistone [03/11 - 01/12]
- Enviar e-mail / sms de aviso uma semana, três dias e um dia antes da data de devolução
- Notificar via aplicativo uma semana, três dias e um dia antes da data de devolução
- Dispor livros em estantes virtuais conforme gênero- Pedro [24/10 - 01/12]
- Armazenar para cada livro do usuário/organização, sua posição na estante
- Realizar a busca no banco de dados (SELECT) dos livros que o usuário possui
- Para cada estante, realizar a busca no banco de dados (SELECT) dos livros que pertencem àquele gênero
- Exibir o resultado da pesquisa em uma página de acordo com a posição
- Devolver livros - Kethllen [24/10 - 01/12]
- O processo de devolução também é de responsabilidade dos usuários
- Solicitar feedback ao final do empréstimo para ambos os usuários
- Gerenciar livros emprestados - Leandro [03/11 - 01/12]
- Realizar a busca no banco de dados (SELECT) dos livros, filtrando somente aqueles que estão emprestados
- Exibir o resultado da pesquisa em uma página
- Prorrogar data de devolução - Kethllen [24/10 - 01/12]
- Exibir formulário para receber a mensagem de prorrogação e a quantidade de dias
- Enviar solicitação via e-mail para o dono do livro
- Aumentar (ou não) o prazo de devolução de acordo com a resposta do dono
- Enviar e-mail de confirmação (ou não confirmação) da prorrogação ao solicitante
- Dar feedback - Lucas [03/11 - 01/12]
- Criar atributo de créditos do usuário (positivo, negativo e neutro)
- Criar função para qualificar o usuário após um empréstimo / venda
- Qualificar solicitante e atendente do pedido de empréstimo / venda
- Opções de qualificação: prazo de entrega/devolução, estado do livro, negociação, satisfação.
- Gerar etiqueta de identificação - Matheus [03/11 - 01/12]
- Gerar um código de barras para cada livro cadastrado
- Salvar automaticamente código de barras nas informações do livro
- Criar wishlist
- Criar uma função que permita ao usuário solicitar livros que não existem na base
- Criar uma nova tabela que armazene os livros desejados (pode ser por ISBN e título) e quem deseja
2ª Fase
- Uplaod de ebooks
- Gamificar plataforma
- Criar um serviço inteligente de filtros de mapa de interesse por usuário
- Capturar ISBN do livro
- Criar função para ativar a câmera do smartphone para capturar o código do ISBN no momento de cadastro do livro
- Criar função para digitar o código do ISBN no momento do cadastro do livro
- Permutar livros
- Empréstimo bidirecional: o usuário pede um livro e empresta um à outro usuário
- Os livros devem estar previamente cadastrados no sistema
- Vender livros
- Receber num formulário o preço e as opções de frete oferecidas pelo vendedor
- Atualizar o livro no banco de dados (UPDATE) marcando-o como posto à venda
- Disponibilizar um botão para que interessados possam entrar em contato com o vendedor
Requisitos não-funcionais
- Interpretador: CPython 3.4
- Framework web: Django 1.9 e Flask 0.10
- SGBD: PostgreSQL 9.4
- Versionamento: Git
- Servidor HTTP: Gunicorn 19.4
Scrum
- O que foi feito ontem?
- Lucas
- 23/11/2016-
- RF13 e 14 já estão implementados com base na API
- 24/11/2016-
- 25/11/2016-
- 28/11/2016-
- 29/11/2016-
- 30/11/2016-
- 23/11/2016-
- Matheus
- 23/11/2016-
- Estudo das bibliotecas relacionadas ao código ISBN
- 24/11/2016-
- Modificação das Tabelas no Banco de Dados
- 25/11/2016-
- Troca da biblioteca isbntools pela isbnlib
- 28/11/2016-
- R
- 29/11/2016-
- 30/11/2016-
- 23/11/2016-
- Leandro
- 23/11/2016-
- Finalização do RF8
- Correção de bugs e testes
- 24/11/2016-
- Estudo do Plano de Formação 2016-2 - Maven
- 25/11/2016-
- Estudo do Plano de Formação 2016-2 - Git e SQL
- 28/11/2016-
- Estudo do Plano de Formação 2016-2 - Java 8
- 29/11/2016-
- Estudo do Plano de Formação 2016-2 - Java 8
- 30/11/2016-
- Reunião para definir novos requisitos do projeto
- 23/11/2016-
- Ronistone
- 23/11/2016-
- Estudo das ferramentas e bibliotecas Flask
- 24/11/2016-
- Termino dos estudos das ferramentas e bibliotecas Flask
- 25/11/2016-
- Estudo das bibliotecas python threading e time
- 29/11/2016-
- Correção de problemas com a implementação da notificação por email
- 30/11/2016-
- Estudo sobre notificação via sms
- 23/11/2016-
- Kethllen
- 23/11/2016-
- Desenvolvimento do requisito de postergar data de devolução
- Reunião diária com estagiários
- 24/11/2016-
- Criar link no Source para documentar a evolução no projeto Biblioteca de talentos
- Reunião a distancia com os idealizadores do projeto
- Reunião diária com os estagiários
- Definir datas dos requisitos que serão implementados
- 25/11/2016-
- Auxilio aos estágiarios
- Desenvolvimento da parte de datas do requisito RF09
- 28/11/2016-
- Reunião com os idealizadores do projeto
- Definição de 3 novos requisitos
- Reunião com os estagiários
- 23/11/2016-
- Júlia
- 23/11/2016-
- Estudo das ferramentas e bibliotecas Python de ISBN
- 24/11/2016-
- Definição de datas dos requisitos restantes
- Reunião e auxilio aos estagiários
- 25/11/2016-
- Auxilio aos estagiários
- 28/11/2016-
- 23/11/2016-
- Lucas
- O que será feito hoje?
- Lucas
- 23/11/2016-
- Atualização da API para modificar alguns pontos que estão divergentes com os casos de uso
- 24/11/2016-
- Estudo do plano de formação (Java 8) enquanto aguardo resposta dos idealizadores
- 25/11/2016-
- Correção de falhas no código e continuação do estudo do plano de formação
- 28/11/2016-
- Estudo do plano de formação (Hibernate)
- 29/11/2016-
- Continuação do estudo do plano de formação
- 30/11/2016-
- - C
- 23/11/2016-
- Matheus
- 23/11/2016-
- Redefinição do Banco de Dados com a inclusão do código ISBN
- 24/11/2016-
- Desenvolvimento do requisito de gerar etiqueta de identificação
- 25/11/2016-
- Correção de bugs
- 28/11/2016-
- Reunião com a Kethllen
- 29/11/2016-
- Mudança no Banco de Dados para possibilitar a inclusão de vários autores
- 23/11/2016-
- Leandro
- 23/11/2016-
- Finalização do RF8
- Correção de bugs e testes
- 24/11/2016-
- Estudo do Plano de Formação 2016-2 - Maven
- 25/11/2016-
- Estudo do Plano de Formação 2016-2 - Git e SQL
- 28/11/2016-
- Estudo do Plano de Formação 2016-2 - Java 8
- 29/11/2016-
- Estudo do Plano de Formação 2016-2 - Java 8
- 30/11/2016-
- Reunião para definir novos requisitos do projeto
- 23/11/2016-
- Ronistone
- 23/11/2016-
- Termino dos estudos das ferramentas e bibliotecas Flask
- 24/11/2016-
- Estudo de Threads e Banco de dados
- 25/11/2016-
- Desenvolvimento da notificação por email
- 28/11/2016-
- Correção de problemas na implementação da notificação via email
- 29/11/2016-
- Termino da implementação da notificação via email e inicio estudo sobre implementação de notificação via sms
- 30/11/2016-
- Estudo da implementação via sms
- 23/11/2016-
- Kethllen
- 23/11/2016-
- Criar link no Source para documentar a evolução no projeto Biblioteca de talentos
- Reunião a distancia com os idealizadores do projeto
- Reunião diária com os estagiários
- Definir datas dos requisitos que serão implementados
- 24/11/2016-
- Auxilio aos estágiarios
- Desenvolvimento da parte de datas do requisito RF09
- 25/11/2016-
- Reunião com os idealizadores do projeto
- Definição de 3 novos requisitos
- Reunião com os estagiários
- 28/11/2016-
- Conclusão do código requisito RF09
- 23/11/2016-
- Júlia
- 23/11/2016-
- Definir datas dos requisitos que serão implementados
- Reunião com os estagiários para nivelamento e resolução de problemas
- 24/11/2016-
- Auxilio aos estagiários
- 25/11/2016-
- Auxilio aos estagiários
- Reunião com a Kethllen sobre as definições dos idealizadores do projeto
- 28/11/2016-
- 23/11/2016-
- Lucas
- Há algum impedimento no seu caminho?
- Lucas
- 23/11/2016-
- Aguardando resposta dos idealizadores para resolver divergências
- 24/11/2016-
- 25/11/2016-
- 28/11/2016-
- 23/11/2016-
- Matheus
- 23/11/2016-
- 24/11/2016-
- 25/11/2016-
- 28/11/2016-
- Leandro
- 23/11/2016-
- 24/11/2016-
- 25/11/2016-
- 28/11/2016-
- Ronistone
- 23/11/2016-
- Solicitar e-mail corporativo para o projeto Biblioteca de Talentos
- 24/11/2016-
- 25/11/2016-
- 28/11/2016-
- Alguns problemas com a implementação da notificação via email, que foi resolvido com ajuda da Júlia
- 23/11/2016-
- Kethllen
- 23/11/2016-
- Solicitar e-mail corporativo para o projeto Biblioteca de Talentos
- Retorno de como deve ser desenvolvidos parte dos requisitos
- 24/11/2016-
- 25/11/2016-
- 28/11/2016-
- 23/11/2016-
- Júlia
- 23/11/2016-
- 24/11/2016-
- 25/11/2016-
- 28/11/2016-
- Lucas
Autores
- Gustavo Henrique Garcia Silva
- Júlia Rizza de Souza
- Luiz Cláudio Theodoro
Colaboradores
- Kethllen Andrey Santos
- Marc Sué Pires Morais Junior
- Pedro Henrique da Costa Avelar
- Matheus Cunha Reis
- Leandro de Medeiros Ferreira
- Lucas Correia Bernardes
- Ronistone Gonçalces do Reis Junior
Projetos Similares
OpenLibrary
O Openlibrary é um projeto de catalogação e viabilização de empréstimos e vendas de livros, totalmente gratuito, feito pela InternetArchive.
Ele é feito em Python com a api de wiki Infogami (que é baseada em web.py) e tem seu código fonte disponível no github. Há também uma página com instruções para contribuições assim como uma documentaçao para desenvolvedores. Há também o link da "central de desenvolvedores" que contém todos os acima, além de links para outras páginas e também está disponibilizado o download do banco de dados do projeto.