Etiqueta: visualeditor |
|||
| Linha 17: | Linha 17: | ||
## Criar uma página para cada operação do CRUD | ## Criar uma página para cada operação do CRUD | ||
## Verificar se o usuário tem permissão para realizar a operação | ## Verificar se o usuário tem permissão para realizar a operação | ||
# Buscar livros disponíveis para empréstimo ''( | # Buscar livros disponíveis para empréstimo ''(''Gustavo'')'' | ||
## Receber os termos da busca por um campo (linha de formulário) | ## Receber os termos da busca por um campo (linha de formulário) | ||
## Realizar a busca no banco de dados (SELECT) | ## Realizar a busca no banco de dados (SELECT) | ||
| Linha 32: | Linha 32: | ||
## Para cada estante. realizar a busca no banco de dados (SELECT) dos livros que pertencem aquele gênero | ## 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 | ## Exibir o resultado da pesquisa em uma página | ||
# Permutar livros ( | # Permutar livros (Luana) | ||
## Informar uma lista de usuários que desejam trocar livro(s) que não possuem, por outro(s) possuem | ## Informar uma lista de usuários que desejam trocar livro(s) que não possuem, por outro(s) possuem | ||
# Emprestar livros ( | # Emprestar livros (Luana) | ||
## Catálogo de livros dos usuários | ## 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 | ## 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) | ## Calcular frete, emitir etiqueta, informar prazo para devolução (além do tempo de entrega) | ||
# Devolver livros ( | # Devolver livros (Ademar) | ||
## Informar endereço de retorno ao dono do livro | ## Informar endereço de retorno ao dono do livro | ||
## Calcular frete e emitir etiqueta para devolução | ## Calcular frete e emitir etiqueta para devolução | ||
## Qualificar usuário pelo empréstimo e pela devolução | ## Qualificar usuário pelo empréstimo e pela devolução | ||
#Vender livros ( | #Vender livros (Mateus) | ||
## Receber num formulário o preço e as opções de frete oferecidas pelo vendedor | ## 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 | ## 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 | ## Disponibilizar um botão para que interessados possam entrar em contato com o vendedor | ||
#Gerenciar livros emprestados ( | #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 | ## 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 | ## Exibir o resultado da pesquisa em uma página | ||
# Prorrogar data de devolução ''( | # Prorrogar data de devolução ''(''Diego'')'' | ||
## Exibir formulário para receber a mensagem de prorrogação e a quantidade de dias | ## 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 | ## 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 | ## 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 | ## Enviar e-mail de confirmação (ou não confirmação) da prorrogação ao solicitante | ||
# Qualificar usuário ( | # Qualificar usuário (Paulo Márcio) | ||
## Criar atributo de qualificação do usuário (positivo, negativo e neutro) | ## Criar atributo de qualificação do usuário (positivo, negativo e neutro) | ||
## Criar função para qualificar o usuário após um empréstimo / venda | ## Criar função para qualificar o usuário após um empréstimo / venda | ||
## Qualificar solicitante e atendente do pedido de empréstimo / venda | ## Qualificar solicitante e atendente do pedido de empréstimo / venda | ||
# Enviar livro pelo Correios ( | # Enviar livro pelo Correios (Kaio) | ||
## Informar prazo de entrega do livro aos Correios | ## Informar prazo de entrega do livro aos Correios | ||
## Informar código de rastreamento ao usuário após o envio | ## Informar código de rastreamento ao usuário após o envio | ||
## Informar quando o livro chegar ao destinatário | ## Informar quando o livro chegar ao destinatário | ||
# Gerar etiqueta de identificação ''( | # Gerar etiqueta de identificação ''(''João'')'' | ||
## Gerar um código de barras para cada livro cadastrado | ## Gerar um código de barras para cada livro cadastrado | ||
## Salvar automaticamente código de barras nas informações do livro | ## Salvar automaticamente código de barras nas informações do livro | ||
Edição das 23h34min de 14 de agosto de 2016
Escopo
- Aplicação web voltada para o empréstimo e controle de livros dos usuários.
- Poderão ser cadastrados todos os livros que o usuário possui ou que ele deseja adquirir
- Poderá ser solicitado o empréstimo de livros de outros usuários, emprestar seus próprios livros e gerenciar todos os empréstimos por categorias como: tempo, conservação, proximidade, etc.
- Haverá pontuação de acordo com os empréstimos realizados de forma a ser qualificado publicamente.
Requisitos Funcionais
- 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
- 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 (Luana)
- 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 (Diego)
- 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 (Paulo Márcio)
- Criar atributo de qualificação 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
- Enviar livro pelo Correios (Kaio)
- Informar prazo de entrega do livro aos Correios
- Informar código de rastreamento ao usuário após o envio
- Informar quando o livro chegar ao destinatário
- Gerar etiqueta de identificação (João)
- Gerar um código de barras para cada livro cadastrado
- Salvar automaticamente código de barras nas informações do livro
Tarefas (para o Treinamento)
Gerais (todos devem fazer)
- Resolver os exercícios de Python no URI
- Realizar o fork do projeto no GitHub
- Fazer, pelo menos, um pull request ao projeto
- 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
- Documentar o projeto
- Criar o script de teste unitário do projeto
- Implementar a busca de livros com filtros
- Implementar o CRUD de Livros
- Implementar o cadastro, login/logout e perfil do usuário
- 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
- Interpretador: CPython 3.4
- Framework web: Django 1.9 e Flask 0.10
- SGBD: PostgreSQL 9.4
- Versionamento: Git
- Servidor HTTP: Gunicorn 19.4
Autores
- Júlia Rizza
- Luiz Cláudio Theodoro
Colaboradores
- Eustáquio Fernandes Júnior
- Matheus Silva Santos