Skip to content
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

[조형민] sprint6 #42

Open
wants to merge 47 commits into
base: react-조형민
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
09e2d31
BREAKING CHANGE: 리액트 프로젝트 생성 및 폴더 정리, readme 수정
paengdal Nov 21, 2024
8c6102b
feat: index.css, Header.js/css, Footer.js/css 추가(헤더/푸터 구현)
paengdal Nov 21, 2024
25db7e7
feat: HeaderNav.js/css 추가(상단 메뉴 구현)
paengdal Nov 21, 2024
a4c0ad7
feat: 베스트/판매중인 상품 불러오기 및 레이아웃 구현
paengdal Nov 21, 2024
f2973fb
feat: '판매 중인 상품'의 검색창, 상품 등록 버튼, 드롭다운 UI 구현
paengdal Nov 21, 2024
e52f9ca
feat: '판매 중인 상품'의 검색, 정렬 기능 구현
paengdal Nov 21, 2024
a81a54d
fix: 상품 검색창에 아이콘 추가
paengdal Nov 21, 2024
a29a592
feat: '판매 중인 상품'의 페이지네이션 UI 구현
paengdal Nov 22, 2024
dbd12dd
feat: '판매 중인 상품'의 페이지네이션 - 페이지 이동, 좌우 버튼 작동(최소/최대 조건 적용 필요)
paengdal Nov 22, 2024
b306c3b
fix: '판매 중인 상품'의 페이지네이션 - 최대페이지 적용 완료
paengdal Nov 22, 2024
2764c5b
feat: 반응형에 따른 적절한 pageSize값 적용(useMediaQuery를 사용한 커스텀 hook - useDevic…
paengdal Nov 22, 2024
a2dd1a8
fix: 페이지네이션 우측 버튼 버그 수정
paengdal Nov 22, 2024
646980d
fix: 불필요한 파일 삭제 및 코드 정리
paengdal Nov 23, 2024
bc2449d
docs: readme 수정
paengdal Nov 27, 2024
aa404e2
feat:라우터 설치 및 구조 변경, LandingPage.js/ProductPage.js 추가
paengdal Nov 27, 2024
6778637
feat: 랜딩 페이지 react로 마이그레이션 완료
paengdal Nov 27, 2024
e3cd666
feat: HeaderNav.js에 NavLink 적용
paengdal Nov 27, 2024
f898438
feat: HeaderNav를 map으로 생성, 상품 등록페이지 생성 및 링크 연결
paengdal Nov 27, 2024
cf4cc1a
feat: 상품 등록 페이지 UI 구현(반응형)
paengdal Nov 27, 2024
aedace5
feat: express/dotenv/mongoose/cors/axios 설치, Product Schema 설정,
paengdal Nov 27, 2024
78dc64f
feat: 상품 등록 API 생성
paengdal Nov 27, 2024
c5085a9
feat: 상품 목록/상세 조회, 수정, 삭제 API 생성
paengdal Nov 27, 2024
36ab2fc
feat: 비동기 오류 처리 함수(asyncHandler) 적용
paengdal Nov 27, 2024
3dc80cf
fix: 상품 목록/상세 조회시 projection 설정
paengdal Nov 27, 2024
edaa042
feat: 상품 목록 조회 API에 sort, offset, search 적용
paengdal Nov 27, 2024
2a6b506
fix: 상품 목록 조회 API의 search 버그 수정
paengdal Nov 27, 2024
12ba2ec
feat: nodemon설치, concurrently설치 및 설정
paengdal Nov 28, 2024
2043906
feat: 판매 중인 상품 목록 로딩 성공- apis/ProductService.js의 getProducts 함수 수정
paengdal Nov 28, 2024
432e387
feat: 최신순/좋아요순 정렬 기능 구현
paengdal Nov 28, 2024
aaa1187
fix: 검색 결과 개수에 따라 페이지네이션 변경 적용
paengdal Nov 28, 2024
655bd43
feat: 상품 등록하기 - 태그 추가/삭제 기능 구현
paengdal Nov 28, 2024
2324cc1
feat: 상품 등록 기능 - 그런데 form태그의 action으로만 가능한게 사실인가???
paengdal Nov 28, 2024
192db26
fix: render용 파일 수정
paengdal Nov 28, 2024
20be226
fix: render 서버 API URL 적용
paengdal Nov 28, 2024
84a9d53
fix: api URL을 로컬로 다시 변경
paengdal Dec 2, 2024
55a32e3
fix: handleLoad를 useEffect의 디펜던시로 추가 후 useCallback으로 감싸기
paengdal Dec 2, 2024
034aac9
fix: 키워드 검색 시 페이지 번호를 1로 변경(in ProductListPage.js)
paengdal Dec 2, 2024
1cf83ff
fix: 상품 등록 action 주소 오타 수정
paengdal Dec 2, 2024
2de9a0c
fix: 태그 입력 관련 버그 수정, form 전송 버튼 삭제
paengdal Dec 2, 2024
d7d0c7e
feat: 상품 등록하기 - '등록 버튼'활성화 조건 추가(모든 값 입력시, 태그 1개 이상 추가시)
paengdal Dec 2, 2024
1a24633
feat: 상품 등록하기 - 입력폼 유효성 체크를 위한 custom hook 생성(useCheckInputValid.js),…
paengdal Dec 2, 2024
08f21cf
refactor(mentor): 비동기 처리 에러 시 return(ProductListPage.js)
paengdal Dec 3, 2024
ddeb39b
refactor(mentor): 드롭다운 메뉴 코드 개선(DropDown.js)
paengdal Dec 3, 2024
9207a8f
BREAING CHANGE: 통합본에서 백엔드 삭제 후 프론트엔드만 업로드
paengdal Dec 4, 2024
4bd3f2c
change: api BASE_URL 변경
paengdal Dec 4, 2024
8df1ac2
change: api BASE_URL을 render서버로 설정
paengdal Dec 4, 2024
4c223e3
feat: 상품 등록 및 해당 상품 상세 페이지로 이동 구현(formdata를 객체로 변환 후 전송)
paengdal Dec 4, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
module.exports = {
env: {
browser: true,
es2021: true,
node: true,
},
extends: ["eslint:recommended", "plugin:react/recommended"],
parserOptions: {
ecmaFeatures: {
jsx: true,
},
ecmaVersion: 12,
sourceType: "module",
},
plugins: ["react"],
rules: {
"react/react-in-jsx-scope": "off",
"react/prop-types": "off",
"no-unused-vars": "off",
},
};
27 changes: 0 additions & 27 deletions .github/pull-request-template.md

This file was deleted.

31 changes: 0 additions & 31 deletions .github/workflows/auto-label-assign.yml

This file was deleted.

24 changes: 24 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# production
/build

# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*
node_modules
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
16.20.2
Copy link
Collaborator

Choose a reason for hiding this comment

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

현재 lts 버전이 22인데, 16 버전을 쓰는 이유가 있으실까요??

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

어떤 에러가 나서 찾아보니 버전 관련 에러라고 해서..버전을 저렇게 낮췄더니 작동을 하길래 일단 해버렸습니닷… 😳

51 changes: 2 additions & 49 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,50 +1,3 @@
# 🐼 판다마켓 프로젝트
## 조형민의 판다마켓 스프린트 미션 프론트엔드 제출 공간입니다. 😁

> _이 저장소는 판다마켓 프로젝트의 프론트엔드 코드를 관리하는 곳입니다. 프로젝트를 클론하여 개발 환경을 설정하고, 각 브랜치에서 해당 스프린트 미션을 수행해 주세요!_ 🛠️

## 소개

안녕하세요! 판다마켓 프로젝트에 오신 것을 환영합니다! 🥳
판다마켓은 따뜻한 중고거래를 위한 커뮤니티 플랫폼이에요. 여러분은 이곳에서 상품을 등록하고, 다른 사용자들과 소통하며, 자유롭게 이야기를 나눌 수 있어요. 매주 스프린트 미션을 통해 기능을 하나씩 만들어 가며 성장해 나가는 여정을 함께해요. 🚀

![PandaMarket](https://github.com/user-attachments/assets/3784b99f-73c9-4349-a9a9-92b2a7563574)
_위 이미지는 판다마켓의 대표 이미지입니다._ 📸

## 스프린트 미션이란? 🤔

스프린트 미션은 **하나의 개인 프로젝트를 길게 진행하면서, 그 과정에서 주기적으로 피드백을 받을 수 있는 시스템**이에요. 각 스프린트마다 배운 이론을 적용해 보고, **멘토님께 코드 리뷰를 받아가며 실력을 쑥쑥 키워갈 수 있는 중요한 개인 과제**랍니다. 💪

## 주요 기능 ✨

1. **상품 등록**: 내가 가진 물건을 올리고, 사진과 설명을 추가해 직접 판매할 수 있어요!
2. **문의 댓글**: 상품에 대한 궁금한 점이나 의견을 자유롭게 남길 수 있답니다. 📝
3. **자유게시판**: 다양한 주제로 친구들과 이야기를 나누고, 정보를 공유할 수 있는 공간이에요! 🗣️

## 프로젝트 브랜치 구조 🏗️

프로젝트는 단계별로 나뉘어 있고, 각 스프린트 미션에 맞는 브랜치가 있어요. 각 브랜치를 통해 체계적으로 개발하며 학습할 수 있어요. 🎯

### 브랜치 설명

1. **basic (part1): 스프린트 미션 1 ~ 4 FE 요구사항**

- 기본적인 웹 애플리케이션 기능 구현을 위한 초기 브랜치입니다. HTML, CSS, JavaScript 등을 사용해 기본을 다집니다.
- **스프린트 미션 1부터 4까지**의 프론트엔드 내용을 포함하고 있어요.

2. **react (part2): 스프린트 미션 5 ~ 7 FE 요구사항**

- React 라이브러리를 사용해 프론트엔드 기능을 구현하는 브랜치입니다. 컴포넌트 기반 아키텍처와 상태 관리를 배웁니다.
- **스프린트 미션 5부터 7까지, 그 이후**의 프론트엔드 내용을 포함하고 있어요.
- 만약 스프린트 미션 9부터 프론트엔드 코드를 Next가 아닌 React로 구현하고 싶다면 react 브랜치를 사용해요.

3. **next (part3,4): 스프린트 미션 8 FE 요구사항~**

- Next.js를 사용해 서버 사이드 렌더링(SSR)과 정적 사이트 생성(SSG) 등 고급 기능을 구현합니다.
- **스프린트 미션 8부터** 시작하는 프론트엔드 내용을 포함하고 있어요.
- 만약 스프린트 미션 9부터 프론트엔드 코드를 React가 아닌 Next로 구현하고 싶다면 next 브랜치를 사용해요.

> _스프린트 미션 내 백엔드 요구사항은 [백엔드 레포지토리](https://github.com/codeit-sprint-fullstack/2-Sprint-mission-Be)의 브랜치에서 관리해주세요_

---

본 프로젝트는 [코드잇](https://www.codeit.kr)의 소유이며, 교육 목적으로만 사용됩니다. © 2024 Codeit. All rights reserved.
**스프린트 미션 6**
Loading