- Tenha o docker e o docker compose instalados na sua máquina.
- Para rodar localmente, crie um arquivo .env na raiz da pasta seguindo o exemplo do arquivo
.env.example
. Mais informações sobre cada variável de ambiente estão localizadas no README específico de cada projeto (backend, frontend, robot).
Para rodar a aplicação, execute o seguinte comando a partir da pasta raíz do projeto:
docker compose up -d
Para rodar os testes entre na pasta backend e execute o seguinte comando:
yarn test:cov
O comando executará os testes e retornará o coverage da API.
A documentação feita com Swagger da API está no seguinte endpoint: localhost:${API_PORT}/api
Pasta que contém os arquivos do frontend na qual o usuário insere os inputs necessários para a pesquisa do google.
Pasta que contém os arquivos responsáveis pelo backend que repassam os inputs inseridos do usuário para o Go, pega o result gerado, grava no MongoDB e retorna o resultado para o frontend exibir para o usuário.
Pasta que contém os arquivos em Go na qual são responsáveis pelo scraping da pesquisa no Google.
- Página do frontend com os campos da pesquisa -
localhost:${FRONTEND_PORT}
- Endpoint do backend responsável pelo processamento da pesquisa - POST
localhost:${API_PORT}/google-search
- Endpoint do robô responsável pelo scraping dos dados - POST
localhost:${ROBOT_PORT}/scraping
- Mongo Express, aplicação para visualização dos dados armazenados no MongoDB -
localhost:8081
O frontend é responsável pelos campos de pesquisa (Palavras-chave, frequência e localização). Os campos são enviados para o backend na qual encaminha para o robô em Go. O robô faz o trabalho do scraping no google de acordo com os campos inseridos pelo o usuário e retorna os dados (título das pesquisas do google) para o backend. O backend salva então os resultados no MongoDB e retorna os resultados para a aplicação frontend para exibir para o usuário final.