TypeScript Components
For better structure, understanding, and modularity of the front-end code, several sections have been split into reusable components.
Component List
DownloadButton
Hero
InputSection
LineGraph
This component uses ChartJS to create a line graph from the provided data.
It uses the
Measurementtype to determine whether to show delay or offset on the y-axis.The values for the y-axis are taken from an array of
NTPData.The
Measurementtype consists of either"delay"or"offset".The x-axis shows the measurement time as a string representation of a Python
Dateobject, taken from thetimefield ofNTPData.
LoadingSpinner
ResultSummary
TimeInput
Visualization
This is the popup shown when the “View Historical Data” button is pressed.
It includes all options for selecting which data to visualize.
Includes dropdowns to choose the desired time period.
A Custom button allows users to manually input a time period using additional fields.
Radio buttons allow selection between Delay and Offset as the measurement to be shown.
Includes DownloadButtons to download data for the selected time period.
WorldMap
This component renders a map to visualize all geolocation data.
It uses the
Leafletlibrary for rendering the map.The map tiles are based on the Dark Matter theme provided by CARTO.
Displays the location of: - RIPE probes - NTP server(s) - Vantage point
Icons used are located in
src/assets.Each point on the map shows detailed information such as: - RIPE probes: RTT, offset, and probe ID - NTP servers: IP address and name - Vantage point: IP address and location