Skip to content

Projeto Final do FastAPI do Zero - Meu Acervo Digital de Romances

License

Notifications You must be signed in to change notification settings

eduardoklosowski/exercicio-curso-fastapi-do-zero-madr

Repository files navigation

Projeto Final do FastAPI do Zero - Meu Acervo Digital de Romances

Esse é meu projeto final do curso FastAPI do Zero. Mas informações podem ser vistas aqui.

Ferramentas

  • EditorConfig: Auxiliar a configuração do editor (charset, formato de quebra de linha, indentação dos diferentes tipos de arquivos, espaços no final das linhas, quebra de linha no final dos arquivos).
  • Dev Containers: Criar ambiente de desenvolvimento dentro de um contêiner Docker de forma automatizada, não exigindo nenhuma configuração manual.
  • GNU Make: Executar comandos no projeto.
  • GitHub Actions: Executar os lints e testes no servidor.
  • Poetry: Gerenciar o projeto Python e controlar as dependências.
  • Ruff: Formatador e regras de lint para o código Python.
  • mypy: Varifica erros de tipos no código Python.
  • pytest: Testes automatizados no código Python.
  • minikube: Gerencia cluster Kubernetes local para testes.
  • Helm: Gerencia recursos da aplicação criados no Kubernetes.

Como configurar o projeto para desenvolvimento local?

A configuração do projeto ocorre de forma automática pelo Development Containers, bastando ter o Docker instalado e abrir o projeto no editor. No Visual Studio Code é necessário ter a extensão Dev Containers instalada, após isso basta abrir o projeto que o próprio Visual Studio Code sugerirá reabri-lo dentro do contêiner.

Caso não queira utilizar um editor específico, é possível construir o ambiente utilizando o pacote CLI.

Executa lints e testes no commit

É possível executar os lints e testes a cada commit, garantindo que os mesmos estejam passando antes do commit seja realizado. Para isso basta executar o seguinte comando a baixo:

cat > .git/hooks/pre-commit << EOF
#!/bin/sh
make lint test
EOF
chmod +x .git/hooks/pre-commit

pgAdmin4

Esse projeto possui o pgAdmin4 para a adiministração do banco de dados PostgreSQL. Use as informações a baixo para acessá-lo:

URL: http://localhost:5050/
Usuário: [email protected]
Senha: postgres
Senha do banco: postgres

Kubernetes

Esse projeto pode ser executado no Kubernetes, para isso o [minikube] está disponível no dev container para testá-lo localmente.

Para iniciar um cluster do Kubernetes local, execute o seguinte comando:

make minikube-start

Para parar a execução do cluster Kubernetes, basta executar o comando:

make minikube-stop

Dessa forma é possível usar o comando de iniciar para executá-lo novamente. Para apagar o cluster, é possível usar o comando:

make minikube-delete

Opcionalmente é possível acessar um dashboard do Kubernetes quando ele está executando com o comando:

make minikube-dashboard

O deploy da aplicação pode ser feita utilizando o comando:

make minikube-run-app

Após isso é possível acessar a API atráves do endereço mostrado na tela ou por http://localhost:8000/.

A aplicação também pode ser removida do Kubernetes com o comando:

make minikube-delete-app

About

Projeto Final do FastAPI do Zero - Meu Acervo Digital de Romances

Topics

Resources

License

Stars

Watchers

Forks