joismar / Python-FastAPI-MongoDB-API

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Python FastAPI MongoDB API

Principal linguagem do projeto Quantidade de linguagens utilizadas Tamanho do repositório Licença

Sobre   |   Funcionalidades   |   Tecnologias   |   Pré requisitos   |   Começando   |   Licença   |   Autor


🎯 Sobre

O projeto a seguir implementa uma API em Python com uso de FastAPI e MongoDB como banco de dados.

✨ Funcionalidades

✔️ API de consultar CEP, onde dado um CEP retornará os dados de endereço a partir de uma API pública;
✔️ CRUD de uma entidade Pessoa integrada a API de CEP;
✔️ Persistência dos dados em MongoDB;
✔️ Documentação automática em SwaggerUI seguindo os padrões do FastAPI;
✔️ Containerização para fast deploy.

🚀 Dependências

Os seguintes módulos e ferramentas foram usados na construção do projeto:

✅ Pré requisitos

Antes de começar 🏁, você precisa ter o Git, Python 3.7 ou superior instalados em sua maquina ou em uma virtual env e um MongoDB local instalado ou em docker, nesse projeto você só precisará executar o comando docker-compose up na raiz do projeto.

🏁 Começando

Primeiro...

# Clone este repositório
$ git clone https://github.com/joismar/python-fastapi-mongodb-api

# Entre na pasta
$ cd python-fastapi-mongodb-api

# Crie a pasta do mongodb para usar com docker (somente se não tiver instalado localmente)
$ mkdir mongodb/database

Rodando... (com docker)

Descomente as linhas correspondentes a API no arquivo docker-compose.yml

# Execute o comando abaixo e... Pronto!
$ docker-compose up -d

# O app vai inicializar em <http://localhost:8080>

Rodando... (com dependency manager)

# Subir mongodb no docker
$ docker-compose up -d

# Instale as dependências (com poetry)
$ poetry install
# Ou use o requirements.txt para usar o seu gerenciador de dependencias preferido

# Para iniciar o projeto
$ poetry shell
$ > uvicorn app.main:app --host 0.0.0.0 --port 8080 --reload
# Caso não esteja usando o poetry, execute o comando acima na raiz do projeto
# remova o "--reload" para produção

# O app vai inicializar em <http://localhost:8080>

Testando a API

Abra http://localhost:8080/docs em seu navegador e realize os testes 😁/

📝 Licença

Este projeto está sob licença MIT. Veja o arquivo LICENSE para mais detalhes.

Feito com ❤️ por Joismar Braga

 

Voltar para o topo

About

License:MIT License


Languages

Language:Python 97.9%Language:Dockerfile 2.1%