-
Notifications
You must be signed in to change notification settings - Fork 30
[4팀 - 권태현] 스프린트 1, 2 #24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The head ref may contain hidden characters: "basic-\uAD8C\uD0DC\uD604"
Changes from all commits
6f2e09f
17fe896
2564930
1e843c0
4be6eec
93a4968
c1be70c
316ba7c
c077f28
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,50 +1,82 @@ | ||
| # 🐼 판다마켓 프로젝트 | ||
| [](https://app.netlify.com/projects/13-sprint-mission/deploys) | ||
|
|
||
| > _이 저장소는 판다마켓 프로젝트의 프론트엔드 코드를 관리하는 곳입니다. 프로젝트를 클론하여 개발 환경을 설정하고, 각 브랜치에서 해당 스프린트 미션을 수행해 주세요!_ 🛠️ | ||
| # 🐼 판다마켓 프로젝트 🐼 | ||
|
|
||
| ## 소개 | ||
| https://13-sprint-mission.netlify.app/ | ||
|
|
||
| 안녕하세요! 판다마켓 프로젝트에 오신 것을 환영합니다! 🥳 | ||
| 판다마켓은 따뜻한 중고거래를 위한 커뮤니티 플랫폼이에요. 여러분은 이곳에서 상품을 등록하고, 다른 사용자들과 소통하며, 자유롭게 이야기를 나눌 수 있어요. 매주 스프린트 미션을 통해 기능을 하나씩 만들어 가며 성장해 나가는 여정을 함께해요. 🚀 | ||
| ## 스프린트 미션 1 요구사항 | ||
|
|
||
|  | ||
| _위 이미지는 판다마켓의 대표 이미지입니다._ 📸 | ||
| ### 기본 요구사항 | ||
|
|
||
| ## 스프린트 미션이란? 🤔 | ||
| - [x] React와 같은 UI 라이브러리를 사용하지 않고 진행합니다 | ||
|
|
||
| 스프린트 미션은 **하나의 개인 프로젝트를 길게 진행하면서, 그 과정에서 주기적으로 피드백을 받을 수 있는 시스템**이에요. 각 스프린트마다 배운 이론을 적용해 보고, **멘토님께 코드 리뷰를 받아가며 실력을 쑥쑥 키워갈 수 있는 중요한 개인 과제**랍니다. 💪 | ||
| - [x] PC사이즈만 고려해 주어진 디자인으로 구현합니다. | ||
|
|
||
| ## 주요 기능 ✨ | ||
| - [x] HTML, CSS 파일을 Netlify로 배포해 주세요. (참고: https://www.codeit.kr/learn/5309) | ||
|
|
||
| 1. **상품 등록**: 내가 가진 물건을 올리고, 사진과 설명을 추가해 직접 판매할 수 있어요! | ||
| 2. **문의 댓글**: 상품에 대한 궁금한 점이나 의견을 자유롭게 남길 수 있답니다. 📝 | ||
| 3. **자유게시판**: 다양한 주제로 친구들과 이야기를 나누고, 정보를 공유할 수 있는 공간이에요! 🗣️ | ||
| - [x] 랜딩 페이지의 url path는 루트(‘/’)로 설정합니다. | ||
|
|
||
| ## 프로젝트 브랜치 구조 🏗️ | ||
| - [x] title은 “판다마켓”로 설정합니다. | ||
|
|
||
| 프로젝트는 단계별로 나뉘어 있고, 각 스프린트 미션에 맞는 브랜치가 있어요. 각 브랜치를 통해 체계적으로 개발하며 학습할 수 있어요. 🎯 | ||
| - [x] “판다마켓” 로고 클릭 시 루트 페이지(‘/’)로 이동합니다. | ||
|
|
||
| ### 브랜치 설명 | ||
| - [x] '로그인' 버튼 클릭 시 로그인 페이지(‘/login’)로 이동합니다 (빈 페이지) | ||
|
|
||
| 1. **basic (part1): 스프린트 미션 1 ~ 3 FE 요구사항** | ||
| - [x] “구경하러 가기”버튼 클릭 시(’/items’)로 이동합니다. (빈 페이지) | ||
|
|
||
| - 기본적인 웹 애플리케이션 기능 구현을 위한 초기 브랜치입니다. HTML, CSS, JavaScript 등을 사용해 기본을 다집니다. | ||
| - **스프린트 미션 1부터 4까지**의 프론트엔드 내용을 포함하고 있어요. | ||
| - [x] “Privacy Policy”, “FAQ”는 클릭 시 각각 Privacy 페이지(‘/privacy’), FAQ 페이지(‘/faq’)로 이동합니다.(모두 빈 페이지) | ||
|
|
||
| 2. **react (part2): 스프린트 미션 5 ~ 6 FE 요구사항** | ||
| - [x] 페이스북, 트위터, 유튜브, 인스타그램 아이콘을 클릭 시 각각의 홈페이지로 새로운 창이 열리면서 이동합니다. | ||
|
|
||
| - React 라이브러리를 사용해 프론트엔드 기능을 구현하는 브랜치입니다. 컴포넌트 기반 아키텍처와 상태 관리를 배웁니다. | ||
| - **스프린트 미션 5부터 6까지, 그 이후**의 프론트엔드 내용을 포함하고 있어요. | ||
| - 만약 스프린트 미션 9부터 프론트엔드 코드를 Next가 아닌 React로 구현하고 싶다면 react 브랜치를 사용해요. | ||
| - [x] 아래로 스크롤해도 “판다 마켓” 로고와 “로그인” 버튼이 있는 상단 내비게이션 바(Global Navigation Bar)가 최상단에 고정되게 해 주세요. | ||
|
|
||
| 3. **next (part3,4): 스프린트 미션 7 FE 요구사항~** | ||
| - [x] 화면의 너비가 1920px 이상이면 하늘색 배경색은 너비를 꽉 채우도록 채워지고, 내부 요소들의 위치는 고정되고, 여백만 커지도록 합니다. | ||
|
|
||
| - Next.js를 사용해 서버 사이드 렌더링(SSR)과 정적 사이트 생성(SSG) 등 고급 기능을 구현합니다. | ||
| - **스프린트 미션 7부터** 시작하는 프론트엔드 내용을 포함하고 있어요. | ||
| - 만약 스프린트 미션 8부터 프론트엔드 코드를 React가 아닌 Next로 구현하고 싶다면 next 브랜치를 사용해요. | ||
| - [x] 화면의 너비가 1920px 보다 작아질 때, “판다마켓” 로고의 왼쪽 여백 200px, “로그인" 버튼의 오른쪽 여백 200px이 유지되고, 화면의 너비가 작아질수록 두 요소 간 거리가 가까워지도록 설정합니다. | ||
|
|
||
| > _스프린트 미션 내 백엔드 요구사항은 [백엔드 레포지토리](https://github.com/codeit-sprint-fullstack/11-sprint-mission-be)의 브랜치에서 관리해주세요_ | ||
| - [x] 화면의 너비가 1920px 이상이면 내부에 있는 요소 간 동일한 간격을 유지하며 가운데 정렬해야 합니다. | ||
|
|
||
| --- | ||
| - [x] 화면의 너비가 1920px 보다 작아질 때, 최하단에 있는 “codeit-2024”의 왼쪽 여백 200px과 SNS 아이콘들의 오른쪽 여백 200px을 유지하면서 가운데 있는 “Privacy Policy”, “FAQ” 요소와 각각 동일한 간격을 유지하며 가까워져야 합니다. | ||
|
|
||
| 본 프로젝트는 [코드잇](https://www.codeit.kr)의 소유이며, 교육 목적으로만 사용됩니다. © 2026 Codeit. All rights reserved. | ||
| - [x] 클릭으로 기능이 동작해야 하는 경우, 사용자가 클릭할 수 있는 요소임을 알 수 있도록 CSS 속성 cursor: pointer로 설정합니다. | ||
|
|
||
| ### 심화 요구사항 | ||
|
|
||
| - [x] reset.css를 설정해 주세요. | ||
|
|
||
| * [x] 사용자의 브라우저 설정에 따라 기본 폰트 크기 설정이 변화함에 따라서 페이지의 요소 간 간격, 요소의 크기, font-size 등 모든 크기와 관련된 값이 크고 작아지도록 설정해 주세요. | ||
|
|
||
| ## 스프린트 미션 2 요구사항 | ||
|
|
||
| ### 기본 요구사항 | ||
|
|
||
| #### 로그인 페이지, 회원가입 페이지 공통 | ||
|
|
||
| - [x] "판다마켓" 로고 클릭 시 루트 페이지("/")로 이동합니다. | ||
|
|
||
| - [x] SNS 아이콘들은 클릭 시 각각 "https://www.google.com/", "https://www.kakaocorp.com/page/" 으로 이동합니다. | ||
|
|
||
| - [x] input 요소에 focus in 일 때, 테두리 색상은 ##3692FF입니다. | ||
|
|
||
| - [x] input 요소에 focus out 일 때, 테두리는 없습니다. | ||
|
|
||
| #### 로그인 페이지 | ||
|
|
||
| - [x] "회원가입"버튼 클릭 시 "/signup" 페이지로 이동합니다. | ||
| 회원가입 페이지 | ||
|
|
||
| - [x] "로그인"버튼 클릭 시 "/login" 페이지로 이동합니다 | ||
|
|
||
| ### 심화 요구사항 | ||
|
|
||
| - [x] palette에 있는 color값들을 css 변수로 등록해서 사용합니다. | ||
|
|
||
| - [ ] 구글 애널리틱스로 방문자 수 확인하기 할 수 있도록 설정합니다. | ||
|
|
||
| #### 로그인 페이지, 회원가입 페이지 공통 | ||
|
|
||
| - [ ] 비밀번호, 비밀번호 확인 input 요소 오른쪽에 비밀번호를 확인할 수 있는 눈 모양 아이콘을 추가합니다. | ||
|
|
||
| ## 멘토님에게 남길 메시지 | ||
|
|
||
| - [x] 열심히 해보았는데, 보안해야하는 것들 많이 알려주시면 감사하겠습니다 !!! |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,116 @@ | ||
| <!doctype html> | ||
| <html lang="ko"> | ||
| <head> | ||
| <meta charset="UTF-8" /> | ||
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||
| <link rel="stylesheet" href="./reset.css" /> | ||
| <link rel="stylesheet" href="./style.css" /> | ||
| <link | ||
| rel="stylesheet" | ||
| href="https://cdn.jsdelivr.net/npm/pretendard-std@1.3.9/dist/web/static/pretendard-std.min.css" | ||
| /> | ||
| <title>판다마켓</title> | ||
| </head> | ||
| <body> | ||
| <header class="header"> | ||
| <div class="one"> | ||
|
cari-0 marked this conversation as resolved.
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 현재 클래스 이름이 어떤 영역인지 알아보기 어려운 것 같아요. 클래스 이름도 어떤 의미인지 알아보기 쉽게 네이밍 하시면 좋습니다! 클래스 네이밍이 어렵다면 |
||
| <a href="index.html" class="one-one"> | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 요구사항은 로고를 눌렀을 때 "/" 경로로 이동하는 것이므로 "/"로 경로를 써주시는 것이 더 정확할 것 같아요! 현재 배포된 환경에서 개발자도구를 열어보면 "/"로 변경이 되어있는 것을 볼 수 있는데요. 이건 Netlify에서 자동으로 변환을 해준 것으로 보입니다. 처음부터 개발자가 의도에 맞게 "/'로 지정해주는 것이 명확할 것 같아요. 아래 모든 href도 동일합니다!
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "./"로 사용해도 되는걸까요? 아래 모든 href에 "./"로 시작하는데 상관이 있을까해서 여쭤봅니다 !
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
코멘트 주신 것 보고 생각해보니, 현재 로컬에서 live server나 직접 html 파일을 열어서 개발하셨다면 단, 현재 login의 경우 브라우저에서 주소창을 보시면 좋은 질문 감사합니다 👍 |
||
| <img src="./img/pandaface.png" class="pandaface" /> | ||
| <span class="pandamarket">판다마켓</span> | ||
| </a> | ||
| <a href="./login/login.html"><span class="login">로그인</span></a> | ||
| </header> | ||
| <main> | ||
| <div class="two"> | ||
|
cari-0 marked this conversation as resolved.
|
||
| <div class="two-one"> | ||
| <div class="two-two"> | ||
| <span class="word">일상의 모든 물건을<br />거래해 보세요</span> | ||
| <a href="./move/items.html"> | ||
| <button class="look-btn"> | ||
| <span class="look">구경하러 가기</span> | ||
| </button> | ||
| </a> | ||
|
cari-0 marked this conversation as resolved.
|
||
| </div> | ||
| <img src="./img/pandaimg.png" alt="판다이미지" class="pandaimg" /> | ||
| </div> | ||
| </div> | ||
| <div class="three"> | ||
| <div class="three-one"> | ||
| <div class="three-two"> | ||
| <img src="./img/hotitemimg.png" alt="옷이미지" class="hotitemimg" /> | ||
| </div> | ||
| <div class="three-three"> | ||
| <span class="word-blue">Hot item</span> | ||
| <a class="word">인기 상품을<br />확인해 보세요</a> | ||
| <a class="word-mini" | ||
| >가장 HOT한 중고거래 물품을<br />판다 마켓에서 확인해 보세요</a | ||
| > | ||
| </div> | ||
| </div> | ||
| </div> | ||
| <div class="four"> | ||
| <div class="four-one"> | ||
| <div class="four-two"> | ||
| <span class="word-blue">Search</span> | ||
| <a class="word">구매를 원하는<br />상품을 검색하세요</a> | ||
| <a class="word-mini" | ||
| >구매하고 싶은 물품은 검색해서<br />쉽게 찾아보세요</a | ||
| > | ||
| </div> | ||
| <div class="four-three"> | ||
| <img src="./img/searchimg.png" alt="검색이미지" class="searchimg" /> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| <div class="five"> | ||
| <div class="five-one"> | ||
| <img src="./img/registerimg.png" alt="레지스터이미지" class="registerimg" /> | ||
| <div class="five-two"> | ||
| <span class="word-blue">Register</span> | ||
| <a class="word">인기 상품을<br />확인해 보세요</a> | ||
| <a class="word-mini" | ||
| >가장 HOT한 중고거래 물품을<br />판다 마켓에서 확인해 보세요</a | ||
| > | ||
|
cari-0 marked this conversation as resolved.
|
||
| </div> | ||
| </div> | ||
| </div> | ||
| <div class="six"> | ||
| <div class="six-one"> | ||
| <div class="six-two"> | ||
| <span class="word">믿을 수 있는<br />판다마켓 중고 거래</span> | ||
| </div> | ||
| <img src="./img/pandaimg2.png" class="pandaimg2" /> | ||
|
cari-0 marked this conversation as resolved.
|
||
| </div> | ||
| </div> | ||
| <footer class="footer"> | ||
| <div class="footer-one"> | ||
|
cari-0 marked this conversation as resolved.
|
||
| <p class="footerwordgray">©codeit - 2024</p> | ||
| <ui class="footer-two"> | ||
|
cari-0 marked this conversation as resolved.
|
||
| <li> | ||
| <a class="footerwordwhite" href="./move/privacy.html"> | ||
| Privacy Policy | ||
| </a> | ||
| </li> | ||
| <li> | ||
| <a class="footerwordwhite" href="./move/FAQ.html"> FAQ </a> | ||
| </li> | ||
| </ui> | ||
| <ui class="footer-three"> | ||
| <li> | ||
| <a href="http://www.facebook.com" target="_blank"><img src="./img/ic_facebook.png" alt="페이스북이미지"/></a> | ||
| </li> | ||
| <li> | ||
| <a href="http://www.twitter.com" target="_blank"><img src="./img/ic_twitter.png" alt="트위터이미지" /></a> | ||
| </li> | ||
| <li> | ||
| <a href="http://www.youtube.com" target="_blank"><img src="./img/ic_youtube.png" alt="유튜브이미지" /></a> | ||
| </li> | ||
| <li> | ||
| <a href="http://www.instagram.com/" target="_blank"><img src="./img/ic_instagram.png" alt="인스타그램이미지"/></a> | ||
| </li> | ||
| </ui> | ||
|
|
||
| </footer> | ||
|
cari-0 marked this conversation as resolved.
|
||
| </main> | ||
| </body> | ||
| </html> | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,65 @@ | ||
| <!doctype html> | ||
| <html lang="en"> | ||
|
cari-0 marked this conversation as resolved.
|
||
| <head> | ||
| <meta charset="UTF-8" /> | ||
| <meta name="viewport" content="width=, initial-scale=1.0" /> | ||
|
cari-0 marked this conversation as resolved.
|
||
| <link rel="stylesheet" href="../reset.css" /> | ||
| <link rel="stylesheet" href="./style.css" /> | ||
| <title>로그인</title> | ||
| </head> | ||
| <body class="loginbody"> | ||
| <div class="login-page"> | ||
| <div class="logo-frame"> | ||
| <a href="../index.html" class="link"> | ||
| <img src="../img/pandaface2.png" alt="판다얼굴" class="pandaface" /> | ||
| <span class="pandamarket">판다마켓</span> | ||
| </a> | ||
| </div> | ||
| <div class="login-page2"> | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 현재 로그인 form 부분에
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 43번째 줄 이 부분에서
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
| <div class="login-page2-1"> | ||
| <div class="emailpassword"> | ||
| <div class="oneframe"> | ||
| <span class="write">이메일</span> | ||
|
paran22 marked this conversation as resolved.
|
||
| <input | ||
| name="email" | ||
| placeholder="이메일을 입력해주세요" | ||
| type="email" | ||
| id="email" | ||
| /> | ||
| </div> | ||
| <div class="oneframe"> | ||
| <span class="write">비밀번호</span> | ||
| <div class="password2"> | ||
| <input | ||
| name="password" | ||
| placeholder="비밀번호를 입력해주세요" | ||
| type="password" | ||
| id="password" | ||
| /> | ||
| <img src="../img/btn_visibility.png" class="visibility" /> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| <div> | ||
| <button><span class="login">로그인</span></button> | ||
|
paran22 marked this conversation as resolved.
|
||
| </div> | ||
| </div> | ||
| <div class="login-page2-2"> | ||
| <div class="login-page2-2-1"> | ||
| <span class="quicklogin">간편로그인하기</span> | ||
| <div class="login-page2-2-2"> | ||
| <a href="https://www.google.com/" /><img | ||
| src="../img/google.png" | ||
| /></a> | ||
| <a href="https://www.kakaocorp.com/page/"><img src="../img/kakaotalk.png" /></a> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| <div class="login-page2-3"> | ||
| <span class="footword">판다마켓이 처음이신가요?</span> | ||
| <a class="signup" href="./signup.html">회원가입</a> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| </body> | ||
| </html> | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,81 @@ | ||
| <!doctype html> | ||
| <html lang="en"> | ||
| <head> | ||
| <meta charset="UTF-8" /> | ||
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||
| <link rel="stylesheet" href="../reset.css" /> | ||
| <link rel="stylesheet" href="./style.css" /> | ||
| <title>회원가입</title> | ||
| </head> | ||
| <body class="signupbody"> | ||
| <div class="signup-page"> | ||
| <div class="logo-frame"> | ||
| <a href="../index.html" class="link"> | ||
| <img src="../img/pandaface2.png" alt="판다얼굴" class="pandaface" /> | ||
| <span class="pandamarket">판다마켓</span> | ||
| </a> | ||
| </div> | ||
| <div class="signup-page2"> | ||
| <div class="signup-page2-1"> | ||
| <div class="signup-page2-1-1"> | ||
| <div class="oneframe"> | ||
| <span class="write">이메일</span> | ||
| <input | ||
| name="email" | ||
| placeholder="이메일을 입력해주세요" | ||
| type="email" | ||
| id="email" | ||
| /> | ||
| </div> | ||
| <div class="oneframe"> | ||
| <span class="write">닉네임</span> | ||
| <input | ||
| name="username" | ||
| placeholder="닉네임을 입력해주세요" | ||
| type="username" | ||
|
cari-0 marked this conversation as resolved.
|
||
| id="username" | ||
| /> | ||
| </div> | ||
| <div class="oneframe"> | ||
| <span class="write">비밀번호</span> | ||
| <input | ||
| name="password" | ||
| placeholder="비밀번호를 입력해주세요" | ||
| type="password" | ||
| id="password" | ||
| /> | ||
| <img src="../img/btn_visibility.png" class="visibility" /> | ||
|
|
||
| </div> | ||
| <div class="oneframe"> | ||
| <span class="write">비밀번호 확인</span> | ||
| <input | ||
| name="password" | ||
| placeholder="비밀번호를 다시 한 번 입력해주세요" | ||
| type="password" | ||
| id="password" | ||
|
cari-0 marked this conversation as resolved.
|
||
| /> | ||
| <img src="../img/btn_visibility.png" class="visibility" /> | ||
| </div> | ||
| </div> | ||
| <button><span class="login">회원가입</span></button> | ||
| </div> | ||
| <div class="signup-page2-2"> | ||
| <div class="signup-page2-2-1"> | ||
| <span class="quicklogin">간편로그인하기</span> | ||
| <div class="signup-page2-2-2"> | ||
| <a href="https://www.google.com/" /><img | ||
| src="../img/google.png" | ||
| /></a> | ||
| <a href="https://www.kakaocorp.com/page/"><img src="../img/kakaotalk.png" /></a> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| <div class="signup-page2-3"> | ||
| <span class="footword">이미 회원이신가요?</span> | ||
| <a class="signup" href="./login.html">로그인</a> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| </body> | ||
| </html> | ||

Uh oh!
There was an error while loading. Please reload this page.