Task Collab API é uma aplicação de gerenciamento de tarefas desenvolvida como parte do curso Técnico em Informática para Internet do SENAI. Este projeto consiste em uma API RESTful construída com Django REST Framework que permite aos usuários criar, visualizar, atualizar e excluir tarefas pessoais.
- Django: Framework web Python para desenvolvimento rápido
- Django REST Framework: Toolkit para construção de APIs RESTful
- Simple JWT: Implementação de autenticação JWT para Django REST Framework
- SQLite/PostgreSql: Banco de dados (SQLite para desenvolvimento, PostgreSql para produção)
- Swagger: Documentação da API
- Django 5.2.1
- Django REST Framework 3.16.0
- djangorestframework_simplejwt 5.5.0
- drf-yasg 1.21.10 (para documentação Swagger)
- python-dotenv 1.1.0
A API segue uma arquitetura RESTful e está organizada em apps Django:
- accounts: Gerencia autenticação e usuários
- tasks: Gerencia as tarefas dos usuários
- common: Componentes compartilhados entre apps
- core: Configurações principais do projeto
- Registro de novos usuários
- Autenticação via JWT (JSON Web Tokens)
- Login e geração de tokens de acesso e atualização
- Criação de tarefas com título, descrição, prioridade, prazo e status
- Listagem de tarefas com opções de filtragem e ordenação
- Visualização detalhada de tarefas individuais
- Atualização completa ou parcial de tarefas
- Exclusão de tarefas
- Permissões baseadas em propriedade (usuários só podem acessar suas próprias tarefas)
- Python 3.8 ou superior
- pip (gerenciador de pacotes Python)
- Git (opcional, para clonar o repositório)
-
Clone o repositório
git clone https://github.com/Davi-D18/task_collab_api.git cd task_collab_api -
Crie e ative um ambiente virtual
# Linux/macOS python -m venv venv source venv/bin/activate # Windows python -m venv venv venv\Scripts\activate
-
Instale as dependências
pip install -r requirements.txt
-
Configure as variáveis de ambiente
cp .env.example .env # Edite o arquivo .env com suas configurações -
Execute as migrações do banco de dados
sh run.sh migrate
-
Crie um superusuário (opcional)
sh run.sh createsuperuser
-
Inicie o servidor de desenvolvimento
sh run.sh runserver
O servidor estará disponível em http://127.0.0.1:8000/api/v1/.
Acesse a documentação interativa da API em:
http://127.0.0.1:8000/docs/
task_collab_api/
├── apps/
│ ├── accounts/ # App para gerenciamento de usuários e autenticação
│ │ ├── controllers/ # Controladores (views) para operações de usuário
│ │ ├── routes/ # Definição de rotas para endpoints de usuário
│ │ └── schemas/ # Serializadores para modelos de usuário
│ │
│ └── tasks/ # App para gerenciamento de tarefas
│ ├── controllers/ # Controladores (views) para operações de tarefas
│ ├── models/ # Definição do modelo de dados para tarefas
│ ├── routes/ # Definição de rotas para endpoints de tarefas
│ └── schemas/ # Serializadores para modelos de tarefas
│
├── common/ # Componentes compartilhados entre apps
│ └── permissions/ # Classes de permissão personalizadas
│
├── core/ # Configurações principais do projeto
│ ├── settings/ # Configurações do Django
│ └── urls.py # Configuração de URLs principal
│
└── docs/ # Documentação da API
Para informações mais detalhadas sobre os endpoints disponíveis e como utilizá-los, consulte a documentação na pasta docs/:
Este projeto é parte de uma solução completa que inclui também um front-end desenvolvido separadamente. O front-end consome esta API para fornecer uma interface gráfica amigável para gerenciamento de tarefas.
Para acessar o front-end, consulte o seguinte repositório Link