-
Work Log — SZ-44: Implement Project Management UI
2025-12-01
09:30–11:00 (1.5h) — Initial UI wiring
- Wired React components (Create/Edit modals) to backend DTOs.
- Added Owner and GitRepo dropdowns.
- Basic Project List loading and display working.
11:00–12:00 (1h) — Investigating blank-screen regression
- Project page went fully blank.
- Traced crash to API mismatch: frontend expected arrays, backend returned
Page<T>.
12:00–13:30 (1.5h) — Fixing API modules
- Repaired
api/projects.ts,api/gitrepos.ts,api/users.ts. - Standardized all API calls to parse paginated responses.
- Rebuilt DTOs and type imports.
13:30–15:00 (1.5h) — Updating all consuming React pages
- Updated
ProjectsPage.tsx,GitReposPage.tsx, andUserListPage.tsxto match new paged API shapes. - Fixed type errors, state mismatches, and missing imports.
15:00–16:00 (1h) — Full UI stabilization
- Verified Create/Edit/Delete for Projects.
- Verified Git Repo list and CRUD operations.
- Verified Users list loads without errors.
- Confirmed that no page shows blank-screen failures.
16:00–17:00 (1h) — Build verification & clean-up
- Ran
npm run buildto check production correctness. - Ensured no TypeScript compile errors.
- Final consistency checks on dropdowns, timestamps, and DTOs.
Total Time
7 hours of actual engineering work
Status
SZ-44 is fully implemented, tested, and ready for merge. A follow-up task will be opened to replace browser-native
confirm()with an in-app modal. -
| Type |
New Feature
|
| Priority |
Normal
|
| Assignee | |
| Version |
1.0
|
| Sprints |
n/a
|
| Customer |
n/a
|
Issue Votes (0)
Overview
The backend implementation for Project Management is already complete (entity, DTOs, repository, service, controller).
This issue focuses exclusively on adding the corresponding UI functionality in
sztab-ui, following the same stable patterns used for Git Repository Management.The goal is to deliver a minimal but complete CRUD interface for Projects, without introducing canonical URLs, deep routing, or modal-driven entity navigation. Those enhancements will be handled later once Project, Branch, and Issue flows are complete.
Scope of This Issue
Frontend Deliverables
Project List Page
name,description,owner,gitRepo,startDate,endDate, and the number of issues (if available in the DTO).Create Project Modal
name,description,gitRepoId,ownerId, and optional date fields.API Integration
src/api/api.ts:getProjectsPaged(page, size, sort, direction)createProject(payload)deleteProject(id)UI Consistency
Non-Goals (explicitly out of scope)
Acceptance Criteria
Worklog
(To be updated during implementation.)