Trabalho do Renan Torres para o processo seletivo da Green Acesso na vaga de Backend Nodejs Pleno.
Green Acesso Teste do processo seletivo para vaga de Backend Nodejs na Green Acesso.
Para rodar o app é preciso ter o Docker e o seu pluguin Docker-compose.
Verifique se as portas 3000 e 3306 da sua máquina estão liberadas. O app irá rodar na 3000 e o BD na 3306
- Prazo: 4 dias corridos. Data final: 23:59 de 15/07/2023
- Atividade 1: Receber arquivo csv do síndico e converter os dados para db
- Atividade 2: Tratar as diferenças entre os dados da Portaria e do Financeiro
- Atividade 3: Receber o pdf de boletos na ordem proposta pelo síndico e salvar em arquivos separados com nome pelo id.
- Atividade 4: Criar endpoint para receber o boletos
- Ativedade 4 extra: Criar opções de filtro no get boletos
- Atividade 5: Criar opção relatório para gerar um retorno em base64 com a tabela de boletos
- Extras propostos por mim: Documentação
- Extras propostos por mim: Refatorações com aplicação de Princíos SOLID
- Extras propostos por mim: Utilização do NestJs
- Extras propostos por mim: Utilização do ORM Prisma
- Extras propostos por mim: Testes unitários
Download do app pelo git
$ git clone https://github.com/engRenanTorres/greenAcessoBackend.git
Edite o nome do arquivo .env.exemple. Retire o '.exemple'. Ficando só .env
Copie os arquivos boleto.pdf e boleto.csv localizados na raíz do projeto para enviar nas API das atividades sugeridas.
$ docker-compose up --build
-
É possível que dê erro na ao rodar pela primeira vez, pois o app pode subir enquanto o banco de dados ainda está carregando as informações iniciais.
-
Se houver erro procurando pacotes do prisma, teste dar um npm install antes de rodar o container.
Pode utilizar as apis pela própria documentação swagger.
O arquivo de boletos em csv enviado pelo síndico se encontra na raís do projeto com nome de boletos.csv
O arquivo de boletos em pdf enviado pelo síndico se encontra na raís do projeto com nome de boletos.pdf
Os arquivos pdf salvos ficam na pasta uploads/boletos
Siga a documentação para rodar o API. Coloquei os nomes sugeridos para evitar conflitos.
# development
# A documentação ficará disponível em localhost:3000/api-docs
# Pode gerenciar o bd pelo prisma client em localhost:5555
# ou pelo phpmyadmin pelo localhost:8081
# usuario root senha dbgreen
Se achar um modo mais fácil encontrar os arquivos de upload, você pode rodar o app fora do container.
Primeiro você terá que alterar no arquivo .env, comentando o endereço do banco de dados.
Em seguida, no mesmo arquivo, descomente o endereço do banco de dados com o localhost.
Para isso, utilize os seguintes comandos:
npm i
npm run build
npm -r nome_modules
npm i --omit=dev #instala apenas os pacotes de produção.
npx prisma generate #para rodar as migrations iniciais e gerar as tabelas iniciais
npm run start
Pode utilizar as apis pela própria documentação swagger.
O arquivo de boletos em csv enviado pelo síndico se encontra na raís do projeto com nome de boletos.csv
O arquivo de boletos em pdf enviado pelo síndico se encontra na raís do projeto com nome de boletos.pdf
Os arquivos pdf salvos ficam na pasta uploads/boletos
Siga a documentação para rodar o API. Coloquei os nomes sugeridos para evitar conflitos.
# development
# A documentação ficará disponível em localhost:3000/api-docs
# Pode gerenciar o bd pelo prisma client em localhost:5555
# ou pelo phpmyadmin pelo localhost:8081
# usuario root senha dbgreen
# em andamento
Só me procurar meu linkedin.
- Author - Renan Torres