Skip to content

toledomg/T15-Projeto-Final-Backend-M5

Repository files navigation

🏆 T15 - Projeto Final Backend BiblioteKA 📚 - M5

🚀 Projeto Backend BiblioteKA 📚

💡 Introdução

  • O objetivo desse projeto foi construir uma aplicação que faz a gestão de uma biblioteca.

📚 Requisitos

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);

💻 Features

  • 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

Empréstimo de Livros

  • Cada livro só poderá ser emprestado por um período fixo de tempo.

Devolução de Livros

  • 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.

Bloqueio de Novos 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.

Usuários

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.

Funcionalidades permitidas aos estudantes:

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.

Funcionalidades permitidas aos colaboradores:

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).

Rota para Login e acesso ao reset_password:

http://URL_API/login/

  • Nesse link tem uma tela de login com um botão reset password.

🚀 Tecnologias


💫 Links


🚚 Documentação API / Rotas da Aplicação


🧱 Pré-requisitos

🎲 Rodando o Back End

git clone https://github.com/toledomg/T15-Projeto-Final-Backend-M5.git

💾 Instale as dependências

pip install -r requirements.txt

A partir disso, prossiga com os passos:

  1. Crie seu ambiente virtual:
python -m venv venv
  1. Ative seu venv:
# Linux:
source venv/bin/activate

# Windows (Powershell):
.\venv\Scripts\activate

# Windows (Git Bash):
source venv/Scripts/activate
  1. Execute o Servidor
python manage.py runserver

Import WorkSpace Insomnia

Run in Insomnia}


🤝 Contribuições

made-with-django made-with-postgres

made-with-license contributors commits

About

T15 Projeto Final Backend M5

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •