feat: Overhaul proposal and dashboard logic with revisions
Created by: Edouard-Legoupil
This commit introduces a comprehensive set of features and refactors the application's core proposal and dashboard functionality. It also includes several revisions based on user feedback.
Key changes include:
-
Relational Proposal Data:
- Proposal creation now uses relational tables (
proposal_donors,proposal_outcomes,proposal_field_contexts). - The dashboard and review endpoints now use JOINs to fetch this relational data.
- Proposal creation now uses relational tables (
-
Dashboard Enhancements & Fixes:
- Project cards on the dashboard now display the relational data.
- A "Budget Range" field has been added to project cards.
- The project summary display is now trimmed to the first 5 lines.
- Fixed a bug where the 'Pending Reviews' tab would show incorrect proposals if the user had no reviews.
- The search bar is now hidden on the 'Metrics' tab for a cleaner UI.
-
New Feature: Knowledge Cards:
- Full implementation of the Knowledge Cards feature, including backend API and frontend components for display and creation.
-
New Feature: Metrics Dashboard:
- A new "Metrics" tab with a dashboard for visualizing proposal data.
- Includes a new
proposal_status_historytable to enable accurate time-tracking between development stages.
-
User Teams:
- A
teamcolumn has been added to theuserstable and integrated into the registration process.
- A
-
Dummy Data & Sample Data:
- The
seed.sqlfile has been significantly expanded with comprehensive data for donors, outcomes, and countries as requested. - The automatic loading of sample proposals from a JSON file has been removed.
- The
- 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?