Skip to content

API com CRUD para registro e login de usuários no sistema, desenvolvida com Python/Fast-API

License

Notifications You must be signed in to change notification settings

Claayton/mitmirror-api

Repository files navigation

🪞 MitMirror

MIT License CIGitHub issues GitHub stars GitHub last commit Code Style Black

mitmirror logo

📋 Features

  • API para rede social focada em desenvolvimento pessoal
  • Desenvolvida em Python/FastApi
  • Realizar CRUD de usuários
  • Autenticação e Autorização utilizando JWT
  • Hospedada em https://mitmirror.herokuapp.com

🚀 Quick start

Com Docker:

Com docker tudo fica mais simples, é só rodar o comandoa seguir e a API ja deverá estar setada em https://0.0.0.0:8080

docker-compose up --build

Sem Docker:

O projeto foi desenvolvido em um sistema operacional linux mint 20.03, na versão versão 3.10.2 do python, as instruções deverão funcionar em qualquer sistema baseado no ubuntu e em qualquer versão do python acima da 3.8, mas é recomendado que utilize um ambiente o mais semelhante possível para evitar conflitos (de preferência utilizar o docker, principalmente se for rodar no windows).

Eu utilizei pyenv para instalar o python, mas vocẽ pode utilizar o site oficial se preferir.

Ambiente virtual

É uma boa prática criar um ambiente virtual para isolar o projeto da sua maquina e evitar conflitos, utilize o comando a seguir para instalar o virtualenv caso ainda não tenha instalado:

 sudo pip3 install virtualenv

Agora configure seu ambiente virtual para evitar possiveis conflitos:

python3 -m venv venv 

Em seguida você deverá ativar esse ambiente:

source venv/bin/activate 

Agora instale as bibliotecas e pacotes necessários para rodar o projeto:

pip3 install -r requirements.txt

Você vai precisar de um arquivo para alocar suas variáveis de ambiente e segredos, use o comando abaixo para criá-lo e exportar as variáveis:

echo 'MARIADB_USER=testedb
MARIADB_PASSWORD=teste
MARIADB_ROOT_PASSWORD=teste' > .env &&
echo 'SECRET_KEY="teste"
CONNECTION_STRING = "mysql+pymysql://root:teste@testedb/mitmirror_database?charset=utf8mb4"' > .secrets.toml

🎉 O projeto ja está configurado e pronto para ser testado em modo de desenvolvedor:

python3 run.py

⚙️ Tests

Utilizar para esse projeto o pytest para fazer os testes necessários, para executar os testes utilize:

  # Rodar o testes da forma padrão + cobertura:
  pytest --cov

  # Rodar os testes + cobertura, mostrando os detalhes caso ocorra algum erro:
  pytest -v --cov

📋 Documentação

Acessar /docs ou /redoc para visualizar as documentações geradas automaticamente pelo FastApi.

About

API com CRUD para registro e login de usuários no sistema, desenvolvida com Python/Fast-API

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages