Etiqueta: visualeditor |
Etiqueta: visualeditor |
||
| Linha 11: | Linha 11: | ||
<br> | <br> | ||
# CRUD de Livros | # CRUD de Livros ''(Júlia)'' | ||
# CRUD de Usuário | ## Criar uma página para cada operação do CRUD | ||
# Buscar livros disponíveis para empréstimo (Júlia) | ## 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 ''(Júlia)'' | |||
## 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 | # Avisar de datas para devolução | ||
# Capturar ISBN do livro | # Capturar ISBN do livro | ||
# Dispor Livros em estantes virtuais conforme gênero | # Dispor Livros em estantes virtuais conforme gênero | ||
# Permutar livros | # Permutar livros | ||
| Linha 22: | Linha 30: | ||
# Devolver livros | # Devolver livros | ||
# Vender livros | # Vender livros | ||
# Prorrogar data de devolução (Júlia) | # Gerenciar livros emprestados | ||
# Prorrogar data de devolução ''(Júlia)'' | |||
## 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 | # Qualificar usuário | ||
# Enviar livro pelo Correios | # Enviar livro pelo Correios | ||
# Gerar etiqueta de identificação (Júlia) | # Gerar etiqueta de identificação ''(Júlia)'' | ||
## Gerar um código de barras para cada livro cadastrado | |||
## Salvar automaticamente código de barras nas informações do livro | |||
<br> | <br> | ||
Edição das 13h40min de 20 de julho 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 (Júlia)
- 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
- Capturar ISBN do livro
- Dispor Livros em estantes virtuais conforme gênero
- Permutar livros
- Emprestar livros
- Devolver livros
- Vender livros
- Gerenciar livros emprestados
- Prorrogar data de devolução (Júlia)
- 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
- Enviar livro pelo Correios
- Gerar etiqueta de identificação (Júlia)
- 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