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-amountto calculate the average budget of proposals, with filters for user, team, and proposal status (all or approved). - Adds a new endpoint
/metrics/proposal-volumeto count the number of proposals per user and per team. - Enhances the
_get_filter_clauseshelper 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-amountand/metrics/proposal-volumeendpoints. -
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?