|
|
| (62 revisões intermediárias por 8 usuários não estão sendo mostradas) |
| Linha 1: |
Linha 1: |
| = Escopo = | | = 1a. Versão do Library Free = |
| <br> | | <br> |
|
| |
|
| * Aplicação web e mobile voltada para controle, doação e empréstimo de livros que permite: | | * [[Library Free - 1a versão]] |
| # 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
| |
| <br> | | <br> |
|
| |
|
| = Requisitos Funcionais = | | = 2a. Versão do Library Free = |
| <br> | | <br> |
|
| |
|
| # CRUD de Livros ''(Júlia)''
| |
| ## Criar uma página para cada operação do CRUD
| |
| ## Verificar se o usuário tem permissão para realizar a operação
| |
| # CRUD de Usuário ''(Júlia)''
| |
| ## Criar uma página para cada operação do CRUD
| |
| ## Verificar se o usuário tem permissão para realizar a operação
| |
| # Buscar livros disponíveis para empréstimo ''(''Gustavo'')''
| |
| ## 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, valor, gênero ou popularidade
| |
| ## Permitir múltiplos filtros simultaneamente
| |
| ## Exibir o resultado da pesquisa em uma página
| |
| # Reservar livro disponível ''(''Gustavo'')''
| |
| ## Exibir somente livros disponíveis
| |
| ## Página para reserva de livros
| |
| ## Requerir um livro não disponível
| |
| # Avisar de datas para devolução (Marc Sué)
| |
| ## Enviar e-mail / sms de aviso um dia antes da data de devolução
| |
| # Capturar ISBN do livro (Marc Sué)
| |
| ## 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
| |
| #Dispor Livros em estantes virtuais conforme gênero (Pedro)
| |
| ## Realizar a busca no banco de dados (SELECT) dos gêneros que o usuário possui
| |
| ## Para cada estante. realizar a busca no banco de dados (SELECT) dos livros que pertencem aquele gênero
| |
| ## Exibir o resultado da pesquisa em uma página
| |
| # Permutar livros (Luana)
| |
| ## Informar uma lista de usuários que desejam trocar livro(s) que não possuem, por outro(s) possuem
| |
| # Emprestar livros (<strike>Luana</strike>) (Marc Sué)
| |
| ## Catálogo de livros dos usuários
| |
| ## Informar endereço do usuário que está pedindo o livro, o tempo que o deseja ter e a reputação atual do usuário
| |
| ## Calcular frete, emitir etiqueta, informar prazo para devolução (além do tempo de entrega)
| |
| # Devolver livros (Ademar)
| |
| ## Informar endereço de retorno ao dono do livro
| |
| ## Calcular frete e emitir etiqueta para devolução
| |
| ## Qualificar usuário pelo empréstimo e pela devolução
| |
| #Vender livros (Mateus)
| |
| ## 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
| |
| #Gerenciar livros emprestados (Leonardo)
| |
| ## Realizar a busca no banco de dados (SELECT) dos livros, filtrando para ter como resultado somente aqueles que estão emprestados
| |
| ## Exibir o resultado da pesquisa em uma página
| |
| # Prorrogar data de devolução
| |
| ## 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
| |
| # Qualificar usuário
| |
| ## 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
| |
| #Formar "lista de espera" para livros
| |
| ##O usuário solicita um livro já emprestado e fica na "lista de espera" dele
| |
| ##Sua posição na lista de espera é classificada tanto por data de solicitação quanto por créditos (qualificação)
| |
| # Gerar etiqueta de identificação
| |
| ## Gerar um código de barras para cada livro cadastrado
| |
| ## Salvar automaticamente código de barras nas informações do livro
| |
| <br>
| |
|
| |
|
| = Tarefas (para o Treinamento) = | | = Escopo = |
| | |
| | = Requisitos Funcionais= |
| | == 1ª Fase == |
| | |
| | === USUÁRIO: === |
|
| |
|
| == Gerais (todos devem fazer) == | | ==== Conta: ==== |
| # Resolver os exercícios de Python no URI
| | * Cadastrar conta |
| # Realizar o '''fork''' do projeto no GitHub
| | * Recuperar senha |
| # Fazer, pelo menos, um ''pull request'' ao projeto
| | * Alterar dados |
| # Desenhar pelo menos uma tabela do diagrama do banco de dados
| |
| # Contribuir com o desenvolvimento do projeto web final (escolher tarefa específica)
| |
| # Seguir as regras da pep-8 (bônus)
| |
| # Criar um nome mais comercial
| |
|
| |
|
| == Específicas == | | ==== Livros: ==== |
| # Documentar o projeto
| | * Cadastrar livros |
| # Criar o script de teste unitário do projeto
| | * Pesquisar livros |
| # Implementar a busca de livros com filtros
| | * Reservar livros |
| # Implementar o CRUD de Livros
| | * Solicitar empréstimo |
| # Implementar o cadastro, login/logout e perfil do usuário
| | * Conceder empréstimo |
| # Implementar as páginas de exibição dos livros por categoria/filtro
| |
| # Implementar o sistema de permutação
| |
| # Implementar o sistema de empréstimo
| |
| # Implementar o sistema de devolução
| |
| # Implementar o sistema de negociação de prazos
| |
| # Implementar o sistema de gerenciamento dos livros emprestados
| |
| # Implementar o sistema de multa (simples, sem gerar cobrança direta)
| |
| # Implementar o sistema de vendas (simples, sem gerar cobrança direta)
| |
| # Implementar o sistema de emails
| |
| # Criar o banco de dados
| |
| # Implementar as tabelas por meio de ORM
| |
|
| |
|
| = Requisitos não-funcionais = | | ==== Empréstimo e devolução: ==== |
| | * Renovar empréstimo |
| | * Realizar devolução |
| | * Confirmar devolução |
| | * Avaliar devolução |
|
| |
|
| * '''Interpretador''': CPython 3.4
| | === BIBLIOTECA: === |
| * '''Framework web''': Django 1.9 e Flask 0.10
| |
| * '''SGBD''': PostgreSQL 9.4
| |
| * '''Versionamento''': Git
| |
| * '''Servidor HTTP''': Gunicorn 19.4
| |
| <br>
| |
|
| |
|
| = Autores = | | ==== Conta: ==== |
| <br>
| | * Cadastrar conta |
| | * Recuperar senha |
| | * Alterar dados |
|
| |
|
| * Júlia Rizza | | ==== Livros: ==== |
| * Luiz Cláudio Theodoro | | * Cadastrar livros |
| <br>
| | * Pesquisar livros (encontrar livro no estoque) |
| | * Protocolar empréstimo |
| | * Gerenciar devoluções (talvez cobrar multa) |
|
| |
|
| = Colaboradores = | | ==== Devolução: ==== |
| <br>
| | * Confirmar devolução (verificar o prazo e aplicar a cobrança se necessário) |
| | * Avaliar devolução |
|
| |
|
| * Eustáquio Fernandes Júnior
| | === GERAL: === |
| * Matheus Silva Santos
| | * feed com sugestão de livros disponíveis |
| * Gustavo Gardusi
| | * visualizar perfis de outros usuários e bibliotecas |
| * Pedro Henrique da Costa Avelar | | * visualizar informações do livro |
| * Marc Sué Pires Morais Junior | |
| * Kethllen Andrey Santos | |
|
| |
|
| = Projetos Similares =
| |
|
| |
|
| === OpenLibrary === | | == 2ª Fase == |
| O [https://openlibrary.org/ Openlibrary] é um projeto de catalogação e viabilização de empréstimos e vendas de livros, totalmente gratuito, feito pela [https://archive.org/ 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 [https://github.com/internetarchive/openlibrary github]. Há também [https://openlibrary.org/dev/docs/committing uma página com instruções para contribuições] assim como uma [http://code.openlibrary.org/en/latest/ documentaçao para desenvolvedores]. Há também o link da [https://openlibrary.org/developers "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.
| | = Requisitos não-funcionais = |
| | = Scrum = |
| | = Autores = |
| | = Colaboradores = |