Description:
The project currently uses Selenium WebDriver to fetch data from URLs such as:
https://sisu-api.sisu.mec.gov.br/api/v1/oferta/instituicoes/uf
https://sisu-api.sisu.mec.gov.br/api/v1/oferta/instituicao/{iesCode}
https://sisu-api.sisu.mec.gov.br/api/v1/oferta/{offerCode}/modalidades
These endpoints return raw JSON, so using Selenium to load a browser, parse HTML, and extract the JSON from a <pre> tag is unnecessary. This makes the program slower, more fragile, and more resource-heavy.
This issue proposes replacing all Selenium-based HTTP fetching with direct HttpClient GET requests.
Tasks
Why This Is Good for Beginners
- Involves simple and clear modifications
- Improves code performance and maintainability
- No advanced browser automation required
- Easy to test because the APIs are public and return consistent JSON
- Gives contributors experience with networking and JSON parsing
Optional Enhancements
Description:
The project currently uses Selenium WebDriver to fetch data from URLs such as:
https://sisu-api.sisu.mec.gov.br/api/v1/oferta/instituicoes/uf
https://sisu-api.sisu.mec.gov.br/api/v1/oferta/instituicao/{iesCode}
https://sisu-api.sisu.mec.gov.br/api/v1/oferta/{offerCode}/modalidades
These endpoints return raw JSON, so using Selenium to load a browser, parse HTML, and extract the JSON from a
<pre>tag is unnecessary. This makes the program slower, more fragile, and more resource-heavy.This issue proposes replacing all Selenium-based HTTP fetching with direct
HttpClientGET requests.Tasks
HttpClientinstance, e.g.:private static readonly HttpClient client = new HttpClient();driver.Navigate().GoToUrl(url)calls with:var json = await client.GetStringAsync(url);JsonConvert.DeserializeObjectInstitution,Course,CourseWeights, etc.)Why This Is Good for Beginners
Optional Enhancements