aws-samples / aws-samples/sample-collaborative-ai-dlc

Break Project.tsx into smaller components

Open
#277 0 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.