Escopo


  • Aplicação web e mobile voltada para controle, doação e empréstimo de livros que permite:
  1. Cadastrar todos os livros que o usuário possui ou que ele deseja adquirir
  2. Aos usuários Incluir organizações que permitirão o movimento de livros
  3. Solicitar os livros via sistema e aprovação/negação pelo dono
  4. Selecionar o processo de entrega (pessoal, Correios, Malote, etc) pelos usuários
  5. Pontuar de acordo com os empréstimos realizados de forma a ser qualificado publicamente.
  6. Disponibilizar um Chat para contato
  7. Gerenciar os empréstimos e devoluções notificando prazos e gerando multas quando houver atrasos
  8. Solicitar feedbacks após o empréstimo e/ou devolução


Requisitos Funcionais

1ª Fase

  1. CRUD de Livros - Julia [24/10 - 01/12]
    1. Criar uma página para cada operação do CRUD
    2. Verificar se o usuário tem permissão para realizar a operação
    3. Atualizar as alterações realizadas no CRUD no banco de dados
  2. CRUD de Usuário - Julia [24/10 - 01/12]
    1. Criar uma página para cada operação do CRUD
    2. Verificar se o usuário tem permissão para realizar a operação
    3. Atualizar as alterações realizadas no CRUD no banco de dados
  3. CRUD de Organizações - Julia [24/10 - 01/12]
    1. Criar uma página para cada operação do CRUD
    2. Verificar se o usuário tem permissão para realizar a operação
    3. Atualizar as alterações realizadas no CRUD no banco de dados
  4. Buscar livros disponíveis para empréstimo - Marc [24/10 - 01/12]
    1. Receber os termos da busca por um campo (linha de formulário)
    2. Realizar a busca no banco de dados (SELECT)
    3. Filtrar os resultados por localidade, datas, gênero ou popularidade
    4. Permitir múltiplos filtros simultaneamente
    5. Exibir o resultado da pesquisa em uma página
    6. Exibir botão de "empréstimo" na pesquisa de livros
    7. Ao clicar no botão, enviar uma solicitação para o dono do livro
    8. O empréstimo do livro será aceito ou não pelo dono
    9. A forma de entrega do livro deve ser negociada pelos usuários
    10. Entrar na lista de espera ao requerer um livro não disponível
    11. Sua posição na lista de espera é classificada tanto por data de solicitação quanto por créditos (qualificação)
  5. Avisar de datas para devolução - Ronistone [03/11 - 01/12]
    1. Enviar e-mail / sms de aviso uma semana, três dias e um dia antes da data de devolução
    2. Notificar via aplicativo uma semana, três dias e um dia antes da data de devolução
  6. Dispor livros em estantes virtuais conforme gênero- Pedro [24/10 - 01/12]
    1. Armazenar para cada livro do usuário/organização, sua posição na estante
    2. Realizar a busca no banco de dados (SELECT) dos livros que o usuário possui
    3. Para cada estante, realizar a busca no banco de dados (SELECT) dos livros que pertencem àquele gênero
    4. Exibir o resultado da pesquisa em uma página de acordo com a posição
  7. Devolver livros - Kethllen [24/10 - 01/12]
    1. O processo de devolução também é de responsabilidade dos usuários
    2. Solicitar feedback ao final do empréstimo para ambos os usuários
  8. Gerenciar livros emprestados - Leandro [03/11 - 01/12]
    1. Realizar a busca no banco de dados (SELECT) dos livros, filtrando somente aqueles que estão emprestados
    2. Exibir o resultado da pesquisa em uma página
  9. Prorrogar data de devolução - Kethllen [24/10 - 01/12]
    1. Exibir formulário para receber a mensagem de prorrogação e a quantidade de dias
    2. Enviar solicitação via e-mail para o dono do livro
    3. Aumentar (ou não) o prazo de devolução de acordo com a resposta do dono
    4. Enviar e-mail de confirmação (ou não confirmação) da prorrogação ao solicitante
  10. Dar feedback - Lucas [03/11 - 01/12]
    1. Criar atributo de créditos do usuário (positivo, negativo e neutro)
    2. Criar função para qualificar o usuário após um empréstimo / venda
    3. Qualificar solicitante e atendente do pedido de empréstimo / venda
    4. Opções de qualificação: prazo de entrega/devolução, estado do livro, negociação, satisfação.
  11. Gerar etiqueta de identificação - Matheus [03/11 - 01/12]
    1. Gerar um código de barras para cada livro cadastrado
    2. Salvar automaticamente código de barras nas informações do livro
  12. Criar wishlist
    1. Criar uma função que permita ao usuário solicitar livros que não existem na base


2ª Fase

  1. Uplaod de ebooks
  2. Gamificar plataforma
  3. Criar um serviço inteligente de filtros de mapa de interesse por usuário
  4. Capturar ISBN do livro
    1. Criar função para ativar a câmera do smartphone para capturar o código do ISBN no momento de cadastro do livro
    2. Criar função para digitar o código do ISBN no momento do cadastro do livro
  5. Permutar livros
    1. Empréstimo bidirecional: o usuário pede um livro e empresta um à outro usuário
    2. Os livros devem estar previamente cadastrados no sistema
  6. Vender livros
    1. Receber num formulário o preço e as opções de frete oferecidas pelo vendedor
    2. Atualizar o livro no banco de dados (UPDATE) marcando-o como posto à venda
    3. 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

  1. 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-
      • 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-
      • Leandro
        • 23/11/2016-
          • Implementação do RF8 - Disponibilidade de Livros
        • 24/11/2016-
        • 25/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-
      • Kethllen
        • 23/11/2016-
          • Desenvolvimento do requisito de postergar data de devolução
          • Reunião diária com estagiários
        • 24/11/2016-
        • 25/11/2016-
      • Júlia
        • 23/11/2016-
          • Estudo das ferramentas e bibliotecas Python de ISBN
        • 24/11/2016-
        • 25/11/2016-
  2. 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-
      • 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-
      • 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 - 06 - Maven
        • 25/11/2016-
      • Ronistone
        • 23/11/2016-
          • Termino dos estudos das ferramentas e bibliotecas Flask
        • 24/11/2016-
        • 25/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-
        • 25/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-
        • 25/11/2016-
  3. Há algum impedimento no seu caminho?
      • Lucas
        • 23/11/2016-
          • Aguardando resposta dos idealizadores para resolver divergências
        • 24/11/2016-
        • 25/11/2016-
      • Matheus
        • 23/11/2016-
        • 24/11/2016-
        • 25/11/2016-
      • Leandro
        • 23/11/2016-
        • 24/11/2016-
        • 25/11/2016-
      • Ronistone
        • 23/11/2016-
          • Solicitar e-mail corporativo para o projeto Biblioteca de Talentos
        • 24/11/2016-
        • 25/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-
      • Júlia
        • 23/11/2016-
        • 24/11/2016-
        • 25/11/2016-

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.