From b60848a2c3b25b57b2f8682fbad1d56790e2b22e Mon Sep 17 00:00:00 2001 From: Lucas Pereira Miranda Date: Wed, 8 Jan 2025 13:43:36 -0300 Subject: [PATCH 1/6] docs: add health-check preview image --- .github/image/health-check-preview.png | Bin 0 -> 12807 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 .github/image/health-check-preview.png diff --git a/.github/image/health-check-preview.png b/.github/image/health-check-preview.png new file mode 100644 index 0000000000000000000000000000000000000000..5527bc33be4a7f9eb0b955b93fd0412aaa575d28 GIT binary patch literal 12807 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 I2pb0eF9E{MLI3~& literal 0 HcmV?d00001 From fa20dbdced54f049ee26b622b44af8f6439b620b Mon Sep 17 00:00:00 2001 From: Lucas Pereira Miranda Date: Wed, 8 Jan 2025 13:43:56 -0300 Subject: [PATCH 2/6] docs: add execution instructions --- README.md | 43 +++++++++++++++++++++++++++++++++++++------ 1 file changed, 37 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 50337cbd..479a4235 100644 --- a/README.md +++ b/README.md @@ -47,8 +47,11 @@ O diagrama de entidade-relacionamento (DER) a seguir foi modelado para represent alt="Diagrama entidade relacionamento modelado para o desafio" width="700"> -## Execução do projeto localmente com o docker-compose +## Execução do projeto +### Docker-compose + +Para executarmos o projeto com o docker-compose: 1) Inicialmente, podemos conferir se existem processos executando nas portas 3000 e 5432. @@ -76,6 +79,30 @@ Ocorrendo assim este preview de execução: Preview de execução com o docker-compose +### Modo local (sem containers) + +Para executarmos o projeto com o modo local + +1) Podemos copiar o .env.example existente na raiz do projeto, e duplicá-lo com o nome .env: + +```bash +$ cp .env.example .env # em ambiente linux +``` + +2) Podemos instalar as dependencias: + +```bash +$ npm install +``` + +3) Podemos criar o banco de dados, levando em consideração os valores contidos no .env + +3) Podemos executar o projeto em modo de desenvolvimento: + +```bash +$ npm run start:dev +``` + ## Execução dos testes Para executar os testes automatizados, podemos invocar o comando: @@ -116,7 +143,7 @@ A aplicação contém um Swagger, que inclui os contratos e especificações par $ http://localhost:3000/api#/ ``` -O preview do swagger é este abaixo: +O preview do swagger esta presente na imagem abaixo: Preview de execução do swagger @@ -131,20 +158,24 @@ Para garantir que o sistema seja capaz de suportar um grande número de usuário - **Adição de Índices**: Índices foram adicionados nas colunas frequentemente acessadas, como nativamente nas chaves primárias e em colunas usadas em filtros e buscas (crop.name), para melhorar o desempenho geral das consultas. -- **Adição de Cache**: A utilização de cache foi implementada por meio da estratégia de armazenar resultados de consultas frequentes, reduzindo a carga nas tabelas que crescerão em densidade de dados com o intuito de acelerar a resposta para os usuários e reduzir cargas no banco. A estratégia utilizada está contida no presente [link](https://orkhan.gitbook.io/typeorm/docs/caching). +- **Adição de Cache**: A utilização de cache foi implementada por meio da estratégia de armazenar resultados de consultas frequentes, reduzindo a carga nas tabelas que crescerão em densidade de dados com o intuito de manter um tempo saudável de resposta para os usuários e reduzir cargas no banco. A estratégia utilizada está contida no presente [link](https://orkhan.gitbook.io/typeorm/docs/caching). ### Estratégias para observabilidade -A observabilidade foi um fator importante para garantir a saúde e o bom funcionamento do sistema. Para isso, foram implementadas as seguintes estratégias: +A observabilidade é um fator importante para garantir o bom funcionamento do sistema produtivo. Para isso, foram implementadas as seguintes estratégias no desafio: + + +- **Colunas para histórico de comportamento das entidades**: Embora as colunas created_at e updated_at não sejam diretamente responsáveis pela monitoração do sistema em tempo real, elas fornecem informações importantes sobre o histórico e o comportamento dos registros ao longo do tempo. Esses dados podem ser utilizados para auditoria no decorrer do tempo. - **Criação de Fluxo de Health Check**: Foi implementado um fluxo de health check para observar o status das partes críticas do sistema, como banco de dados. -- **Colunas para histórico de comportamento das entidades**: Embora os campos created_at e updated_at não sejam diretamente responsáveis pela monitoração do sistema em tempo real, eles fornecem informações importantes sobre o histórico e o comportamento das entidades ao longo do tempo. Esses dados podem ser utilizados para auditoria e rastreamento no decorrer do tempo. +Preview do health check da aplicação Estratégias que podem ser propostas: -- **APM**: Como passo futuro, pode ser sugerido a adição de um APM como [Elastic](https://www.elastic.co/pt/observability/application-performance-monitoring) ou [Datadog](https://www.datadoghq.com/product/apm/) para ajudar na observabilidade geral da aplicação. +- **APM**: Como passo futuro, pode ser sugerido a adição de um APM como [Elastic](https://www.elastic.co/pt/observability/application-performance-monitoring) ou [Datadog](https://www.datadoghq.com/product/apm/) para ajudar na observabilidade geral da aplicação. ## License From 4a59b130585921e1950da7ded244bc289065dfc2 Mon Sep 17 00:00:00 2001 From: Lucas Pereira Miranda Date: Wed, 8 Jan 2025 13:48:57 -0300 Subject: [PATCH 3/6] docs: update health-check preview --- README.md | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 479a4235..9dfa1221 100644 --- a/README.md +++ b/README.md @@ -169,9 +169,19 @@ A observabilidade é um fator importante para garantir o bom funcionamento do si - **Criação de Fluxo de Health Check**: Foi implementado um fluxo de health check para observar o status das partes críticas do sistema, como banco de dados. -Preview do health check da aplicação - +```json +{ + "uptime": 538.826759168, + "healthMessage": "OK", + "checks": [ + { + "name": "Database", + "status": true, + "details": "Connected" + } + ] +} +``` Estratégias que podem ser propostas: From b2ba0a966d7101e2bb72b1dbe9f0e56fde6829e4 Mon Sep 17 00:00:00 2001 From: Lucas Pereira Miranda Date: Wed, 8 Jan 2025 13:49:16 -0300 Subject: [PATCH 4/6] docs: remove not more used image --- .github/image/health-check-preview.png | Bin 12807 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .github/image/health-check-preview.png diff --git a/.github/image/health-check-preview.png b/.github/image/health-check-preview.png deleted file mode 100644 index 5527bc33be4a7f9eb0b955b93fd0412aaa575d28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12807 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 I2pb0eF9E{MLI3~& From 38378a6d7e4fee5dc6e4664f6353cb364806343f Mon Sep 17 00:00:00 2001 From: Lucas Pereira Miranda Date: Wed, 8 Jan 2025 14:10:53 -0300 Subject: [PATCH 5/6] docs: add pagination section --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 9dfa1221..54025bd6 100644 --- a/README.md +++ b/README.md @@ -160,6 +160,8 @@ Para garantir que o sistema seja capaz de suportar um grande número de usuário - **Adição de Cache**: A utilização de cache foi implementada por meio da estratégia de armazenar resultados de consultas frequentes, reduzindo a carga nas tabelas que crescerão em densidade de dados com o intuito de manter um tempo saudável de resposta para os usuários e reduzir cargas no banco. A estratégia utilizada está contida no presente [link](https://orkhan.gitbook.io/typeorm/docs/caching). +- **Adição de Paginação**: Foi implementada a paginação nos endpoints que retornam muitos registros. Isso foi feito para evitar consultas que retornem grandes volumes de dados de uma só vez, ajudando a reduzir o tráfego de dados e melhorando a performance ao acessar as informações de forma mais controlada. + ### Estratégias para observabilidade A observabilidade é um fator importante para garantir o bom funcionamento do sistema produtivo. Para isso, foram implementadas as seguintes estratégias no desafio: From 2c7419c3ff2869e751ad5697b00f7a05aa7769f0 Mon Sep 17 00:00:00 2001 From: Lucas Pereira Miranda Date: Wed, 8 Jan 2025 14:12:00 -0300 Subject: [PATCH 6/6] docs: update pagination section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 54025bd6..b1f0eaca 100644 --- a/README.md +++ b/README.md @@ -160,7 +160,7 @@ Para garantir que o sistema seja capaz de suportar um grande número de usuário - **Adição de Cache**: A utilização de cache foi implementada por meio da estratégia de armazenar resultados de consultas frequentes, reduzindo a carga nas tabelas que crescerão em densidade de dados com o intuito de manter um tempo saudável de resposta para os usuários e reduzir cargas no banco. A estratégia utilizada está contida no presente [link](https://orkhan.gitbook.io/typeorm/docs/caching). -- **Adição de Paginação**: Foi implementada a paginação nos endpoints que retornam muitos registros. Isso foi feito para evitar consultas que retornem grandes volumes de dados de uma só vez, ajudando a reduzir o tráfego de dados e melhorando a performance ao acessar as informações de forma mais controlada. +- **Adição de Paginação**: Foi implementada a paginação nos endpoints que retornam muitos registros (associados a findAll). Isso foi feito para evitar consultas que retornem grandes volumes de dados de uma só vez, ajudando a reduzir o tráfego de dados e melhorando a performance ao acessar as informações de forma mais controlada. ### Estratégias para observabilidade