Gerenciador de tarefas com boas práticas do FastAPI
Nota: Esse projeto foi feito com base no Curso Básico de FastAPI do Zero
Inicie o projeto com o docker-compose
docker-compose up
Ao iniciar o projeto vá em http://localhost:8000/docs para ver toda a sua documentação
Passos iniciais:
- Crie um usuário em
POST /users/ Create User
- Logue com esse usuário clicando em
Authorize
- Quando logado o usuário pode gerenciar suas informações e tarefas
Obs: O
username
é ousername: [email protected]
password: user12345
- Desenvolvimento baseado em testes (TDD)
- Injeção de dependências
- Banco de dados evolutivo (Migrations)
- ORM com SQLAlchemy
- Conteinerização do Projeto
- Integração Continua (CI/CD)
- Deploy no Fly.io
- Python3.11.6
- Pode ser usado com o pyenv
- Poetry
- Gerencia o projeto e suas dependências
- Docker
- Gerencia o ambiente da aplicação
# Crie o .env com base no .env.example e o modifique
cp .env.example .env
# Instale as dependências do projeto
poetry install
# Entre no ambiente virtual (.venv)
poetry shell
# Crie banco de dados e suas tabelas
task db_init
# Inicie o projeto
task run
# Inicia a verificação de estilo do código
task lint
# Inicia as correções do estilo do código
task fix
# Inicia os testes
task test
# Gera um arquivo de cobertura de testes em html
task post_test
# Cria uma nova migração
task db_migration -m '<mensagem>'
# Cria o banco de dados
task db_init
# Atualiza a próxima migração
task db_up +1
# Retorna a migração anterior
task db_down -1
# Inicia o projeto
task run
Utilizando alguns padrões do conventional commits em português
- Commits
- Escopo:
<ação>: <mensagem>
- Exemplo:
feat: criação de crud em /users
- Escopo:
- Branches
- Escopo:
<ação>-<usuário>-<mensagem>
- Exemplo:
feat-brunodavi-crud-da-rota-users
- Escopo:
- Pull Requests
- Escopo:
[ <AÇÃO> ] <Titulo>
- Exemplo:
[ FEAT ] Criação de CRUD na rota de usuários
- Escopo:
- Issues
- Regras:
-
- Veja se o problema já foi resolvido
-
- Descreva o que aconteceu e o que você já tentou fazer
-
- Escopo:
<Titulo>
- Exemplo:
Ouve um problema na criação de usuários
- Regras: