fastapi-todo

FastAPI ToDo List API

Uma API web simples e robusta para gestão de tarefas (ToDo List), construída com FastAPI, Python 3.13 e gerenciada com uv para controle de dependências e ambiente. Este projeto serve como base para aplicações de produtividade, estudos de APIs RESTful e integração com frontends modernos.


Table of Contents

  1. Conheça o Projeto
  2. Tutorial Construindo uma API de Gestão de Tarefas com FastAPI, Python 3.13 e uv

  3. Perguntas Frequentes

Sobre o Projeto

A FastAPI ToDo List API permite criar, listar, atualizar e excluir tarefas, com suporte a atributos como título, descrição, prioridade e status. O projeto foi desenhado para ser simples, didático e facilmente extensível, utilizando as melhores práticas REST e validação de dados com Pydantic.


Tecnologias Utilizadas


Instalação e Execução

Clone o repositório

git clone https://github.com/seu-usuario/fastapi-todo.git
cd fastapi-todo

Inicialize o ambiente virtual

uv venv
source .venv/bin/activate
.venv\Scripts\activate
uv add fastapi --extra standard

Execute a aplicação

fastapi dev

Endpoints da API

Método URI Descrição Status Code
GET /tasks Lista todas as tarefas 200
GET /tasks/{id} Detalha uma tarefa específica 200/404
POST /tasks Cria uma nova tarefa 201
PUT /tasks/{id} Atualiza uma tarefa existente 200/404
DELETE /tasks/{id} Remove uma tarefa 204/404

Modelos de Dados

TaskCreate (entrada)


class TaskCreate(BaseModel):
title: str
description: Optional[str] = None
priority: int
status: Literal["pendente", "em andamento", "concluída"]

Task (resposta)


class Task(TaskCreate):
id: str
created_at: datetime


Códigos de Status HTTP


Testes e Documentação Interativa

Acesse a documentação interativa em:

Você pode testar todos os endpoints diretamente pelo navegador.


Contribuindo

Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou pull requests.


Licença

Este projeto está licenciado sob a MIT License.


```