Kethllen (discussão | contribs)
Etiqueta: visualeditor
 
(60 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
## 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
## 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
## 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
## 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
# Solicitar livro para empréstimo
## 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
# Avisar de datas para devolução
## 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
# Capturar ISBN do livro (2ª etapa)
## 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
## Armazenar para cada livro do usuário, 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
# Permutar livros (2ª etapa)
##Empréstimo bidirecional: o usuário pede um livro e empresta um à outro usuário
# Devolver livros
##O processo de devolução também é de responsabilidade dos usuários
## Solicitar ''feedback'' ao final do empréstimo para ambos os usuários
#Vender livros (2ª etapa)
## 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
## 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
## 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''
## 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.
#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 =

Edição atual tal como às 10h44min de 12 de abril de 2021

1a. Versão do Library Free



2a. Versão do Library Free



Escopo

Requisitos Funcionais

1ª Fase

USUÁRIO:

Conta:

  • Cadastrar conta
  • Recuperar senha
  • Alterar dados

Livros:

  • Cadastrar livros
  • Pesquisar livros
  • Reservar livros
  • Solicitar empréstimo
  • Conceder empréstimo

Empréstimo e devolução:

  • Renovar empréstimo
  • Realizar devolução
  • Confirmar devolução
  • Avaliar devolução

BIBLIOTECA:

Conta:

  • Cadastrar conta
  • Recuperar senha
  • Alterar dados

Livros:

  • Cadastrar livros
  • Pesquisar livros (encontrar livro no estoque)
  • Protocolar empréstimo
  • Gerenciar devoluções (talvez cobrar multa)

Devolução:

  • Confirmar devolução (verificar o prazo e aplicar a cobrança se necessário)
  • Avaliar devolução

GERAL:

  • feed com sugestão de livros disponíveis
  • visualizar perfis de outros usuários e bibliotecas
  • visualizar informações do livro


2ª Fase

Requisitos não-funcionais

Scrum

Autores

Colaboradores