Esta é uma API feita em NestJS e projetada para atender os serviços do projeto Morada APP. Sendo assim, buscamos facilitar a vida dos moradores de condomínio e dos desenvolvedores responsáveis por integrar nosso código em seus sistemas.
Adiante, nossos servidores back-end devem contar com as seguintes dependências e ferramentas para que esteja em perfeito funcionamento:
Docker
Docker Compose
PNPM: execute npm i pnpm -g
Mailtrap:
Primeiramente, clone o .env.example para '.env' e preencha as variáveis com os seus respectivos valores.
Feito isso, você pode optar por utilizar o sistema otimizado para a execução local com o docker-compose.yml que está dentro do diretório /example ou então clonar o /docker-compose.example.yml para usar o back-end em ambiente dedicado ao desenvolvimento do ponto de vista de um programador back-end:
Example :docker compose -f <docker compose de sua preferência> up
Feito isso, se você tiver optado por utilizar o diretório /example, o tutorial acaba aqui. No entanto, se estiver usando o outro ambiente, adentre na aplicação usando o bash para entrar na instância app (o contêiner em NodeJS + NestJS):
Example :docker compose exec app bash
Dentro do contêiner, execute as migrations do TypeOrm:
Example :pnpm migrate:run
Agora, realize o login na sua conta do firebase DENTRO DO CONTÊINER:
Example :firebase login --no-localhost
Logo em seguida, instale os emuladores requisitados para um bom funcionamento da aplicação:
Example :firebase init emulators
Se a instalação ocorreu com êxito, abra outro terminal e FORA DO CONTÊINER execute o comando abaixo. Por quê? Ele vai definir os hooks do git necessários para que você consiga automatizar processos de lint, formatação e testes locais toda vez que fazer commit:
Example :pnpm set-hooks
Pronto, agora execute somente pnpm commit
sempre que quiser salvar suas alterações no repositório. No mais, basta verificar quais comandos estão disponíveis dentro do package.json.