Este é um projeto de API RESTful para gerenciamento tarefas, desenvolvido em Python com FastAPI e SQLite. A API permite criar, ler, atualizar e deletar tarefas de forma simples e eficiente.
- Listar todas as tarefas
- Obter uma tarefa específica pelo ID
- Adicionar uma nova tarefa
- Atualizar uma tarefa existente
- Deletar uma tarefa
- Python: Linguagem de programação.
- FastAPI: Framework para construir APIs de forma rápida e eficiente.
- SQLite: Banco de dados relacional leve utilizado para armazenar as tarefas.
- Pydantic: Biblioteca para validação de dados e criação de modelos.
- Uvicorn: Servidor ASGI para executar a aplicação FastAPI.
-
GET
/
Retorna uma mensagem de boas-vindas.
-
GET
/tasks
Retorna uma lista de todas as tarefas.
-
GET
/tasks/{id}
Retorna os detalhes de uma tarefa específica pelo ID.
-
POST
/tasks
Adiciona uma nova tarefa. O corpo da requisição deve ser um JSON com o seguinte formato:
{ "title": "Título da tarefa", "description": "Descrição da tarefa", "category": "Categoria da tarefa", "status": false }
-
PUT
/tasks/{id}
Atualiza uma tarefa existente. O corpo da requisição deve ser um JSON com o mesmo formato do endpoint de adição.
-
DELETE
/tasks/{id}
Deleta uma tarefa específica pelo ID.
-
.json
:- Contém um modelo de tarefa em formato JSON, definindo a estrutura básica com campos como
title
,description
,category
estatus
.
- Contém um modelo de tarefa em formato JSON, definindo a estrutura básica com campos como
-
actions.py
:- Contém funções para interagir com o banco de dados SQLite, incluindo inicialização do banco, leitura, adição, atualização e exclusão de tarefas. Utiliza logging para registrar operações.
-
app.py
:- Arquivo principal da aplicação FastAPI. Define as rotas da API, inicializa o banco de dados na inicialização da aplicação e implementa as operações CRUD (Create, Read, Update, Delete) para as tarefas.
-
local.db
:- Arquivo do banco de dados SQLite que armazena as tarefas. É criado automaticamente quando a aplicação é executada pela primeira vez.
-
models.py
:- Define os modelos de dados utilizando Pydantic. Inclui um modelo de tarefa (
Task
) e um modelo de consulta (query_model
) para validação de dados.
- Define os modelos de dados utilizando Pydantic. Inclui um modelo de tarefa (
-
requirements.txt
:- Lista as dependências do projeto, especificando as versões das bibliotecas necessárias para executar a aplicação, como FastAPI, Pydantic e Uvicorn.
Certifique-se de ter o Python 3.7 ou superior instalado em sua máquina.
-
Clone o repositório:
git clone https://github.com/ianfelps/tasks_api.git
-
Instale as dependências:
pip install -r requirements.txt
Para executar a API, use o seguinte comando:
uvicorn app:app --reload
A API estará disponível localmente em http://localhost:8000
.
O repositório tasks_api
fornece uma implementação básica de uma API RESTful para gerenciamento de tarefas, utilizando tecnologias modernas e práticas recomendadas para desenvolvimento de APIs. Cada arquivo tem um papel específico, contribuindo para a funcionalidade e a organização do projeto.