Skip to content

feat: Add new metrics and visualizations to dashboard

Created by: Edouard-Legoupil

This commit introduces two new metrics to the backend and visualizes them on the frontend dashboard.

Backend changes (backend/api/metrics.py):

  • Adds a new endpoint /metrics/average-funding-amount to calculate the average budget of proposals, with filters for user, team, and proposal status (all or approved).
  • Adds a new endpoint /metrics/proposal-volume to count the number of proposals per user and per team.
  • Enhances the _get_filter_clauses helper function to support filtering by proposal status.

Frontend changes (frontend/src/screens/Dashboard/components/MetricsDashboard/MetricsDashboard.jsx):

  • Fetches data from the new /metrics/average-funding-amount and /metrics/proposal-volume endpoints.

  • Adds a new card to display the "Average Funding Amount" with a dropdown to filter by status.

  • Adds new bar charts to visualize the "Proposal Volume" by user and by team.

  • Does my code meet the quality standards for releasing packages?

  • Does the reviewer have all the information to validate the features/issues without too much research?

  • Does the customer who will validate the associated tickets have the information to do so without wasting time?

Issues to validate to close :

  • issue #

Processed issues to keep open or in progress:

  • issue #

Checklist:

  • Does the package check go local?
  • Does the CI pass?
  • Are the added / fixed features documented, tested?
  • Are the added features / solved problems briefly presented in the PR message?
  • Are the changes related to tickets / issues that I have listed in the commits and in the PR itself?
  • Are the tickets in "review" mode in the Project Tracking Board?
  • Does each ticket, if it is to be closed after acceptance of the PR, contain a comment that tells how to validate it?

Merge request reports

Loading