Prévia do material em texto
Trilha Completa de Estudos
Projeto Gerenciador de Tarefas em
Python
Este documento apresenta uma trilha detalhada e progressiva de 4 versões do mesmo projeto, ideal para
iniciantes evoluírem no Python e avançarem até o desenvolvimento full-stack com FastAPI, MongoDB e
frontend.
Versão 1 — Gerenciador no Terminal (Python Básico)
Objetivo: Ensinar lógica de programação usando Python puro.
• Entrada e saída de dados com input() e print()
• Uso de variáveis
• Tipos básicos: int, str, bool
• Listas e dicionários
• Estruturas condicionais: if, elif, else
• Loops: for e while
• Criar e chamar funções
• Organização mínima do programa (funções separadas)
Funcionalidades da versão:
• Criar tarefas (título e descrição)
• Listar tarefas
• Editar tarefas
• Excluir tarefas
• Marcar tarefas como concluídas
• Menu principal em loop contínuo
Resultado esperado:
Ao final dessa fase, o aluno deve saber manipular dados em memória, estruturar o fluxo do programa e
entender lógica básica de programação.
Versão 2 — Persistência com JSON (Python
Intermediário)
Objetivo: Introduzir persistência e modularização.
• Importação de módulos (import json)
• Persistência com JSON: json.dump e json.load
• Leitura e escrita de arquivos
• Tratamento de erros com try/except
• Separação em múltiplos arquivos (ex: main.py, persistencia.py, tarefas.py)
• Refinamento das funções (parâmetros, retornos)
Funcionalidades adicionais:
• Salvar tarefas em arquivo JSON
• Carregar tarefas automaticamente ao iniciar o programa
• Garantir que o ID das tarefas não se perca entre execuções
• Melhorar o menu com organização mais limpa
Resultado esperado:
O aluno passa a entender persistência de dados, modularização e tratamento de erros.
Versão 3 — API com FastAPI + MongoDB (Backend
Real)
Objetivo: Criar um backend real com CRUD completo usando banco
de dados.
• Criar projeto FastAPI
• Executar servidor com uvicorn
• Entender rotas e métodos HTTP (GET, POST, PUT, PATCH, DELETE)
• Criar modelos de entrada e saída usando Pydantic
• Introdução à programação assíncrona (async/await)
• Instalação e uso do Motor (driver async para MongoDB)
• Conexão com banco usando string de conexão MongoDB Atlas
• Criação da coleção 'tarefas'
• Conversão entre ObjectId e string
Rotas obrigatórias:
• GET /tarefas — listar todas
• GET /tarefas/{id} — buscar por ID
• POST /tarefas — criar nova
• PUT /tarefas/{id} — atualizar tudo
• PATCH /tarefas/{id} — atualizar parcialmente
• PATCH /tarefas/{id}/concluir — marcar concluída
• DELETE /tarefas/{id} — remover
Resultado esperado:
O aluno deve ser capaz de criar uma API profissional, conectada a um banco NoSQL, entendendo
conceitos fundamentais do desenvolvimento backend.
Versão 4 — FastAPI + MongoDB + Frontend Completo
Objetivo: Construir uma aplicação full■stack simples.
• Criar interface HTML/CSS básica ou usar React minimalista
• Consumir API via fetch() ou axios
• Entender requisições assíncronas no navegador
• Manipulação do DOM ou componentes
• Configurar CORS no FastAPI
• Estruturar pastas separando frontend e backend
Funcionalidades no frontend:
• Listar tarefas automaticamente ao abrir
• Criar tarefa via formulário
• Editar tarefa
• Excluir tarefa
• Marcar como concluída
• Filtros: todas | concluídas | pendentes
Resultado esperado:
O aluno aprenderá como integrar uma API com uma interface visual, compreendendo de ponta a ponta
como funciona um projeto web moderno.