Olá pessoa curiosa.

Esse projeto foi desenvolvido numa máquina que usa como sistema operativo o Windows 10. Por este motivo, todos os comandos do terminal e/ou o powershell são os usados pelo sistema operativo. Caso uses outro sistema, pesquise pelos comandos equivalentes para o seu caso (uma pessoa desenvolvedora precisa de cultivar o hábito da pesquisa, não é mesmo?).

Nota: todos os comandos usam o terminal do windows, com os perfis powershell ou git bash.

Por uma questão de conveniência e para que a aplicação "automagicamente" funcione em qualquer sistema operativo, toda a aplicação foi desenvolvida em docker, desse modo, basta criar as imagens e containers para que a mesma funcione independentemente do sistema operativo utilizado.

Pré-requisitos:

Instruções para rodar a aplicação backend.

Atenção: toda a estrutura do backend está contentorizada no Docker, por isso será necessário instalá-lo juntamente com todos os pré-requisitos antes de clonar esse repositório. O MySQL Workbench é usado apenas para ter uma interface visual para a gestão e modelagem do banco de dados. Poderão ser usadas alternativas como DBeaver por exemplo.

  1. Cole e execute no terminal o seguinte comando para clonar o repositório que contém o código (git bash):
  • git clone https://gitlab.com/hh_engineering/backend.git
  1. Execute os seguintes comandos pela ordem que aparecem para instalar todas as dependências do projeto presentes no arquivo Pipfile e inicializar o ambiente de dependências isolado (git bash):
  • py -m pip install pipenv;
  • py -m pipenv shell;
  • pipenv install --dev
  1. Iniciar o docker digitando o seguinte comando no terminal (powershell):
  • Start-service docker
  1. Execute o seguinte comando para configurar todo o docker (aplicação contentorizada, banco de dados mysql e rodar todos os containers necessários automaticamente) (git bash):
  • pipenv run composer:build
  1. Caso a aplicação contentorizada não rode automaticamente na porta 8004, execute o seguinte comando (git bash):
  • pipenv run composer:up

Nota: não é necessário rodar a aplicação backend pois a mesma é instanciada no docker, e todas as alterações efetuadas no código são automaticamente atualizadas na aplicação contentorizada.