Implementing UI for Jenkins Infra Statistics

Goal: To build upon the current GitHub Pages based UI into a user-friendly and full-featured website for showcasing Jenkins Infra Statistics

Status: Selected

Team

Details

Abstract

This project is suited for a contributor who has had some prior exposure to frontend web development who would like to build a web app with dashboards for data visualisation, using data already presented at an existing GitHub Pages site at https://stats.jenkins.io/.

We aim to divide the project into four main components:

  • Statistics in detail

  • Plugin Installation Trend

  • Plugin Versions by Jenkins Version

  • Jenkins plugin dependency graph

The preferred frontend framework for the website would be React, using Gatsby.js or Vite.js preferably. However, it could also be implemented with Angular or Vue. Other plotting libraries that will be adopted may include Plotly.js (https://plotly.com/javascript/) and Apache ECharts (https://echarts.apache.org/en/index.html).

Rationale

The current GitHub Pages site at https://stats.jenkins.io/ is fairly basic. The creator would like a proper UI to be implemented for better a better user experience.

Implementation

We will be using Vite.js as the frontend React framework for the project, along with the Apache Echarts plotting library for data visualisation. The project will be divided into four main stages, corresponding to the four main components of the project as described above. During the development phase, the code project can be found at https://github.com/shlomomdahan/stats2.jenkins.io. This will eventually be moved into the repo currently occupied by the GitHub Pages site at https://github.com/jenkins-infra/infra-statistics once the project is completed.

Office hours

  • (General) Official weekly Jenkins office hours: Thursdays 13:00 UTC

  • (Project-based) Weekly project based office hours: Mondays 14:30 UTC

Chat

We use the #gsoc-2024-infra-stats-ui channel in the CDF Slack workspace.

Links