What will you build?

We are going to build the WorldExplorer application together.

Our application will make calls to a RESTful API to retrieve information about the world population. We'll then generate interactive charts to visualize the data.

To generate/render the charts, we will use the Chart.js (https://www.chartjs.org) library.

To make the API calls to the web service, we will use the Fetch API, yet another standard API available in modern runtime environments. Also, we will discover what hides behind the async and await keywords.

Since we have learned about modules in this chapter, we will leverage them to improve the structure of our application.

Finally, to further increase the readability and navigability of the code, we will organize it based on the logical layers (for example, services, domain, views, controllers, and many others​). To do so, we'll create a folder per layer. These can also be called packages.

In larger applications, it is beneficial to organize code around feature blocks instead, where all the code related to a specific set of features is grouped together.