Skip to content

taconi/fastapi-do-zero

 
 

Repository files navigation

FastAPI do Zero

O site gerado por esse repositório está disponível em: fastapidozero.dunossauro.com.

O objetivo final desse curso é que ele também seja disponibilizado em vídeo quando a escrita do material terminar. Nos vemos no youtube em breve!

O objetivo desse projeto é ensinar FastAPI para pessoas que queiram ter o seu primeiro contato com o mesmo. A ideia padrão é construir uma aplicação pequena e simples, mas executando todos os passos até o deploy.

As Aulas estão dividas em:

  1. Apresentação do curso
  2. Configurando o Ambiente de Desenvolvimento
  3. Introdução ao desenvolvimento WEB
  4. Estruturando seu Projeto e Criando Rotas CRUD
  5. Configurando Banco de Dados e Gerenciando Migrações com Alembic
  6. Integrando Banco de Dados a API
  7. Autenticação e Autorização
  8. Refatorando a Estrutura do Projeto
  9. Tornando o sistema de autenticação robusto
  10. Criando Rotas CRUD para Tarefas
  11. Dockerizando a aplicação
  12. Automatizando os testes com integração contínua
  13. Fazendo o deploy no fly.io
  14. Despedida

Caso precise reconstruir o ambiente para as páginas

Sobre o ambiente

Todo esse projeto é gerenciado pelo Poetry, a versão usada durante o momento da escrita é 1.8.4:

pipx install poetry==1.8.4

A versão usada do python é a versão 3.13.0:

pyenv local 3.13.0

para configurar todo o ambiente basta executar:

poetry install

para ativar o ambiente virtual:

poetry shell

Sobre os comandos

Os comandos para executar funções como deploy, servidor local, geração de slides, etc. Estão todas sendo feitas pelo taskipy:

task --list
serve       Executa o servidor local do mkdocs
deploy      Faz o deploy da página em produção
slides      Gera os slides em pdf
slides_html Gera os slides em html (formato usado nas aulas)
pdf         Cria um pdf único de todo o curso (não otimizado ainda)

Para executar qualquer comando, basta usar: task <comando>, como por exemplo task serve.

Sobre os slides

Todos os slides foram feitos usando marp. Versão do marp usada: 3.4.0. O tema rose-pine está dentro da pasta dos slides brutos.

Releases

No releases published

Packages

No packages published

Languages

  • Python 93.8%
  • Mako 2.3%
  • HTML 1.5%
  • CSS 1.4%
  • JavaScript 0.5%
  • Dockerfile 0.3%
  • Shell 0.2%