First off, thanks for taking the time to contribute! ππ
When contributing to this repository, please first discuss the change you wish to make via issue with the maintainers of this repository before making a change. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.
This project and everyone participating in it is governed by the IHR Code of Conduct, please follow it in all your interaction with the project. By participating, you are expected to uphold this code. Please report unacceptable behavior to [email protected]
- Ensure any install or build dependencies are removed before the end of the layer when doing a build. Add only relevant files to commit and ignore the rest to keep the repo clean.
- Update the README.md with details of changes to the interface, this includes new environment variables, exposed ports, useful file locations and container parameters.
- You should request review from the maintainers once you submit the Pull Request.
- Git Workflow
## Step 1: Fork Repository
## Step 2: Git Set Up & Download
# Clone the repo
$ git clone [email protected]:<User-Name>/<Repo-Name>.git
# Add upstream remote
$ git remote add upstream [email protected]:InternetHealthReport/ihr-website.git
# Fetch and merge with upstream/master
$ git fetch upstream
$ git merge upstream/master
## Step 2: Create and Publish Working Branch
$ git checkout -b <type>/<issue|issue-number>/{<additional-fixes>}
$ git push origin <type>/<issue|issue-number>/{<additional-fixes>}
## Types:
# wip - Work in Progress; long term work; mainstream changes;
# feat - New Feature; future planned; non-mainstream changes;
# bug - Bug Fixes
# exp - Experimental; random experimental features;
- On Task Completion:
## Committing and pushing your work
# Ensure branch
$ git branch
# Fetch and merge with upstream/master
$ git fetch upstream
$ git merge upstream/master
# Add untracked files
$ git add .
# Commit all changes with appropriate commit message and description
$ git commit -m "your-commit-message" -m "your-commit-description"
# Fetch and merge with upstream/master again
$ git fetch upstream
$ git merge upstream/master
# Push changes to your forked repository
$ git push origin <type>/<issue|issue-number>/{<additional-fixes>}
## Creating the PR using GitHub Website
# Create Pull Request from <type>/<issue|issue-number>/{<additional-fixes>} branch in your forked repository to the master branch in the upstream repository
# After creating PR, add a Reviewer (Any Admin) and yourself as the assignee
# Link Pull Request to appropriate Issue, or Project+Milestone (if no issue created)
# IMPORTANT: Do Not Merge the PR unless specifically asked to by an admin.
- After PR Merge
# Delete branch from forked repo
$ git branch -d <type>/<issue|issue-number>/{<additional-fixes>}
$ git push --delete origin <type>/<issue|issue-number>/{<additional-fixes>}
# Fetch and merge with upstream/master
$ git checkout master
$ git pull upstream
$ git push origin
- Always follow commit message standards
- About the fork-and-branch workflow
Our website uses the following libraries:
- @intlify/unplugin-vue-i18n: This is a plugin for Vue.js that helps with internationalization (i18n)
- @quasar/extras: This includes icons, fonts, and other assets that enhance the UI
- axios: This is a library used to make HTTP requests
- dagre: This is a library for laying out directed graphs
- grid-layout-plus: This is an extension of grid layout systems, allowing for more flexible and responsive grid designs in web applications
- idb-keyval: Simplified key-value store for IndexedDB usage
- ip-address: This provides utilities for working with IP addresses
- plotly.js-dist: This is a library for creating interactive charts and visualizations
- quasar: It provides a rich set of UI components and tools
- swagger-ui: It generates interactive API documentation from OpenAPI specifications, making it easier for developers to understand and test API endpoints
- v-network-graph: This is used for creating network graphs in Vue.js applications
- vue: This is a progressive JavaScript framework for building user interfaces
- vue-i18n: This is an internationalization plugin for Vue.js
- vue-router: Vue Router is the official routing library for Vue.js
It's important to check your code for potential errors and adherence to coding standards. You can do this by running the linter with the following command:
npm run lint
Before push your contribution, ensure that your code is properly formatted. You can automatically format your code by running the following command:
npm run format
Before submitting your contribution, please ensure that you:
- Test All Pages and Functions: Navigate through all pages and functionalities of the website to verify that everything is working as expected. This includes checking for any visual or functional regressions that may have been introduced by your changes.
- Manual Testing: Perform manual testing to ensure that your contribution does not break existing features. Pay special attention to areas of the code that your changes may impact.
- Report Issues: If you encounter any issues during your testing, please address them before submitting your contribution. If you believe the issue is unrelated to your changes, feel free to document it in your pull request or create an issue.
.
βββ CODE_OF_CONDUCT.md: A document outlining the expected behavior and guidelines for participants in the project, promoting a respectful and inclusive environment
βββ CONTRIBUTING.md: Guidelines for contributing to the project, including how to report issues, submit code, and adhere to project standards
βββ Dockerfile: A script containing instructions to build a Docker image for the application, specifying the environment and dependencies required to run it
βββ LICENSE: The legal document that specifies the terms under which the project's code can be used, modified, and distributed
βββ README.md: An overview of the project, including its purpose, features, installation instructions, and usage examples
βββ SECURITY.md: A document detailing the security practices of the project, including how to report vulnerabilities and security issues
βββ babel.config.cjs: Configuration file for Babel, a JavaScript compiler, specifying how to transform modern JavaScript code into a backward-compatible version
βββ default.conf: Nginx configuration file, specifying settings such as ports, routes, and other parameters
βββ eslint.config.cjs: Configuration file for ESLint
βββ index.html: The main HTML file that serves as the entry point for the web application, containing the structure and layout of the webpage
βββ package.json: A file that contains metadata about the project, including dependencies, scripts, and project configuration for Node.js applications
βββ public
βΒ Β βββ data
βΒ Β βΒ Β βββ asnames.txt: A text file containing a list of AS names
βΒ Β βββ favicon.png: The favicon image
βββ src
βΒ Β βββ App.vue: The root Vue component for the application, serving as the main entry point for the Vue.js application
βΒ Β βββ assets
βΒ Β βΒ Β βββ docs
βΒ Β βΒ Β βΒ Β βββ global_report.md: A document explaining how to maintaine the Global Report page
βΒ Β βΒ Β βββ imgs
βΒ Β βΒ Β βΒ Β βββ AS-interdependece.png: An image
βΒ Β βΒ Β βΒ Β βββ AS-page-AS2497.png: An image
βΒ Β βΒ Β βΒ Β βββ DF-anomalies.png: An image
βΒ Β βΒ Β βΒ Β βββ Net-disconnections.png: An image
βΒ Β βΒ Β βΒ Β βββ aggregated-alarms-architecture.png: An image
βΒ Β βΒ Β βΒ Β βββ disco_AS16322.png: An image
βΒ Β βΒ Β βΒ Β βββ dns-anomaly-alarm-type-integration.png: An image
βΒ Β βΒ Β βΒ Β βββ edgecast-logo.png: An image
βΒ Β βΒ Β βΒ Β βββ forwarding_AS174.png: An image
βΒ Β βΒ Β βΒ Β βββ global-banner.png: An image
βΒ Β βΒ Β βΒ Β βββ gsoc-logo.png: An image
βΒ Β βΒ Β βΒ Β βββ gsoc-logo.svg: An image
βΒ Β βΒ Β βΒ Β βββ hegemony_AS2497.png: An image
βΒ Β βΒ Β βΒ Β βββ ihr_logo.png: An image
βΒ Β βΒ Β βΒ Β βββ ihr_logo.svg: An image
βΒ Β βΒ Β βΒ Β βββ iij-logo.jpg: An image
βΒ Β βΒ Β βΒ Β βββ isoc-logo.png: An image
βΒ Β βΒ Β βΒ Β βββ linkdelay_AS7922.png: An image
βΒ Β βΒ Β βΒ Β βββ manrs-logo.jpg: An image
βΒ Β βΒ Β βΒ Β βββ netdelay_AS24482.png: An image
βΒ Β βΒ Β βΒ Β βββ originated-prefixes-chart-AS2497.png: An image
βΒ Β βΒ Β βΒ Β βββ ripe-logo.png: An image
βΒ Β βΒ Β βΒ Β βββ rv-logo.png: An image
βΒ Β βΒ Β βββ rir-country-map.json: A JSON file containing data for a country map related to the Regional Internet Registry (RIR)
βΒ Β βββ components
βΒ Β βΒ Β βββ DateTimePicker.vue: A component that allows users to select a date and time
βΒ Β βΒ Β βββ Feedback.vue: A component for collecting user feedback (the red feedback button on the right of the report pages)
βΒ Β βΒ Β βββ Footer.vue: The footer component that contains copyright information, links, or additional navigation options at the bottom of the website
βΒ Β βΒ Β βββ Header.vue: The header component that includes the website title, logo, and main navigation links at the top of the website
βΒ Β βΒ Β βββ LanguageSwitcher.vue: A component that allows users to switch between different languages (currently not in used)
βΒ Β βΒ Β βββ LocalStorageBanner.vue: A component that inform users about the use of local storage (currently not in used)
βΒ Β βΒ Β βββ MetisWidget.vue: A component related to the Metis paper (https://tma.ifip.org/2022/wp-content/uploads/sites/11/2022/06/tma2022-paper18.pdf)
βΒ Β βΒ Β βββ TracerouteMonitor.vue: A component that monitors and displays traceroute data, which shows the path packets take to reach a destination on the network
βΒ Β βΒ Β βββ UserInfo.vue: A component that displays user information, such as IP address, prefix and AS
βΒ Β βΒ Β βββ charts
βΒ Β βΒ Β βΒ Β βββ AsInterdependenciesChart.vue: A component that visualizes the interdependencies between AS
βΒ Β βΒ Β βΒ Β βββ BGPLineChart.vue: A component that displays the BGP announcements and withdraws using a stack line chart
βΒ Β βΒ Β βΒ Β βββ BGPPathsChart.vue: A component that visualizes the AS paths taken by BGP routes
βΒ Β βΒ Β βΒ Β βββ CountryHegemonyChart.vue: A component that visualizes the country hegemony
βΒ Β βΒ Β βΒ Β βββ DelayAndForwardingChart.vue: A component that visualizes the delay and forwarding of ASes, IXPs, Atlas probes, and cities
βΒ Β βΒ Β βΒ Β βββ DelayChart.vue: A component that visualizes the delay of ASes, IXPs, Atlas probes, and cities
βΒ Β βΒ Β βΒ Β βββ DiscoChart.vue: A component that visualizes the network disconnections
βΒ Β βΒ Β βΒ Β βββ IodaChart.vue: A component that visualizes the Internet outages
βΒ Β βΒ Β βΒ Β βββ IypGenericBarChart.vue: A component that creates bar chart for IYP data
βΒ Β βΒ Β βΒ Β βββ IypGenericPieChart.vue: A component that creates pie chart for IYP data
βΒ Β βΒ Β βΒ Β βββ IypGenericRadarChart.vue: A component that creates radar chart for IYP data
βΒ Β βΒ Β βΒ Β βββ IypGenericTreemapChart.vue: A component that creates treemap chart for IYP data
βΒ Β βΒ Β βΒ Β βββ NetworkDelayAlarmsChart.vue: A component that visualizes the alarms according tyo network delays
βΒ Β βΒ Β βΒ Β βββ NetworkDelayChart.vue: A component that visualizes the network delay
βΒ Β βΒ Β βΒ Β βββ NetworkTopologyChart.vue: A component that visualizes the network topology
βΒ Β βΒ Β βΒ Β βββ PrefixHegemonyChart.vue: A component that visualizes the prefix hegemony
βΒ Β βΒ Β βΒ Β βββ ReactiveChart.vue: A component for rendering the charts using Plotly.js
βΒ Β βΒ Β βΒ Β βββ RirCountrySunburstChart.vue: A component that visualizes the RIR data by country
βΒ Β βΒ Β βΒ Β βββ TimeSeriesAggregatedAlarmsChart.vue: A component that visualizes aggregated alarms over time
βΒ Β βΒ Β βΒ Β βββ TracerouteChart.vue: A component that visualizes the traceroute path of an ATLAS measurment
βΒ Β βΒ Β βΒ Β βββ TracerouteRttChart.vue: A component that visualizes the RTT over time of an ATLAS measurment
βΒ Β βΒ Β βΒ Β βββ TreeMapAggregatedAlarmsChart.vue: A component that visualizes aggregated alarms in a treemap chart
βΒ Β βΒ Β βΒ Β βββ WorldMapAggregatedAlarmsChart.vue: A component that visualizes aggregated alarms in a world map
βΒ Β βΒ Β βββ controllers
βΒ Β βΒ Β βΒ Β βββ AggregatedAlarmsController.vue: A component that controls all the components related to the aggregated alarms (global report page)
βΒ Β βΒ Β βΒ Β βββ GenericCardController.vue: A component that creates the widget window. This widget window includes either the chart or the tables components. The window provides sharing and info about the incudeded chart or table.
βΒ Β βΒ Β βββ iyp
βΒ Β βΒ Β βΒ Β βββ as
βΒ Β βΒ Β βΒ Β βΒ Β βββ ASAuthoritativeNameservers.vue: An IYP component that visualizes the AS Authoritative Nameservers
βΒ Β βΒ Β βΒ Β βΒ Β βββ ASCoLocatedASes.vue: An IYP component that visualizes the Co-Located ASes
βΒ Β βΒ Β βΒ Β βΒ Β βββ ASConnectedASes.vue: An IYP component that visualizes the Connected ASes
βΒ Β βΒ Β βΒ Β βΒ Β βββ ASDownstreamsASes.vue: An IYP component that visualizes the Downstreams ASes
βΒ Β βΒ Β βΒ Β βΒ Β βββ ASIXPs.vue: An IYP component that visualizes the ASes' IXPs
βΒ Β βΒ Β βΒ Β βΒ Β βββ ASOriginatedPrefixes.vue: An IYP component that visualizes the AS Originated Prefixes
βΒ Β βΒ Β βΒ Β βΒ Β βββ ASPopularDomains.vue: An IYP component that visualizes the AS Popular Domains
βΒ Β βΒ Β βΒ Β βΒ Β βββ ASPopularHostNames.vue: An IYP component that visualizes the AS Popular Hostnames
βΒ Β βΒ Β βΒ Β βΒ Β βββ ASRPKIRouteOriginAuthorization.vue: An IYP component that visualizes the AS RPKI Route Origin Authorization
βΒ Β βΒ Β βΒ Β βΒ Β βββ ASRankings.vue: An IYP component that visualizes the AS Rankings
βΒ Β βΒ Β βΒ Β βΒ Β βββ ASRipeAtlas.vue: An IYP component that visualizes the AS Ripe Atlas probes
βΒ Β βΒ Β βΒ Β βΒ Β βββ ASSiblingASes.vue: An IYP component that visualizes the Sibling ASes
βΒ Β βΒ Β βΒ Β βΒ Β βββ ASUpstreamASes.vue: An IYP component that visualizes the UpstreamASes
βΒ Β βΒ Β βΒ Β βββ country
βΒ Β βΒ Β βΒ Β βΒ Β βββ CountryASRankings.vue: An IYP component that visualizes the Country AS Rankings
βΒ Β βΒ Β βΒ Β βΒ Β βββ CountryAutonomousSystems.vue: An IYP component that visualizes the Country Autonomous Systems
βΒ Β βΒ Β βΒ Β βΒ Β βββ CountryIPPrefixes.vue: An IYP component that visualizes the Country IP Prefixes
βΒ Β βΒ Β βΒ Β βΒ Β βββ CountryInternetExchangePoints.vue: An IYP component that visualizes the Country IXPs
βΒ Β βΒ Β βΒ Β βΒ Β βββ CountryRipeAtlas.vue: An IYP component that visualizes the Country Ripe Atlas probes
βΒ Β βΒ Β βΒ Β βββ hostName
βΒ Β βΒ Β βΒ Β βΒ Β βββ HostNameAuthoritativeNameservers.vue: An IYP component that visualizes the Hostname Authoritative Nameservers
βΒ Β βΒ Β βΒ Β βΒ Β βββ HostNameIPAddressesPrefixes.vue: An IYP component that visualizes the Hostname IP Addresses Prefixes
βΒ Β βΒ Β βΒ Β βΒ Β βββ HostNameQueryingASes.vue: An IYP component that visualizes Hostnames Querying ASes
βΒ Β βΒ Β βΒ Β βΒ Β βββ HostNameQueryingCountries.vue: An IYP component that visualizes the Hostnames Querying Countries
βΒ Β βΒ Β βΒ Β βΒ Β βββ HostNameRankings.vue: An IYP component that visualizes the Hostname Rankings
βΒ Β βΒ Β βΒ Β βββ ixp
βΒ Β βΒ Β βΒ Β βΒ Β βββ IXPCoLocationFacilities.vue: An IYP component that visualizes the IXP CoLocation Facilities
βΒ Β βΒ Β βΒ Β βΒ Β βββ IXPMembers.vue: An IYP component that visualizes the IXP members
βΒ Β βΒ Β βΒ Β βΒ Β βββ IXPPeeringLANs.vue: An IYP component that visualizes the IXP Peering LANs
βΒ Β βΒ Β βΒ Β βΒ Β βββ IXPRPKIRouteOriginAuthorization.vue: An IYP component that visualizes the IXP RPKI Route Origin Authorization
βΒ Β βΒ Β βΒ Β βββ prefix
βΒ Β βΒ Β βΒ Β βΒ Β βββ PrefixAuthoritativeNameservers.vue: An IYP component that visualizes the Prefix Authoritative Nameserves
βΒ Β βΒ Β βΒ Β βΒ Β βββ PrefixLessSpecificPrefixes.vue: An IYP component that visualizes the Prefix Less Specific Prefixes
βΒ Β βΒ Β βΒ Β βΒ Β βββ PrefixMoreSpecificPrefixes.vue: An IYP component that visualizes the Prefix More Specific Prefixes
βΒ Β βΒ Β βΒ Β βΒ Β βββ PrefixPopularDomains.vue: An IYP component that visualizes the Prefix Populat Domains
βΒ Β βΒ Β βΒ Β βΒ Β βββ PrefixPopularHostNames.vue: An IYP component that visualizes the Prefix Popular Hostnames
βΒ Β βΒ Β βΒ Β βΒ Β βββ PrefixRPKIRouteOriginAuthorization.vue: An IYP component that visualizes the Prefix RPKI Route Origin Authorization
βΒ Β βΒ Β βΒ Β βΒ Β βββ PrefixUpstreamASes.vue: An IYP component that visualizes the Prefix Upstream ASes
βΒ Β βΒ Β βΒ Β βββ rank
βΒ Β βΒ Β βΒ Β βΒ Β βββ RankASRankings.vue: An IYP component that visualizes the Rank AS Rankings
βΒ Β βΒ Β βΒ Β βΒ Β βββ RankHostNameRankings.vue: An IYP component that visualizes the Rank Hostname Ranknings
βΒ Β βΒ Β βΒ Β βββ tag
βΒ Β βΒ Β βΒ Β βββ TagAutonomousSystems.vue: An IYP component that visualizes the Tag ASes
βΒ Β βΒ Β βΒ Β βββ TagPopularHostNames.vue: An IYP component that visualizes the Tag Popular Hostnames
βΒ Β βΒ Β βΒ Β βββ TagPrefixes.vue: An IYP component that visualizes the Tag Prefixes
βΒ Β βΒ Β βββ maps
βΒ Β βΒ Β βΒ Β βββ DiscoMap.vue: A component that creates the network disconnections map
βΒ Β βΒ Β βΒ Β βββ WorldMap.vue: A component that creates the world map for the global report page
βΒ Β βΒ Β βΒ Β βββ WorldMapAggregatedAlarmsMap.vue: A component that creates the world aggregated alarms map for the global report page
βΒ Β βΒ Β βββ networks
βΒ Β βΒ Β βΒ Β βββ AS.vue: A component that creates the AS report page
βΒ Β βΒ Β βΒ Β βββ Country.vue: A component that creates the Country report page
βΒ Β βΒ Β βΒ Β βββ HostName.vue: A component that creates the Hostname report page
βΒ Β βΒ Β βΒ Β βββ IXP.vue: A component that creates the IXP report page
βΒ Β βΒ Β βΒ Β βββ Prefix.vue: A component that creates the Prefix report page
βΒ Β βΒ Β βΒ Β βββ Rank.vue: A component that creates the Rank report page
βΒ Β βΒ Β βΒ Β βββ Tag.vue: A componoent that creates the Tag report page
βΒ Β βΒ Β βΒ Β βββ as
βΒ Β βΒ Β βΒ Β βΒ Β βββ ASCustom.vue: A component that allows users to create a custom AS report page
βΒ Β βΒ Β βΒ Β βΒ Β βββ ASDNS.vue: A component that includes all the visualizations and tables related to AS DNS on the AS report page
βΒ Β βΒ Β βΒ Β βΒ Β βββ ASMonitoring.vue: A component that includes all the visualizations and tables related to AS Monitoring on the AS report page
βΒ Β βΒ Β βΒ Β βΒ Β βββ ASOverview.vue: A component that includes all the visualizations and tables related to AS Overview on the AS report page
βΒ Β βΒ Β βΒ Β βΒ Β βββ ASPeering.vue: A component that includes all the visualizations and tables related to AS Peering on the AS report page
βΒ Β βΒ Β βΒ Β βΒ Β βββ ASRankings.vue: A component that includes all the visualizations and tables related to AS Rankning on the AS report page
βΒ Β βΒ Β βΒ Β βΒ Β βββ ASRegistration.vue: A component includes all the visualizations and tables related to AS Registration on the AS report page
βΒ Β βΒ Β βΒ Β βΒ Β βββ ASRouting.vue: A component includes all the visualizations and tables related to AS Routing on te AS report page
βΒ Β βΒ Β βΒ Β βββ country
βΒ Β βΒ Β βΒ Β βΒ Β βββ CountryCustom.vue: A component that allows users to create a custom Country report page
βΒ Β βΒ Β βΒ Β βΒ Β βββ CountryMonitoring.vue: A component that includes all the visualizations and tables related to Country Monitoring on the Country report page
βΒ Β βΒ Β βΒ Β βΒ Β βββ CountryOverview.vue: A component that includes all the visualizations and tables related to Country Overview on the Country report page
βΒ Β βΒ Β βΒ Β βΒ Β βββ CountryPeering.vue: A component that includes all the visualizations and tables related to Country Peering on the Country report page
βΒ Β βΒ Β βΒ Β βΒ Β βββ CountryRankings.vue: A component thet includes all the visualizations and tables related to Country Ranknings on the Country report page
βΒ Β βΒ Β βΒ Β βΒ Β βββ CountryRouting.vue: A component that includes all the visualizations and tables related to Country Routing on the Country report page
βΒ Β βΒ Β βΒ Β βββ hostName
βΒ Β βΒ Β βΒ Β βΒ Β βββ HostNameCustom.vue: A component that allows users to create a custom Hostname report page
βΒ Β βΒ Β βΒ Β βΒ Β βββ HostNameDNS.vue: A component that includes all the visualizations and tables related to Hostname DNS on the Hostname report page
βΒ Β βΒ Β βΒ Β βΒ Β βββ HostNameRankings.vue: A component that includes all the visualizations and tables related to Hostname Ranknings on the Hostname report page
βΒ Β βΒ Β βΒ Β βΒ Β βββ HostNameRouting.vue: A component that includes all the visualizations and tables related to Hostname Routing on the Hostname report page
βΒ Β βΒ Β βΒ Β βββ ixp
βΒ Β βΒ Β βΒ Β βΒ Β βββ IXPCustom.vue: A component that allows users to create a custom IXP report page
βΒ Β βΒ Β βΒ Β βΒ Β βββ IXPMonitoring.vue: A component that includes all the visualizations and tables related to IXP Monitoring on the IXP report page
βΒ Β βΒ Β βΒ Β βΒ Β βββ IXPOverview.vue: A component that includes all the visualizations and tables related to IXP overview on the IXP report page
βΒ Β βΒ Β βΒ Β βΒ Β βββ IXPPeering.vue: A component that includes all the visualizations and tables related to IXP Peering on the IXP report page
βΒ Β βΒ Β βΒ Β βΒ Β βββ IXPRouting.vue: A component that includes all the visualizations and tables related to IXP Routing on the IXP report page
βΒ Β βΒ Β βΒ Β βββ prefix
βΒ Β βΒ Β βΒ Β βΒ Β βββ PrefixCustom.vue: A component that allows users to create custom Prefix report page
βΒ Β βΒ Β βΒ Β βΒ Β βββ PrefixDNS.vue: A component that includes all the visualizations and tables related to Prefix DNS on the Prefix report page
βΒ Β βΒ Β βΒ Β βΒ Β βββ PrefixOverview.vue: A component that includes all the visualizations and tables related to Prefix Overview on the Prefix report page
βΒ Β βΒ Β βΒ Β βΒ Β βββ PrefixRouting.vue: A component that includes all the visualizations and tables related to Prefix Routing on the Prefix report page
βΒ Β βΒ Β βΒ Β βββ rank
βΒ Β βΒ Β βΒ Β βΒ Β βββ RankCustom.vue: A component that allows users to create a custom Rank report page
βΒ Β βΒ Β βΒ Β βββ tag
βΒ Β βΒ Β βΒ Β βββ TagCustom.vue: A component that allows users to create a custom Tag report page
βΒ Β βΒ Β βΒ Β βββ TagOverview.vue: A component that includes all the visualizations and tables related to Tag Overview on the Tag report page
βΒ Β βΒ Β βββ ripe
βΒ Β βΒ Β βΒ Β βββ Bgplay.vue: A component that integrates RIPE's BGPlay (https://stat.ripe.net/special/bgplay)
βΒ Β βΒ Β βΒ Β βββ Latencymon.vue: A component that integrates RIPE's LatencyMon (https://labs.ripe.net/author/massimo_candela/new-ripe-atlas-tool-latencymon/)
βΒ Β βΒ Β βΒ Β βββ ReverseDnsIp.vue: A component that integrates RIPE's Reverse DNS IP (https://stat.ripe.net/widget/reverse-dns-ip)
βΒ Β βΒ Β βΒ Β βββ Tracemon.vue: A component that integrates RIPE's TraceMON (https://labs.ripe.net/author/massimo_candela/tracemon-network-debugging-made-easy/)
βΒ Β βΒ Β βββ search
βΒ Β βΒ Β βΒ Β βββ LocationSearchBar.vue: A component that allows searching by location using a world map (the map icon in the search bar)
βΒ Β βΒ Β βΒ Β βββ SearchBar.vue: A component for the search bar
βΒ Β βΒ Β βββ tables
βΒ Β βΒ Β βββ AggregatedAlarmsTable.vue: A component that includes the table with the aggregated alarms on the global report page
βΒ Β βΒ Β βββ AsInterdependenciesTable.vue: A component that includes the table with information about the interdependencies between AS
βΒ Β βΒ Β βββ BGPMessagesTable.vue: A component that includes the table with the BGP messages
βΒ Β βΒ Β βββ CountryHegemonyTable.vue: A component that includes the table with the country hegemony values
βΒ Β βΒ Β βββ DelayAlarmsTable.vue: A component that includes the table with the delay alarms values
βΒ Β βΒ Β βββ DiscoAlarmsTable.vue: A component that includes the table with the network disconnections information
βΒ Β βΒ Β βββ ForwardingAlarmsTable.vue: A component that includes the table with the forwarding alarms values
βΒ Β βΒ Β βββ IypGenericTable.vue: A component that includes the table for displaying IYP data
βΒ Β βΒ Β βββ MetisTable.vue: A component that includes the table for displaying data for the Metis project
βΒ Β βΒ Β βββ NetworkDelayAlarmsTable.vue: A component that includes the table with the network delay alarms
βΒ Β βΒ Β βββ NetworkDelayTable.vue: A component that includes the table with the network delay data
βΒ Β βΒ Β βββ PrefixHegemonyTable.vue: A component that includes the table with the prefix hegemony data
βΒ Β βΒ Β βββ PrefixHegemonyTableStats.vue: A component that includes the table with the statistics of the prefix hegemony
βΒ Β βΒ Β βββ TracerouteDestinationsTable.vue: A component that includes the table with the traceroute destinations
βΒ Β βΒ Β βββ TracerouteProbesTable.vue: A component that includes the table with the traceroute probes
βΒ Β βββ i18n
βΒ Β βΒ Β βββ index.js: Exports the i18n object
βΒ Β βΒ Β βββ locales
βΒ Β βΒ Β βΒ Β βββ en.json: Contains the English text for the website
βΒ Β βΒ Β βΒ Β βββ jp.json: Contains the Japanese text for the website (currently is a copy of the English text)
βΒ Β βΒ Β βββ translation.js: Contains all the functions related to the i18n
βΒ Β βββ main.js: Initializes the Vue.js application
βΒ Β βββ plugins
βΒ Β βΒ Β βββ AsNames.js: Contains functions to parse and get AS names from `./public/data/asnames.txt`
βΒ Β βΒ Β βββ GripApi.js: Contains functions for getting data from https://ihr.iijlab.net/proxy/grip/events (for global report page)
βΒ Β βΒ Β βββ IhrApi.js: Contains functions for IHR API calls
βΒ Β βΒ Β βββ IodaApi.js: Contains functions for IODA API calls
βΒ Β βΒ Β βββ IypApi.js: Contains functions for IYP API calls
βΒ Β βΒ Β βββ IypGenericTreemapChart.js: Contains functions for the IYP treemap chart, i.e. handling click on the chart
βΒ Β βΒ Β βββ LibraryDelayer.js: Contains functions for handling CDN based tools
βΒ Β βΒ Β βββ RipeApi.js: Contains functions for RIPE API calls
βΒ Β βΒ Β βββ RipeAtlasApi.js: Contains functions for RIPE Atlas API calls
βΒ Β βΒ Β βββ cache.js: Contains functions for caching the data retrieved from API calls
βΒ Β βΒ Β βββ commonTable.js: Contains functions for table displaying and searching
βΒ Β βΒ Β βββ countryName.js: Contains functions for getting a country name
βΒ Β βΒ Β βββ covid19
βΒ Β βΒ Β βΒ Β βββ lockdowns.js: Contains data about the COVID19 report page
βΒ Β βΒ Β βββ delay.js: Contains constants about the delay components
βΒ Β βΒ Β βββ disco.js: Contains constants about the network disconnections components
βΒ Β βΒ Β βββ layouts
βΒ Β βΒ Β βΒ Β βββ layoutsChart.js: Contains charts layouts
βΒ Β βΒ Β βββ metadata
βΒ Β βΒ Β βΒ Β βββ AggregatedAlarmsMetadata.js: Contains the table structures for the global report page
βΒ Β βΒ Β βββ models
βΒ Β βΒ Β βΒ Β βββ AggregatedAlarmsDataModel.js: Contains functions for parsing and transforming aggregated alarms data for global report page
βΒ Β βΒ Β βΒ Β βββ IodaChartDataModel.js: Contains functions for parsing and transforming IODA data for global report page
βΒ Β βΒ Β βΒ Β βββ TableAggregatedAlarmsDataModel.js: Contains functions for parsing and transforming aggregated alarms data for tables on the global report page
βΒ Β βΒ Β βΒ Β βββ TimeSeriesAggregatedAlarmsDataModel.js: Contains functions for parsing and transforming aggregated alarms data for the time series chart on the global report page
βΒ Β βΒ Β βΒ Β βββ TreeMapAggregatedAlarmsDataModel.js: Contains functions for parsing and transforming aggregated alarms data for the treemap chart on the global report page
βΒ Β βΒ Β βΒ Β βββ WorldMapAggregatedAlarmsDataModel.js: Contains functions for parsing and transforming aggregated alarms data for the world map chart on the global report page
βΒ Β βΒ Β βββ networkName.js: [Deprecated] Contains functions for returning the name of an AS or IXP
βΒ Β βΒ Β βββ query
βΒ Β βΒ Β βΒ Β βββ IhrQuery.js: Creates the queries for the IHR API call
βΒ Β βΒ Β βββ report.js: Contains functions for handling the dates
βΒ Β βΒ Β βββ tests
βΒ Β βΒ Β βΒ Β βββ AggregatedAlarmsDataModel.test.js: Contains unit tests for AggregatedAlarmsDataModel.js
βΒ Β βΒ Β βΒ Β βββ AggregatedAlarmsUtils.test.js: Contains unit tests for AggregatedAlarmsUtils.js
βΒ Β βΒ Β βΒ Β βββ AsNames.test.js: Contains unit tests for AsNames.js
βΒ Β βΒ Β βΒ Β βββ GripApi.test.js: Contains unit tests for GripApi.js
βΒ Β βΒ Β βΒ Β βββ IodaApi.test.js: Contains unit tests for IodaApi.js
βΒ Β βΒ Β βΒ Β βββ IodaChartDataModel.test.js: Contains unit tests for IodaChartDataModel.js
βΒ Β βΒ Β βΒ Β βββ TableAggregatedAlarmsDataModel.test.js: Contains unit tests for TableAggregatedAlarmsDataModel.js
βΒ Β βΒ Β βΒ Β βββ TimeSeriesAggregatedAlarmsDataModel.test.js: Contains unit tests for TimeSeriesAggregatedAlarmsDataModel.js
βΒ Β βΒ Β βΒ Β βββ TreeMapAggregatedAlarmsDataModel.test.js: Contains unit tests for TreeMapAggregatedAlarmsDataModel.js
βΒ Β βΒ Β βΒ Β βββ WorldMapAggregatedAlarmsDataModel.test.js: Contains unit tests for WorldMapAggregatedAlarmsDataModel.js
βΒ Β βΒ Β βΒ Β βββ resources
βΒ Β βΒ Β βΒ Β βββ data.js: Contains data for the unit tests
βΒ Β βΒ Β βββ tracerouteFunctions.js: Contains helper functions for the traceroute components
βΒ Β βΒ Β βββ utils
βΒ Β βΒ Β βββ AggregatedAlarmsUtils.js: Contains helper functions for the global report page's aggregated alarms
βΒ Β βββ router
βΒ Β βΒ Β βββ index.js: Contains the Vue routing
βΒ Β βββ styles
βΒ Β βΒ Β βββ chart.css: Contains CSS classes for the charts
βΒ Β βΒ Β βββ main.css: Contains CSS classes for the webpage
βΒ Β βββ views
βΒ Β βββ Api.vue: A component that creates the API page. It provides a UI for making calls to IHR API.
βΒ Β βββ BGPMonitor.vue: A component that creates the BGP monitor tool page
βΒ Β βββ Contact.vue: A component that creates the contact page
βΒ Β βββ Corona.vue: A component that creates the COVID19 report page
βΒ Β βββ Countries.vue: A component that creates the country report page
βΒ Β βββ Documentation.vue: A component that creates the documentation page
βΒ Β βββ GlobalReport.vue: A component that creates the global report page
βΒ Β βββ Home.vue: A component that creates the home page
βΒ Β βββ HostNames.vue: A component that creates the hostname report page
βΒ Β βββ MetisDeployment.vue: A component that creates the metis probe deployment page
βΒ Β βββ MetisHome.vue: A component that creates the metis page
βΒ Β βββ MetisSelection.vue: A component that creates the metis probe selection page
βΒ Β βββ NetworkTopology.vue: A component that creates the network topology tool page
βΒ Β βββ Networks.vue: A component that creates the network report page
βΒ Β βββ Observable.vue: A component that creates the observable tool page
βΒ Β βββ PageNotFound.vue: A component that creates the not found page
βΒ Β βββ ROV.vue: A component that creates the Route Origin Validation (ROV) page
βΒ Β βββ Ranks.vue: A component that creates the ranks report page
βΒ Β βββ Tags.vue: A component that creates the tags report page
βΒ Β βββ TracerouteVisualizationTool.vue: A component that creates the traceroute visualization tool page
βββ vite.config.js: Contains the vite configuarion