Installation - isabelleqga/ESprojetoSEGEL GitHub Wiki

1. Pré-Requisitos

1.1. PostgreSQL (recomendado: versão 15)

1.2. Docker

1.3. Node.js (recomendado: versão 16.15.1)

2. Como Setar o Ambiente

2.1. Clone o Repositório

git clone https://github.com/projetaogrupoa/segel-app.git

2.2. Após clonar o repositório, entre na pasta back

cd back/

2.3. Dentro da pasta raiz criar um arquivo .env e colocar a seguinte informação

DB_USER=postgres
DB_PASSWORD=12345
DB_NAME=segel
USER_EMAIL=[COLOCAR SEU EMAIL SEM OS COLCHETES]
USER_PASSWORD=12345

2.4. Dentro da pasta applcation criar outro arquivo .env colocar a seguinte informação

BASE_URL="postgresql://postgres:12345@postgresql_db:5432/segel"
SECRET_KEY="!!VAlt+8743∧∧∧01010100110011^^^^^ººººº????NaNHi/?"

2.5. Abrir o Docker Desktop

docker-compose up

2.5. Subir o contêiner do Back-End

docker-compose up --build

2.6. Caso tenha dado problema usar o comando abaixo e ir no Docker Desktop para apagar as imagens. Feito isso, voltar para a etapa 2.5.

docker-compose down

2.7. Ir até a pasta applcation e depois na pasta front e rodar o seguinte comando

yarn dev

3. Comandos Úteis

3.1. Baixar as bibliotecas usadas na aplicação

pip install [NOME BIBLIOTECA]

3.2. Baixar o yarn

npm install yarn

4. Acessando a aplicação

4.1. Acessando o back-end da aplicação

localhost:8000/docs

4.2. Acessando o banco de dados da aplicação

localhost:5050

4.3. Acessando o front-end da aplicação

localhost:3000/login

5. Realizando testes

5.1. Acessando o front-end da aplicação

  • Faça download do pytest

5.2. Acesse a pasta "5 Tests"

5.3. Dentro da pasta criar um ".env" novamente e colocar a seguinte informação

BASE_URL="postgresql://postgres:[SUA SENHA AQUI]@localhost:5432/[NOME DE UM BANCO SEU CRIADO]"
SECRET_KEY="!!VAlt+8743∧∧∧01010100110011^^^^^ººººº????NaNHi/?"

5.4. Rodar comando:

pytest -s

Nota: é importante ressaltar que estes testes são rodando locais, ou seja, em um banco de dados local do PostgreSQL, por isso no .env passamos campos diferentes, como o nome de um banco que criamos localmente e a senha para acessá-lo. Pois, nesse caso, o teste irá acessar o banco para povoá-lo e então remover depois. É diferente de rodar no Docker em que subimos a imagem do banco de dados. Por fim, é importante lembrar que só fizemos isto pois o Docker estava lendo os imports de um jeito diferente do pytest, logo, não conseguíamos testar diretamente no container, nos levando a esta opção de fazer separado.

⚠️ **GitHub.com Fallback** ⚠️