Skip to content
  • Unlock Pro
  • Log in with GitHub
Solution
Submitted 5 months ago

Responsive Time Tracking Dashboard with Dynamic JSON Data

bem
P
Jayco•470
@jayco01
A solution to the Time tracking dashboard challenge
View live sitePreview (opens in new tab)View codeCode (opens in new tab)

Solution retrospective


What are you most proud of, and what would you do differently next time?

I'm really proud of learning how to use the fetch() API in JavaScript for this project. It was my first time working with dynamic data fetching, and understanding how to handle JSON data and update the DOM based on user interactions was a huge win for me.

Along the way, I also practiced a lot with JavaScript conditionals, particularly for handling singular and plural units (like displaying "1hr" vs. "2hrs"). It was a small detail, but getting it right felt great because it made the data display feel more polished.

If I were to do the project again, I’d focus more on enhancing the user experience, like adding an active state to the buttons to give clearer feedback on which timeframe is currently selected. I'd also explore better ways to handle errors and possibly look into more scalable methods for updating the DOM.

What challenges did you encounter, and how did you overcome them?

One of the main challenges I faced was learning how to properly use the fetch() API to load and display data dynamically from a JSON file. Initially, I struggled with understanding how to handle asynchronous operations and how to correctly structure the .then() promises to ensure the data was processed and displayed at the right time. I overcame this by breaking down the process step by step, reading documentation, and experimenting with different approaches until I understood how the data was flowing through my code.

What specific areas of your project would you like help with?

I'd love some feedback on how I handled the fetch() API and data manipulation in JavaScript. This was my first time dynamically loading JSON data and updating the DOM, so I'm curious if there are more efficient or cleaner ways I could have structured my code.

Code
Select a file

Please log in to post a comment

Log in with GitHub

Community feedback

  • Daniel Alejandro Cano Cardona•290
    @Dacardonac
    Posted 4 months ago

    Hi Jayco, I hope things are going well for you 😊. I saw your project and I'm happy with it. Overall, everything looks good, and you did an excellent job. Congratulations 🎉. I want to give you feedback on some specific points or issues I've noticed, and I hope they'll help you improve on future projects.

    • Meta tags to improve SEO: If your project needs meta tags, which are very important for improving SEO and ranking better in browsers, you can read more about this at this link 🔎**[Metadata for SEO] (https://www.one.com/en/online-marketing/metadata-for-seo)**

    • Accessibility (a11y): Accessibility is essential since we need to consider all the potential users who will use our app or website, and we must be inclusive of each of them. In this case, I noticed that your website needs a bit more color contrast, which makes it difficult for people with limited vision to see 👁️. You should also include the ´alt´ attribute to describe your images and ´aria-label´ to describe your buttons, divs, etc., all so that a screen reader 💻 can read it to a visually impaired user.

    • Performance: You can improve the performance of your projects by minimizing file and image sizes ⬇️ and using more modern, higher-performance file extensions such as ´.webp´ for images, and ´.svg´ or ´.ico´ for icons or illustrations 🖼️.

    I think this is all I noticed where you can improve Jayco. I hope my comment is very helpful and continue doing an excellent job 🙌. I congratulate you again and I hope you are very well 😊.

Join our Discord community

Join thousands of Frontend Mentor community members taking the challenges, sharing resources, helping each other, and chatting about all things front-end!

Join our Discord

Stay up to datewith new challenges, featured solutions, selected articles, and our latest news

Frontend Mentor

  • Unlock Pro
  • Contact us
  • FAQs
  • Become a partner

Explore

  • Learning paths
  • Challenges
  • Solutions
  • Articles

Community

  • Discord
  • Guidelines

For companies

  • Hire developers
  • Train developers
© Frontend Mentor 2019 - 2025
  • Terms
  • Cookie Policy
  • Privacy Policy
  • License

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

How does the accessibility report work?

When a solution is submitted, we use axe-core to run an automated audit of your code.

This picks out common accessibility issues like not using semantic HTML and not having proper heading hierarchies, among others.

This automated audit is fairly surface level, so we encourage to you review the project and code in more detail with accessibility best practices in mind.

How does the CSS report work?

When a solution is submitted, we use stylelint to run an automated check on the CSS code.

We've added some of our own linting rules based on recommended best practices. These rules are prefixed with frontend-mentor/ which you'll see at the top of each issue in the report.

The report will audit all CSS, SCSS and Less files in your repository.

How does the HTML validation report work?

When a solution is submitted, we use html-validate to run an automated check on the HTML code.

The report picks out common HTML issues such as not using headings within section elements and incorrect nesting of elements, among others.

Note that the report can pick up “invalid” attributes, which some frameworks automatically add to the HTML. These attributes are crucial for how the frameworks function, although they’re technically not valid HTML. As such, some projects can show up with many HTML validation errors, which are benign and are a necessary part of the framework.

How does the JavaScript validation report work?

When a solution is submitted, we use eslint to run an automated check on the JavaScript code.

The report picks out common JavaScript issues such as not using semicolons and using var instead of let or const, among others.

The report will audit all JS and JSX files in your repository. We currently do not support Typescript or other frontend frameworks.

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub