Skip to content

matibox/expenses-chart-component

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Frontend Mentor - Expenses chart component solution

This is a solution to the Expenses chart component challenge on Frontend Mentor. Frontend Mentor challenges help you improve your coding skills by building realistic projects.

Table of contents

Overview

The challenge

Users should be able to:

  • View the bar chart and hover over the individual bars to see the correct amounts for each day
  • See the current day’s bar highlighted in a different colour to the other bars
  • View the optimal layout for the content depending on their device’s screen size
  • See hover states for all interactive elements on the page
  • Bonus: Use the JSON data file provided to dynamically size the bars on the chart

Screenshot

Links

My process

Built with

  • Semantic HTML5
  • CSS custom properties
  • Flexbox
  • Mobile-first workflow
  • Vanilla JavaScript

What I learned

I learned how to fetch data from json files and process them. I also used promises + async await for the first time in practise.

async function fetchData() {
    const response = await fetch('./data.json');
    const data = await response.json();
    return data;
}

fetchData()
    .then(data => setData(data))
    .catch(error => {
        console.error(error);
    });

Continued development

In the future I want to work on async JavaScript.

Useful resources

  • JSON fetch solution - This helped me when I was trying to import JSON file into JS. I really liked this pattern and will use it going forward.

Author