Este guia prático e progressivo conduz você desde o domínio dos fundamentos até o desenvolvimento de um projeto com estrutura profissional, como se fosse feito dentro de uma empresa.
Ao final, você terá um projeto completo, modular, com testes, logs, API e deploy em Docker — além de um portfólio técnico forte.
Objetivo: dominar os blocos de construção e aprender a escrever código limpo.
- Estruturas de dados (listas, tuplas, dicionários, sets)
- Funções puras e funções com efeitos colaterais
*args,**kwargs,lambda,map,filter,zip- Programação orientada a objetos:
- classes, herança, polimorfismo, encapsulamento
typinge docstrings- Tratamento de erros (
try,except,raise) - Boas práticas: PEP8, PEP20, e princípios Clean Code
Criar uma biblioteca de utilidades com funções reutilizáveis bem documentadas.
Objetivo: aprender a organizar projetos reais como em empresas.
- Módulos e pacotes (
__init__.py) - Estrutura de diretórios (
src/,tests/,data/) - Importações relativas e absolutas
- Logs com o módulo
logging - Configurações com
.envedotenv
Criar um gerenciador de tarefas em terminal (CLI):
core/para lógica de negóciostorage/para persistência em arquivo JSONcli.pycomo interface principal
Objetivo: garantir que o código é confiável e fácil de manter.
- Testes com
pytest - Mocks e fixtures
- Cobertura de testes
- Linter (
flake8,pylint) - Formatter (
black,isort) - Type checking com
mypy
Adicionar testes automáticos ao gerenciador de tarefas da etapa 2.
Objetivo: aprender a expor serviços e interagir via HTTP.
- Introdução ao Flask ou FastAPI
- Estrutura MVC (Model, View, Controller)
- Rotas, parâmetros e respostas JSON
- Camada de serviços e repositórios
- Testes de integração
Transformar o gerenciador de tarefas em uma API REST com FastAPI.
Objetivo: introduzir o armazenamento persistente e ORM.
- SQLite / PostgreSQL
- SQL básico
- ORM com SQLAlchemy ou Tortoise ORM
- Padrão Repository
- Migrations
Conectar a API a um banco de dados e criar endpoints de CRUD completos.
Objetivo: preparar o projeto para rodar como em um ambiente real de produção.
Dockerfileedocker-compose- Logs e configuração de níveis (
INFO,ERROR) - Variáveis de ambiente seguras
- Documentação com
READMEe docstrings - Introdução a CI/CD (GitHub Actions)
Deploy do sistema completo usando Docker + FastAPI + PostgreSQL.
Você terá:
- Um projeto real com arquitetura profissional
- Entendimento de boas práticas corporativas
- Habilidade de trabalhar em qualquer equipe Python
- Portfólio técnico para apresentar em entrevistas de desenvolvedor
Avance uma etapa por vez.
A cada etapa, implemente o mini-projeto proposto e peça uma revisão de código.
Essa prática é o que mais aproxima da rotina de um desenvolvedor Python em ambiente profissional.