Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementing g1 landing page for "Desafio Globo" using Vanilla JS, HTML, CSS and JSDoc. #2

Open
wants to merge 98 commits into
base: master
Choose a base branch
from

Conversation

bwprado
Copy link

@bwprado bwprado commented Dec 11, 2023

Overview:

This PR is part of the "Desafio Globo" and it its the recreation of the g1.globo.com landing page following the challenge directives found on Portifólio Recrutamento.

The directives were all met and completed accordingly with some amount of freedom, for example the top 3 news section was closely matched to the current g1.globo.com version.

Selected Approaches:

Some other different approaches were taken as parte of this challenge:

  • Created an endpoint on the API to simulate an ads database.
  • Created an endpoint on the API to simulate a top 3 request that returns the top 3 news on that day based on server business logic.
  • Created a WebComponent to encapsulate the News List, that can be reused on other parts of the website.

What could be done differently?

As time as a constrain, many design and code choices were rushed, and many changes could be implemented on the future, including unit testing and better component encapsulation.

Here is the list of things that can/could be changed:

  1. Testing.
  2. Implement CustomElements for other components.
  3. Ad alocation should be displaced to the Api so the front end would not interfere with the business logic.
  4. Better BEM classes naming.
  5. Maybe render on the server and hydrate later for better FCP.
  6. Improve image loading for performance reasons.
  7. Improve error handling on <news-list> and other parts of the code.
  8. Add loading state to fetched data.

@bwprado bwprado changed the title Implementing **g1** landing page for _"Desafio Globo"_ using Vanilla JS, HTML, CSS and JSDoc. Implementing g1 landing page for "Desafio Globo" using Vanilla JS, HTML, CSS and JSDoc. Dec 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant