Skip to content

Gerenciador de tarefas com boas práticas do FastAPI

License

Notifications You must be signed in to change notification settings

brunodavi/fast-todo

Repository files navigation

Fast Todo

imagem-do-projeto

Gerenciador de tarefas com boas práticas do FastAPI

Nota: Esse projeto foi feito com base no Curso Básico de FastAPI do Zero

Como Usar

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:

  1. Crie um usuário em POST /users/ Create User
  2. Logue com esse usuário clicando em Authorize
  3. Quando logado o usuário pode gerenciar suas informações e tarefas

Obs: O username é o email Exemplo:

username: [email protected]

password: user12345

Boas Práticas

  • 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

Contribua com o desenvolvimento

Dependências

Iniciar aplicação em desenvolvimento

# 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

Automação de tarefas

# 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

Git Flow

Utilizando alguns padrões do conventional commits em português

  • Commits
    • Escopo: <ação>: <mensagem>
    • Exemplo: feat: criação de crud em /users
  • Branches
    • Escopo: <ação>-<usuário>-<mensagem>
    • Exemplo: feat-brunodavi-crud-da-rota-users
  • Pull Requests
    • Escopo: [ <AÇÃO> ] <Titulo>
    • Exemplo:[ FEAT ] Criação de CRUD na rota de usuários
  • Issues
    • Regras:
        1. Veja se o problema já foi resolvido
        1. Descreva o que aconteceu e o que você já tentou fazer
    • Escopo: <Titulo>
    • Exemplo: Ouve um problema na criação de usuários