What you will use in this project
- Parsing CSV in the browser
- Aggregating data with group by, reduce, map
- Working with Chart.js datasets and updates
- Dashboard layout patterns
Complete each step in the editor and watch the result as your page takes shape.
Build an interactive data visualization dashboard.
Charts update live as you filter.
Hard · +290 XP · HTML CSS JavaScript Chart.js
Check code when you’re ready. We grade your work against the step’s rubric and tell you exactly what passed and what still needs work.
This project is broken into 11 steps. Each one has its own pass criterion. Click Check code on every step to verify your progress and earn the full +290 XP.
| # | Step & pass criterion | Weight |
|---|---|---|
| 1 | Page regions Four top-level containers present (h1, #filters, #kpis, #charts) | 5 pts |
| 2 | Filter controls Category and date filters present | 15 pts |
| 3 | KPI cards Four KPI cards with .kpi-value | 10 pts |
| 4 | Chart canvases Bar, line, pie canvases present | 10 pts |
| 5 | Style the dashboard CSS uses real layout and media query | 5 pts |
| 6 |
Fetch and parse CSV
|
20 pts |
| 7 | Filter the rows Filter function applied to rows | 5 pts |
| 8 | Render KPIs KPI values rendered | 5 pts |
| 9 | Bar chart Bar Chart instance created | 5 pts |
| 10 | Line and pie charts Bar, line, pie Chart instances | 15 pts |
| 11 |
Wire the filters
|
5 pts |
Sign in to your W3Schools account to unlock this project, earn XP, and track your progress.
Sign in Create accountIf you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
sales@w3schools.com
If you want to report an error, or if you want to make a suggestion, send us an e-mail:
help@w3schools.com