Dashboard is currently a static mock and does not reflect live system state (SZ-58)
rk@tigase.net opened 3 months ago

Description

The Dashboard view is a placeholder UI and does not display real project, issue, or pull-request data. It exists to establish layout and navigation only.

Impact

Users may assume the Dashboard reflects live system metrics when it does not.

Workaround

Navigate directly to Projects, Issues, and Pull Requests sections.

Planned Fix

Targeted for release 1.8 or 1.9, once core workflows stabilize.

  • rk@tigase.net commented 3 weeks ago
    rksuma@Ramakrishnans-MacBook-Pro sztab % git status
    On branch feature/SZ-58-dashboard-live-metrics
    Your branch is up to date with 'origin/feature/SZ-58-dashboard-live-metrics'.
    
    Changes to be committed:
      (use "git restore --staged <file>..." to unstage)
    	new file:   backend/src/main/java/com/sztab/controller/dashboard/DashboardController.java
    	new file:   backend/src/main/java/com/sztab/dto/dashboard/ActivityEntryDto.java
    	new file:   backend/src/main/java/com/sztab/dto/dashboard/DashboardDto.java
    	new file:   backend/src/main/java/com/sztab/dto/dashboard/DashboardSummaryDto.java
    	new file:   backend/src/main/java/com/sztab/dto/dashboard/IssueFlowPointDto.java
    
    rksuma@Ramakrishnans-MacBook-Pro sztab % 
    
    
  • rk@tigase.net changed state to 'In Progress' 3 weeks ago
    Previous Value Current Value
    Open
    In Progress
  • rk@tigase.net commented 2 weeks ago

    Feature complete and merged into wolsonsc:

    
    rksuma@Ramakrishnans-MacBook-Pro sztab % git commit
    [feature/SZ-58-dashboard-live-metrics f387833] SZ-58: Dashboard live metrics with scope-based filtering
     3 files changed, 62 insertions(+), 11 deletions(-)
    rksuma@Ramakrishnans-MacBook-Pro sztab % git push
    Enumerating objects: 23, done.
    Counting objects: 100% (23/23), done.
    Delta compression using up to 12 threads
    Compressing objects: 100% (11/11), done.
    Writing objects: 100% (12/12), 1.90 KiB | 1.90 MiB/s, done.
    Total 12 (delta 10), reused 0 (delta 0), pack-reused 0 (from 0)
    remote:  
    remote: Create a pull request for 'feature/SZ-58-dashboard-live-metrics' by visiting:
    remote:     https://tigase.dev/sztab/~pulls/new?target=1325:wolnosc&source=1325:feature/SZ-58-dashboard-live-metrics
    remote:  
    To https://tigase.dev/sztab.git
       94603e6..f387833  feature/SZ-58-dashboard-live-metrics -> feature/SZ-58-dashboard-live-metrics
    rksuma@Ramakrishnans-MacBook-Pro sztab % 
    rksuma@Ramakrishnans-MacBook-Pro sztab % 
    rksuma@Ramakrishnans-MacBook-Pro sztab % git status
    On branch feature/SZ-58-dashboard-live-metrics
    Your branch is up to date with 'origin/feature/SZ-58-dashboard-live-metrics'.
    
    nothing to commit, working tree clean
    rksuma@Ramakrishnans-MacBook-Pro sztab % git checkout wolnosc
    git merge feature/SZ-58-dashboard-live-metrics
    git push
    Switched to branch 'wolnosc'
    Your branch is up to date with 'origin/wolnosc'.
    Updating adc02c6..f387833
    Fast-forward
     backend/src/main/java/com/sztab/annotations/PerformanceProblem.java              |   4 +-
     backend/src/main/java/com/sztab/controller/IssueController.java                  |   6 +-
     backend/src/main/java/com/sztab/controller/dashboard/DashboardController.java    |  49 ++++++++++
     backend/src/main/java/com/sztab/controller/project/ProjectController.java        |  73 ++++++++++++--
     backend/src/main/java/com/sztab/dto/dashboard/ActivityEntryDto.java              |   9 ++
     backend/src/main/java/com/sztab/dto/dashboard/DashboardDto.java                  |  10 ++
     backend/src/main/java/com/sztab/dto/dashboard/DashboardScopeDto.java             |   9 ++
     backend/src/main/java/com/sztab/dto/dashboard/DashboardSummaryDto.java           |   8 ++
     backend/src/main/java/com/sztab/dto/dashboard/IssueFlowPointDto.java             |   7 ++
     backend/src/main/java/com/sztab/dto/dashboard/ProjectRefDto.java                 |   6 ++
     backend/src/main/java/com/sztab/dto/dashboard/enums/DashboardScope.java          |  20 ++++
     backend/src/main/java/com/sztab/dto/project/ProjectDto.java                      |   9 +-
     backend/src/main/java/com/sztab/mapper/DashboardScopeConverter.java              |  16 ++++
     backend/src/main/java/com/sztab/mapper/ProjectMapper.java                        |   6 +-
     backend/src/main/java/com/sztab/model/Review.java                                |   2 +-
     backend/src/main/java/com/sztab/model/UserFavoriteProject.java                   |  36 +++++++
     backend/src/main/java/com/sztab/repository/IssueRepository.java                  |  84 +++++++++++++++-
     backend/src/main/java/com/sztab/repository/ProjectRepository.java                |  38 ++++++++
     backend/src/main/java/com/sztab/repository/PullRequestRepository.java            |  16 ++++
     backend/src/main/java/com/sztab/repository/UserFavoriteProjectRepository.java    |  19 ++++
     backend/src/main/java/com/sztab/service/FavoriteProjectService.java              |  30 ++++++
     backend/src/main/java/com/sztab/service/PATHashService.java                      |   2 +-
     backend/src/main/java/com/sztab/service/ProjectService.java                      |   2 +-
     backend/src/main/java/com/sztab/service/dashboard/DashboardService.java          |  62 ++++++++++++
     backend/src/main/java/com/sztab/service/impl/FavoriteProjectServiceImpl.java     |  56 +++++++++++
     backend/src/main/java/com/sztab/service/impl/IssueServiceImpl.java               |   2 +-
     backend/src/main/java/com/sztab/service/impl/PullRequestServiceImpl.java         |   2 +-
     backend/src/main/java/com/sztab/service/impl/dashboard/DashboardServiceImpl.java | 256 +++++++++++++++++++++++++++++++++++++++++++++++++
     backend/src/main/java/com/sztab/service/impl/query/IssueQueryServiceImpl.java    |   4 +-
     backend/src/main/java/com/sztab/sztabina/client/impl/SztabinaClient.java         |   2 +-
     backend/src/main/java/com/sztab/util/DurationParser.java                         |   2 +-
     backend/src/main/resources/db/migration/V23__create_user_favorite_projects.sql   |  20 ++++
     backend/src/test/java/com/sztab/annotations/AnnotationUsageTest.java             |   4 +-
     backend/src/test/java/com/sztab/controller/project/ProjectControllerTest.java    |  40 +++++++-
     backend/src/test/java/com/sztab/mapper/git/ProjectMapperTest.java                |  21 ++--
     backend/src/test/java/com/sztab/model/ReviewValidationTest.java                  |   2 +-
     backend/src/test/java/com/sztab/service/FavoriteProjectServiceImplTest.java      |  91 ++++++++++++++++++
     backend/src/test/java/com/sztab/service/PersonalAccessTokenServiceImplTest.java  |   3 +-
     backend/src/test/java/com/sztab/service/dashboard/DashboardServiceImplTest.java  | 113 ++++++++++++++++++++++
     deploy/docker/docker-compose.yml                                                 |   6 +-
     frontend/src/api/dashboard/dashboard.ts                                          |  41 ++++++++
     frontend/src/api/projects/favorites.ts                                           |  24 +++++
     frontend/src/components/dashboard/ScopePicker.tsx                                | 181 ++++++++++++++++++++++++++++++++++
     frontend/src/components/dashboard/TrendChart.tsx                                 |  33 ++++++-
     frontend/src/pages/DashboardPage.tsx                                             |  74 +++++++-------
     frontend/src/pages/ProjectsPage.tsx                                              |  92 +++++++++++++++---
     frontend/src/types/project.ts                                                    |   2 +
     47 files changed, 1488 insertions(+), 106 deletions(-)
     create mode 100644 backend/src/main/java/com/sztab/controller/dashboard/DashboardController.java
     create mode 100644 backend/src/main/java/com/sztab/dto/dashboard/ActivityEntryDto.java
     create mode 100644 backend/src/main/java/com/sztab/dto/dashboard/DashboardDto.java
     create mode 100644 backend/src/main/java/com/sztab/dto/dashboard/DashboardScopeDto.java
     create mode 100644 backend/src/main/java/com/sztab/dto/dashboard/DashboardSummaryDto.java
     create mode 100644 backend/src/main/java/com/sztab/dto/dashboard/IssueFlowPointDto.java
     create mode 100644 backend/src/main/java/com/sztab/dto/dashboard/ProjectRefDto.java
     create mode 100644 backend/src/main/java/com/sztab/dto/dashboard/enums/DashboardScope.java
     create mode 100644 backend/src/main/java/com/sztab/mapper/DashboardScopeConverter.java
     create mode 100644 backend/src/main/java/com/sztab/model/UserFavoriteProject.java
     create mode 100644 backend/src/main/java/com/sztab/repository/UserFavoriteProjectRepository.java
     create mode 100644 backend/src/main/java/com/sztab/service/FavoriteProjectService.java
     create mode 100644 backend/src/main/java/com/sztab/service/dashboard/DashboardService.java
     create mode 100644 backend/src/main/java/com/sztab/service/impl/FavoriteProjectServiceImpl.java
     create mode 100644 backend/src/main/java/com/sztab/service/impl/dashboard/DashboardServiceImpl.java
     create mode 100644 backend/src/main/resources/db/migration/V23__create_user_favorite_projects.sql
     create mode 100644 backend/src/test/java/com/sztab/service/FavoriteProjectServiceImplTest.java
     create mode 100644 backend/src/test/java/com/sztab/service/dashboard/DashboardServiceImplTest.java
     create mode 100644 frontend/src/api/dashboard/dashboard.ts
     create mode 100644 frontend/src/api/projects/favorites.ts
     create mode 100644 frontend/src/components/dashboard/ScopePicker.tsx
    Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
    To https://tigase.dev/sztab.git
       adc02c6..f387833  wolnosc -> wolnosc
    rksuma@Ramakrishnans-MacBook-Pro sztab % git push origin --delete feature/SZ-58-dashboard-live-metrics
    
    remote:  
    remote: Create a pull request for 'feature/SZ-58-dashboard-live-metrics' by visiting:
    remote:     https://tigase.dev/sztab/~pulls/new?target=1325:wolnosc&source=1325:feature/SZ-58-dashboard-live-metrics
    remote:  
    To https://tigase.dev/sztab.git
     - [deleted]         feature/SZ-58-dashboard-live-metrics
    rksuma@Ramakrishnans-MacBook-Pro sztab % git branch -d feature/SZ-58-dashboard-live-metrics
    
    Deleted branch feature/SZ-58-dashboard-live-metrics (was f387833).
    rksuma@Ramakrishnans-MacBook-Pro sztab % git log --oneline origin/wolnosc | head -5
    f387833 SZ-58: Dashboard live metrics with scope-based filtering
    94603e6 SZ-58: Dashboard live metrics with scope-based filtering
    7293544 SZ-58: Dashboard scope filtering and project favorites support
    dcd40c2 SZ-58: Complete dashboard backend with filtering, aggregation, and unit tests
    8f9b4cb SZ-58: Implement live dashboard backend with project-scoped aggregation
    rksuma@Ramakrishnans-MacBook-Pro sztab % 
    
    
  • rk@tigase.net changed state to 'Closed' 2 weeks ago
    Previous Value Current Value
    In Progress
    Closed
  • rk@tigase.net commented 2 weeks ago

    SZ-58: Dashboard Live Metrics — Time Log

    Estimated: 0h
    Actual: 12h

    Work completed

    • Replaced static mock dashboard with live backend aggregation
    • Implemented GET /api/dashboard with scope-based filtering (ALL, FAVORITES, projectIds)
    • Added DashboardScopeDto echo-back showing resolved project context
    • Added UserFavoriteProject entity and Flyway V23 migration
    • Implemented FavoriteProjectService with add, remove, and clear-all operations
    • Wired POST|DELETE /api/projects/{id}/favorite and DELETE /api/projects/favorites
    • Added DashboardScopeConverter for case-tolerant enum binding
    • Scoped issueFlow and activity feed queries to resolved project set
    • Frontend: ScopePicker component with subtitle affordance
    • Frontend: star toggle per project row with optimistic update and clear-all
    • Frontend: live DashboardPage wired to backend
    • 350 unit tests passing

    Deferred

    • SZ-141: Add "Started" series to issue flow graph (IN_PROGRESS transitions)
issue 1 of 1
Type
New Feature
Priority
Normal
Assignee
Version
1.8
Sprints
n/a
Customer
n/a
Issue Votes (0)
Watchers (3)
Reference
SZ-58
Please wait...
Page is in error, reload to recover