https://github.com/dunossauro/fastapi-do-zero
Curso básico de FastAPI
https://github.com/dunossauro/fastapi-do-zero
alembic brasil brazil fastapi pydantic python sqlalchemy
Last synced: 7 days ago
JSON representation
Curso básico de FastAPI
- Host: GitHub
- URL: https://github.com/dunossauro/fastapi-do-zero
- Owner: dunossauro
- Created: 2023-07-13T07:13:45.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-04-03T17:43:46.000Z (18 days ago)
- Last Synced: 2025-04-06T21:06:14.092Z (14 days ago)
- Topics: alembic, brasil, brazil, fastapi, pydantic, python, sqlalchemy
- Language: Python
- Homepage: https://fastapidozero.dunossauro.com/
- Size: 44 MB
- Stars: 768
- Watchers: 16
- Forks: 82
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# FastAPI do Zero
O site gerado por esse repositório está disponível em: [fastapidozero.dunossauro.com](https://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:
0. [Apresentação do curso](https://fastapidozero.dunossauro.com/)
1. [Configurando o Ambiente de Desenvolvimento](https://fastapidozero.dunossauro.com/01/)
2. [Introdução ao desenvolvimento WEB](https://fastapidozero.dunossauro.com/02/)
3. [Estruturando seu Projeto e Criando Rotas CRUD](https://fastapidozero.dunossauro.com/03/)
4. [Configurando Banco de Dados e Gerenciando Migrações com Alembic](https://fastapidozero.dunossauro.com/04/)
5. [Integrando Banco de Dados a API](https://fastapidozero.dunossauro.com/05/)
6. [Autenticação e Autorização](https://fastapidozero.dunossauro.com/06/)
7. [Refatorando a Estrutura do Projeto](https://fastapidozero.dunossauro.com/07/)
8. [Tornando o projeto assíncrono](https://fastapidozero.dunossauro.com/08/)
9. [Tornando o sistema de autenticação robusto](https://fastapidozero.dunossauro.com/09/)
10. [Criando Rotas CRUD para Tarefas](https://fastapidozero.dunossauro.com/10/)
11. [Dockerizando a aplicação](https://fastapidozero.dunossauro.com/11/)
12. [Automatizando os testes com integração contínua](https://fastapidozero.dunossauro.com/12/)
13. [Fazendo o deploy no fly.io](https://fastapidozero.dunossauro.com/13/)
14. [Despedida](https://fastapidozero.dunossauro.com/14/)---
### 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 é `2.1.2`:
```bash
pipx install poetry==2.1.2
pipx inject poetry poetry-plugin-shell
```A versão usada do python é a versão 3.13.2:
```
pyenv local 3.13.2
```para configurar todo o ambiente basta executar:
```bash
poetry install
```para ativar o ambiente virtual:
```bash
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`:
```bash
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 `, como por exemplo `task serve`.
#### Sobre os slides
Todos os slides foram feitos usando marp. Versão do marp usada: `4.0.3`. O tema `rose-pine` está dentro da pasta dos slides brutos.