Skip to content

[유지민] sprint1, 2#28

Open
yoo6038a-jpg wants to merge 7 commits intocodeit-sprint-fullstack:basic-유지민from
yoo6038a-jpg:mission2-유지민

Hidden character warning

The head ref may contain hidden characters: "mission2-\uc720\uc9c0\ubbfc"
Open

[유지민] sprint1, 2#28
yoo6038a-jpg wants to merge 7 commits intocodeit-sprint-fullstack:basic-유지민from
yoo6038a-jpg:mission2-유지민

Conversation

@yoo6038a-jpg
Copy link
Copy Markdown

@yoo6038a-jpg yoo6038a-jpg commented Mar 1, 2026

기본 요구사항

랜딩 페이지

  • React와 같은 UI 라이브러리를 사용하지 않고 진행합니다
  • PC사이즈만 고려해 주어진 디자인으로 구현합니다.
  • HTML, CSS 파일을 [Netlify](https://www.netlify.com/)로 배포해 주세요. (참고: https://www.codeit.kr/learn/5309)
  • 랜딩 페이지의 url path는 루트(‘/’)로 설정합니다. → index.html을 만들어라~
  • title은 “판다마켓”로 설정합니다.
  • “판다마켓” 로고 클릭 시 루트 페이지(‘/’)로 이동합니다.
  • '로그인' 버튼 클릭 시 로그인 페이지(‘/login’)로 이동합니다 (빈 페이지)
  • “구경하러 가기”버튼 클릭 시(’/items’)로 이동합니다. (빈 페이지)
  • “Privacy Policy”, “FAQ”는 클릭 시 각각 Privacy (개인정보 처리방침)페이지(‘/privacy’), FAQ 페이지(‘/faq’)로 이동합니다.(모두 빈 페이지)
  • 페이스북, 트위터, 유튜브, 인스타그램 아이콘을 클릭 시 각각의 홈페이지로 새로운 창이 열리면서 이동합니다.
  • 아래로 스크롤해도 “판다 마켓” 로고와 “로그인” 버튼이 있는 상단 내비게이션 바(Global Navigation Bar)가 최상단에 고정되게 해 주세요.
  • 화면의 너비가 1920px 이상이면 하늘색 배경색은 너비를 꽉 채우도록 채워지고, 내부 요소들의 위치는 고정되고, 여백만 커지도록 합니다.
  • 화면의 너비가 1920px 보다 작아질 때, “판다마켓” 로고의 왼쪽 여백 200px, “로그인" 버튼의 오른쪽 여백 200px이 유지되고, 화면의 너비가 작아질수록 두 요소 간 거리가 가까워지도록 설정합니다.
  • 화면의 너비가 1920px 이상이면 내부에 있는 요소 간 동일한 간격을 유지하며 가운데 정렬해야 합니다.
  • 화면의 너비가 1920px 보다 작아질 때, 최하단에 있는 “codeit-2024”의 왼쪽 여백 200px과 SNS 아이콘들의 오른쪽 여백 200px을 유지하면서 가운데 있는 “Privacy Policy”, “FAQ” 요소와 각각 동일한 간격을 유지하며 가까워져야 합니다.
  • 클릭으로 기능이 동작해야 하는 경우, 사용자가 클릭할 수 있는 요소임을 알 수 있도록 CSS 속성 cursor: pointer로 설정합니다.

심화 요구사항

공통

  • reset.css를 설정해 주세요.
  • 사용자의 브라우저 설정에 따라 기본 폰트 크기 설정이 변화함에 따라서 페이지의 요소 간 간격, 요소의 크기, font-size 등 모든 크기와 관련된 값이 크고 작아지도록 설정해 주세요.

  • README.md 파일을 작성해 주세요.
    • 마크다운 언어를 숙지하여 작성해 주세요.
    • 내용은 자유롭게 작성해 주세요.
  • 본인 브랜치(ex)part1-홍길동)에 스프린트 미션을 업로드해 주세요.
  • 적절한 커밋 메시지를 남겨 주세요.
  • 1-Sprint-Mission 레포지토리를 fork 합니다.
  • GitHub에 PR(Pull Request)을 생성해 upstream의 본인 브랜치(ex)part1-홍길동)에 미션을 제출합니다.
  • Git 활용 과정에서 유닉스 커맨드를 활용해 주세요.
  • HTML, CSS 파일을 Netlify로 배포합니다. (참고: https://www.codeit.kr/learn/5309)

로그인 페이지, 회원가입 페이지 공통

  • "판다마켓" 로고 클릭 시 루트 페이지("/")로 이동합니다.
  • SNS 아이콘들은 클릭 시 각각 "https://www.google.com/", "https://www.kakaocorp.com/page/" 으로 이동합니다.
  • input 요소에 focus in 일 때, 테두리 색상은 ##3692FF입니다.
  • input 요소에 focus out 일 때, 테두리는 없습니다.

로그인 페이지

  • "회원가입"버튼 클릭 시 "/signup" 페이지로 이동합니다.

회원가입 페이지

  • "로그인"버튼 클릭 시 "/login" 페이지로 이동합니다

심화 요구사항

공통

  • palette에 있는 color값들을 css 변수로 등록해서 사용합니다.
  • 구글 애널리틱스로 방문자 수 확인하기 할 수 있도록 설정합니다.

로그인 페이지, 회원가입 페이지 공통

  • 비밀번호, 비밀번호 확인 input 요소 오른쪽에 비밀번호를 확인할 수 있는 눈 모양 아이콘을 추가합니다.

@yoo6038a-jpg yoo6038a-jpg added 매운맛🔥 뒤는 없습니다. 그냥 필터 없이 말해주세요. 책임은 제가 집니다. 최종제출 스프린트 미션 최종 제출 PR입니다. 코드리뷰 및 평가해주세요! labels Mar 1, 2026
@yoo6038a-jpg yoo6038a-jpg changed the title Mission2 유지민 [유지민] sprint1, 2 Mar 1, 2026
@yoo6038a-jpg yoo6038a-jpg requested a review from greatelv March 4, 2026 12:34
Copy link
Copy Markdown
Collaborator

@greatelv greatelv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[이 리뷰는 새로운 톤앤매너가 적용된 아래 리뷰로 대체되었습니다.]

Copy link
Copy Markdown
Collaborator

@greatelv greatelv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

기능 구현과 마크업 작업하시느라 고생하셨습니다.
전체적으로 코드가 깔끔하게 작성되어 있으나, 시맨틱 마크업과 CSS 명시도, 그리고 웹 접근성 관점에서 몇 가지 아쉬운 점이 보입니다. 작은 디테일들이 모여 소프트웨어의 품질을 결정하는 법이니, 남겨드린 코멘트를 가볍게 읽어보시고 다음 작업에 고려해보시면 좋겠습니다.

</div>

<div class="pw">
<ladel for="user-pw">비밀번호<br /></ladel>
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오타가 있습니다. <ladel>이 아니라 <label>이 되어야 스크린 리더 등에서 정상적으로 렌더링되고 인식될 수 있습니다. 수정이 필요합니다.

<section>
<form action="/signup.html" method="POST">
<div class="email">
<label for="email">이메일<br /></label>
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

<label> 내부에 <br />을 넣어 통제되지 않는 줄바꿈을 처리하기보다, CSS에서 display: block;이나 display: flex;로 제어하는 편이 구조적 관점에서 훨씬 낫습니다. 마크업과 스타일을 분리하는 방향으로 개선하시길 권합니다.

gap: 16px;
}

#email {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

스타일을 부여할 때 #email과 같은 ID 선택자보다는 Class 선택자를 사용하는 것이 좋습니다. ID 선택자는 불필요하게 명시도(Specificity)를 높이기 때문에, 나중에 스타일을 덮어쓰거나 컴포넌트를 확장해야 할 때 분명히 발목을 잡게 됩니다.

}

/* --form-- */
input:focus {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

특수한 예외 상황이 아니라면 !important의 사용은 지양하는 것이 좋습니다. 일반적인 선택자의 명시도를 조절하는 방식으로 우선순위를 제어해야, 추후 유지보수 과정에서 어긋나는 일들을 방지할 수 있습니다.

outline: none; /* 클릭했을 때 생기는 파란색 테두리(강조선)까지 삭제 */
}

input:focus {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

focus 상태일 때 outline: none;으로 아웃라인을 완전히 날려버리면, 키보드로 탐색하는 접근성이 필요한 사용자들은 자신이 어딜 보고 있는지 전혀 인지할 수 없게 됩니다. 기본 아웃라인을 제거한다면, 시각적으로 명확한 포커스 스타일(예: 지정된 색상의 테두리나 box-shadow 등)을 반드시 대체제로 제공해야 합니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

매운맛🔥 뒤는 없습니다. 그냥 필터 없이 말해주세요. 책임은 제가 집니다. 최종제출 스프린트 미션 최종 제출 PR입니다. 코드리뷰 및 평가해주세요!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants