Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
이 프로젝트는 React를 사용하여 유튜브 메인 스크린과 유사한 화면을 구현하는 것을 목표로 하고 있습니다.
App.js 시작하며, 여러 하위 파일들을 조합해 구성됩니다.
● App.js
● App.css
● Header.js
● Sidebar.js
● VideoThumbnails.js
● index.js
이번 과제는 컴포넌트 중심으로 설계 했습니다. 모든 주요 UI 요소는 컴포넌트로 분리되어 있어 코드의 재사용성을 높이고, 기능을 쉽게 유지보수할 수 있게 됩니다.
Material-UI 라이브러리를 활용하여 유튜브와 유사한 UI 요소를 생성하고 스타일을 표현 했습니다.
App.js에서 전체적인 페이지 레이아웃을 관리 하고 있습니다.
● 프로젝트 구조 설계
어려웠던 점 : 처음에 어떤 파일을 만들고 각 컴포넌트의 역할을 어떻게 분배할지 고민이 되었고, YouTube 메인 화면처럼 구체적으로 어떤 구조로 작업할지 불확실했습니다.
해결 과정 : 핵심 구성 요소인 Header, Sidebar, VideoThumbnails를 분리하여 각각구성 요소의 역할을 명확하게 만들었고, App.js에서 통합하는 구조로 설계했습니다.
● Grid 시스템 사용
어려웠던 점 : 동영상 썸네일을 다양한 화면 크기에 맞게 적절히 표시하기 위해 어떤 레이아웃 시스템을 쓸지 고민했습니다.
해결 과정 : Material-UI의 Grid 시스템을 활용해 썸네일 레이아웃을 만들었고, xs, sm, md, lg 등의 속성을 활용해 다양한 기기에 적합한 디자인을 구현했습니다.
● 썸네일 및 채널 정보 배치
어려웠던 점 : 썸네일 이미지와 동영상 제목, 채널 정보를 어떻게 정렬할지에 대해서 고민 했습니다.
해결 과정 : CardMedia와 CardContent를 활용해 이미지와 텍스트를 분리하고, Typography를 사용해 적절한 크기와 색상으로 텍스트를 표시했습니다.