aws-samples / aws-samples/sample-collaborative-ai-dlc
Break Project.tsx into smaller components
- Dominant language
- JavaScript
- Stars
- 75
- Forks
- 23
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 24
Description
## Context
Per review comment on #184 by @svozza: `Project.tsx` is ~550 lines in a single component. Should be broken into smaller, focused React components for readability and testability.
## Suggested extractions
- `ProjectStatsCards` — the Repository + Iterations 2-card grid
- `IterationList` — the active/past sprints list with collapsible past section
- `SprintRow` — individual sprint row (already somewhat isolated inline)
- `CreateSprintDialog` — the sprint creation modal logic
## Expected outcome
- `Project.tsx` reduced to ~150 lines (composition + data fetching)
- Each extracted component is independently testable
- No behavior change
Contributor guide
Research direction
Start by reading Project.tsx and map the repository and iteration UI, sprint rows, and creation modal logic into the proposed component boundaries. Done means Project.tsx is about 150 lines, the extracted components are independently testable, and behavior remains unchanged.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, react
- Domain
- frontend
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100