/Task-Manager

Uma API de gerenciamento de tarefas feita com Django Rest Framework, nela é possível se registrar, logar e criar suas tarefas, também é possivel editá-las, visualizá-las e excluí-las individualmente.

Primary LanguagePython

Task Manager

Uma API para gerenciamento de tarefas, nela é possível se registrar, logar e criar suas tarefas, também é possível visualizar, editar e excluir tarefas individualmente.

A principal motivação desse repositório é aprender mais sobre o Django e o DRF (Django REST Framework), e também aprender e aplicar conceitos de hash de senha com bcrypt, autenticação com JWT e níveis de permissões de usuários.

Tabela de Conteúdos

Funcionalidades

  • Cadastro de contas de usuários
  • Hashing de senha com bcrypt
  • Autenticação/Login com Token JWT
  • Permissões de usuário
  • Usuário pode criar tarefas
  • Usuário pode editar/excluir uma tarefa

O que eu aprendi com esse projeto

  • Criar sistema de login com autenticação via JWT
  • Armazenamento de senhas com hash bcrypt
  • Permissões de usuários da aplicação
  • Documentação da API com Swagger
  • Criar rotas e views/serializers mais detalhados

API documentada com Swagger

API Swagger

Como executar o projeto

  • Ative a venv com "source ./venv/bin/activate" se estiver no Linux, caso seja Windows o comando é "./venv/scripts/activate".
  • Para instalar as libs necessárias use o comando "pip install -r requirements.txt"
  • Rode as migrations com o comando "python manage.py migrate"
  • Crie um arquivo .env com "JWT_SECRET_KEY=< chave da sua escolha >"
  • Rode o servidor com o comando "python3 manage.py runserver"