- O objetivo desse projeto foi construir uma aplicação que faz a gestão de uma biblioteca.
Saiba mais sobre os Requisitos do Projeto
- Utilizar Django Rest Framework como base do projeto;
- Desenvolver diagrama ER;
- Usar banco de dados postgres;
- Utilizar Autenticação/Autorização;
- Utilizar views desenvolvidas com Generic View;
- Documentação, tanto de como rodar seu projeto, quanto das rotas para validar o uso em produção;
- Deploy da Aplicação;
- Commits padronizados e organizados (Conventional Commits);
- Cadastro de usuários
- Bloqueio de usuários por atraso
- Histórico de Livros por usuário
- Verificação do Status de usuários no momento do empréstimo
- Cadastro de Livros
- Seguir Livros
- Informações de Livros
- Avaliação de Livros
- Livros disponíveis
- Devolução de Livros
- Devolução em Dia útil
- Multa de devolução tardia do Livro
- Send Email para usuários, quando o livro estiver disponível
- Bloqueio e desbloqueio automático de usuário atrasado
- Cada livro só poderá ser emprestado por um período fixo de tempo.
- Todos os livros emprestados deverão contém data de retorno.
- Quando a devolução cair em um fim de semana (sábado ou domingo), a data de retorno deverá é modificada para ser no próximo dia útil.
- Caso o estudante não devolva o livro até o prazo estipulado, ele é impedido (bloqueado) de solicitar outros empréstimos.
Se um estudante não efetuar a devolução dos livros no prazo estipulado, ele não poderá emprestar mais livros até completar a devolução dos anteriores. Após completar as devoluções pendentes, o bloqueio ainda permanece por alguns dias.
O sistema permite o cadastro de usuários com 2 tipos:
- Estudante
- Colaborador da biblioteca.
É possível também usuários não autenticados acessarem a plataforma para visualizar informações sobre os livros, como disponibilidade, título, etc.
De maneira geral, ao acessar a plataforma, um estudante pode:
- Ver seu próprio histórico de livros emprestados.
- Obter informações sobre livros.
- "Seguir" um livro a fim de receber notificações no email conforme a disponibilidade/status do livro.
De maneira geral, ao acessar a plataforma, um colaborador pode:
- Cadastrar novos livros.
- Emprestar livros.
- Verificar o histórico de empréstimo de cada estudante.
- Verificar status do estudante (se está bloqueado não pode emprestar uma nova cópia durante determinado tempo).
http://URL_API/login/
- Nesse link tem uma tela de login com um botão reset password.
git clone https://github.com/toledomg/T15-Projeto-Final-Backend-M5.git
pip install -r requirements.txt
- Crie seu ambiente virtual:
python -m venv venv
- Ative seu venv:
# Linux:
source venv/bin/activate
# Windows (Powershell):
.\venv\Scripts\activate
# Windows (Git Bash):
source venv/Scripts/activate
- Execute o Servidor
python manage.py runserver
-
Alexsandro Toledo
-
Carol Rocha
-
Laisa Andrade
-
Lucas Ribeiro Marques