Este projeto é uma API de gerenciamento de tarefas (Task Management) desenvolvida com Django e Django REST Framework (DRF). Ele permite a criação de tarefas, categorias, prioridades e gerenciamento de usuários e grupos, utilizando autenticação via JWT.
- Autenticação: Login e geração de tokens JWT.
- Usuários: Gerenciamento de usuários.
- Grupos: Organização de usuários em grupos (equipes).
- Tarefas: Criação, edição e exclusão de tarefas.
- Categorias e Prioridades: Organização e classificação das tarefas.
- Validação de Datas: Garantia de que a data de término não seja anterior à data de início.
- Python
- Django
- Django REST Framework
- Simple JWT
- SQLite (Banco de dados padrão)
- Python 3.10 ou superior
- Pip (gerenciador de pacotes do Python)
-
Clone o repositório:
git clone https://github.com/seu-usuario/API-Solucoes-Internet.git cd API-Solucoes-Internet -
Crie e ative um ambiente virtual:
# No Windows python -m venv venv .\venv\Scripts\activate # No Linux/macOS python3 -m venv venv source venv/bin/activate
-
Instale as dependências:
pip install -r requirements.txt
-
Execute as migrações do banco de dados:
python manage.py migrate
-
Crie um superusuário (opcional, para acessar o admin):
python manage.py createsuperuser
-
Inicie o servidor de desenvolvimento:
python manage.py runserver
A API estará disponível em
http://127.0.0.1:8000/.
Abaixo estão alguns dos principais endpoints disponíveis:
-
Autenticação:
POST /api/token/: Obter token JWT (login).POST /api/token/refresh/: Atualizar token JWT.
-
Usuários:
GET/POST /api/users/: Listar ou criar usuários.
-
Tarefas:
GET/POST /api/tasks/: Listar ou criar tarefas.GET/PUT/DELETE /api/tasks/{id}/: Detalhes, editar ou excluir uma tarefa.
-
Categorias:
GET/POST /api/categories/: Gerenciar categorias de tarefas.
-
Prioridades:
GET/POST /api/priorities/: Gerenciar níveis de prioridade.
taskflow/: Configurações principais do projeto Django.authentication/: App responsável pela lógica de autenticação.users/: App de gerenciamento de usuários.groups/: App de gerenciamento de grupos/equipes.tasks/: App principal de tarefas, categorias e prioridades.manage.py: Script de gerenciamento do Django.requirements.txt: Lista de dependências do projeto.