Backend da aplicação iDotPet

Configuração do Ambiente

Docker

1 - Para instalar o Docker siga o tutorial oficial

2 - Com o Docker instalado, suba o ambiente de desenvolvimento

docker-compose up --build

A flag --build deve ser usada sempre que alguma configuração do ambiente for alterada, como o arquivo requirements.txt por exemplo.

3 - Execute as migrations para atualizar o banco de dados

docker-compose exec app sh -c "PYTHONPATH=/app/src alembic upgrade head"

4 - Conectando no postgres via terminal

Quando a senha for solicitada, insira 'postgres' sem as aspas.

docker-compose exec db psql -d idotpet -U postgres -W

Parabéns você configurou seu ambiente de desenvolvimento!!

Local

PostgreSQL

1 - Instalar o banco de gerenciador de banco de dados PostgreSQL

No Linux:

$ sudo apt install postgresql-12

Outros sistemas operacionais:

Documentação de download do PostgreSQL

O próximo passo é alterar a senha do usuário padrão do postgres, para poder logar.

2 - Alterar senha do usuário padrão do postgres

Logue como root no seu terminal e, em seguida, altere a senha:

$ su - root
$ passwd postgres

3 - Logar no usuário do postgres

$ su - postgres
# Inserir senha do item anterior

4 - Importar o script de criação do banco

No usuário do postgres execute

$ psql

para entrar no postgresql.

Digite

$ \i <caminho_ate_este_respositório>/2022.2_G4_IdotPet_Backend/sql/initdb.sql

alterando a flag <caminho_ate_este_respositório> para sua árvore de arquivos. O comando \i é usado para realizar o import do script SQL para sua database.

Pronto! Seu ambiente PostgreSQL está pronto!

Aplicação

Caso esteja no Windows substitua python3 por python nos comandos abaixo

1 - Crie um ambiente virtual para as dependências

python3 -m venv venv

2 - Ative o ambiente virtual

Windows:

.\venv\Scripts\Activate.ps1

Linux:

source ./venv/bin/activate

3 - Instale as dependências do projeto

Primeiro, atualize a versão do pip. Geralmente ela não vem na ultima versão ao criar um novo ambiente virtual.

pip3 install -U pip

Com o pip atualizado, instale as dependências.

pip3 install -r requirements.txt

4 - Execute as migrations para atualizar o banco de dados

Para esta etapa é importante que o seu PostgreSQL já tenha sido configurado e esteja em execução.

Windows:

$Env:PYTHONPATH='.\src\'
alembic upgrade head

Linux:

PYTHONPATH=/app/src alembic upgrade head

5 - Execute a aplicação

python3 src/main.py

Parabéns você configurou seu ambiente de desenvolvimento!!