Projeto de uma livraria web, onde o usuário pode visualizar os livros e suas informações, além de poder fazer uma leitura e baixar o livro em PDF. Poder interagir com outros usuários, comentando e avaliando os livros, e Marcar em sua lista de favoritos. Também tem grupo de usuário responsavel por adicionar, editar e remover livros.
Você também pode pedi para ser parte desse grupo, basta entrar em contato com o administrador do grupo e pedir para ser adicionado.Captcha no formulário de login e cadastro, para evitar ataques de força bruta.
Aqui está uma matriz que descreve as permissões para diferentes tipos de usuários:
| Funcionalidade | Visitante | Usuário | Administrador | Usuário de Grupo | Adm. de Grupo |
|---|---|---|---|---|---|
| Visualizar livros | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| Visualizar informações do livro | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| Visualizar comentários | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| Ler livro | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| Buscar livros pelo nome | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| Criar conta | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| Login | ❌ | ✔️ | ✔️ | ✔️ | ✔️ |
| Avaliar livro | ❌ | ✔️ | ✔️ | ✔️ | ✔️ |
| Comentar livro | ❌ | ✔️ | ✔️ | ✔️ | ✔️ |
| Adicionar livro a lista de favoritos | ❌ | ✔️ | ✔️ | ✔️ | ✔️ |
| Remover livro da lista de favoritos | ❌ | ✔️ | ✔️ | ✔️ | ✔️ |
| Editar perfil | ❌ | ✔️ | ✔️ | ✔️ | ✔️ |
| Refinir senha | ❌ | ✔️ | ✔️ | ✔️ | ✔️ |
| Excluir conta | ❌ | ✔️ | ✔️ | ✔️ | ✔️ |
| Editar comentário | ❌ | ✔️ | ✔️ | ✔️ | ✔️ |
| Excluir comentário | ❌ | ✔️ | ✔️ | ✔️ | ✔️ |
| Recuperar senha | ❌ | ✔️ | ✔️ | ✔️ | ✔️ |
| Adicionar livro | ❌ | ❌ | ✔️ | ✔️ | ✔️ |
| Remover livro | ❌ | ❌ | ✔️ | ✔️ | ✔️ |
| Editar livro | ❌ | ❌ | ✔️ | ✔️ | ✔️ |
| Adicionar Usuário ao Grupo | ❌ | ❌ | ✔️ | ❌ | ✔️ |
| Remover Usuário do Grupo | ❌ | ❌ | ✔️ | ❌ | ✔️ |
| Remover Administrador do Grupo | ❌ | ❌ | ✔️ | ❌ | ✔️ |
| Adicionar Administrador de um Grupo | ❌ | ❌ | ✔️ | ❌ | ❌ |
| Remover Permissão de um Grupo | ❌ | ❌ | ✔️ | ❌ | ❌ |
| Adicionar Permissão a um Grupo | ❌ | ❌ | ✔️ | ❌ | ❌ |
| Criar Grupos | ❌ | ❌ | ✔️ | ❌ | ❌ |
| Remover Grupo | ❌ | ❌ | ✔️ | ❌ | ❌ |
| Editar Grupo | ❌ | ❌ | ✔️ | ❌ | ❌ |
Clone o projeto
git clone https://github.com/Wenderson-Oscar/Livraria.gitEntre no diretório do projeto
cd LivrariaCrie um ambiente virtual
python -m venv venvAtive o ambiente virtual
Windows
venv\Scripts\activateLinux
. venv/bin/activateInstale as dependências
pip install -r requirements.txtCrie o arquivo .env na raiz do projeto
touch .envAdicione as seguintes variáveis de ambiente ao arquivo .env
gerador de chave secreta SECRET_KEY: Djecrety.
SECRET_KEY="sua_chave_secreta"
DEBUG=False
EMAIL_HOST_USER = 'seu_email'
EMAIL_HOST_PASSWORD = 'sua_chave_de_email'Crie o banco de dados
python manage.py migrateInicie o servidor
python manage.py runserver