Este repositório contém os códigos do projeto que demonstram a integração C# com o MongoDB Atlas.
A aplicação consiste em realizar um Web Scraping através do desencadeador agendado pelo sistema do Cron. A integração é feita através de uma REST API para realizar as requisições GET, e utilizando o banco de dados em nuvem MongoDB Atlas para armazenar os dados extraídos da página Open Food Facts.
Este desafio foi realizado pela Coodesh como teste técnico para vaga de Backend .NET/C# Developer (Júnior).
This is a challenge by Coodesh
A REST API foi desenvolvida na linguagem C# e utiliza o .NET 7.0. Para utilizá-la, você pode analisar o melhor jeito de instalar de acordo com seu ambiente de desenvolvimento. No seguinte projeto foi utilizado o Visual Studio Code.
Você pode instalá-lo a partir do Visual Studio Code procurando por 'C#' na aba Extensões (Ctrl+Shift+X), no canto superior esquerdo, ou se você já tiver um projeto com arquivos C#, o Visual Studio Code solicitará que você instale a extensão assim que abrir um arquivo C#.
Para clonar o repositório, você também pode executar cada amostra diretamente da linha de comando no Terminal.
- Clone este repositório:
$ git clone https://github.com/victorhugomr/challenge-20220626.git
- Include the MongoDB.Driver:
PM> Install-Package AuthorizeNet
- Include the HtmlAgilityPack:
PM> dotnet add package HtmlAgilityPack --version 1.11.46
- Include the Quartz:
PM> dotnet add package Quartz --version 3.5.0
- Include the Microsoft.AspNetCore.OpenApi:
PM> dotnet add package Microsoft.OpenApi --version 1.4.5
- Include the Swashbuckle.AspNetCore:
PM> dotnet add package Swashbuckle.AspNetCore --version 6.4.0
Faça o build do projeto para produzir a REST API da aplicação web.
- Execute a seguinte amostra no Terminal para iniciar:
> dotnet run
-
Instale o Docker adequado ao seu sistema em https://www.docker.com/.
-
Após o clone do repositório e da instalação do Docker, execute o Docker. Utilizar a extensão Docker no VS Code facilita a visualização.
-
No Terminal, dentro do diretório clonado, execute o seguinte comando:
PM> docker run -d -p 5000:80 --name challenge-20220626 challenge-20220626
{port}: será a porta que você poderá acessar através do localhost (ex: http://localhost:5000/);
{name}: será o nome do container a ser executado;
{image} será a imagem utilizada para a criação do container.
PM> docker run -d -p {port}:80 --name {name} {image}
Após a execução, estarão disponíveis para visualização no navegador, a partir do localhost, as seguintes rotas HttpGet:
- /: Retorna um Status: 200 e uma Mensagem "Fullstack Challenge 20201026";
- /products/: Lista todos os produtos da base de dados;
- /products/:code: Obtém a informação de um produto através do code do produto.