-
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 % -
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 % -
SZ-58: Dashboard Live Metrics — Time Log
Estimated: 0h
Actual: 12hWork completed
- Replaced static mock dashboard with live backend aggregation
- Implemented
GET /api/dashboardwith scope-based filtering (ALL, FAVORITES, projectIds) - Added
DashboardScopeDtoecho-back showing resolved project context - Added
UserFavoriteProjectentity and Flyway V23 migration - Implemented
FavoriteProjectServicewith add, remove, and clear-all operations - Wired
POST|DELETE /api/projects/{id}/favoriteandDELETE /api/projects/favorites - Added
DashboardScopeConverterfor case-tolerant enum binding - Scoped issueFlow and activity feed queries to resolved project set
- Frontend:
ScopePickercomponent with subtitle affordance - Frontend: star toggle per project row with optimistic update and clear-all
- Frontend: live
DashboardPagewired to backend - 350 unit tests passing
Deferred
- SZ-141: Add "Started" series to issue flow graph (IN_PROGRESS transitions)
| Type |
New Feature
|
| Priority |
Normal
|
| Assignee | |
| Version |
1.8
|
| Sprints |
n/a
|
| Customer |
n/a
|
Issue Votes (0)
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.