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

[함헌규] sprint8 #112

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
121 commits
Select commit Hold shift + click to select a range
5749192
chore: next 프로젝트 설정
heonq Nov 27, 2024
716cfd1
chore: 기본 폰트 및 이미지 설정
heonq Nov 27, 2024
e84c7a7
chore: 기본 이미지 추가
heonq Nov 27, 2024
790c1ae
style: 스타일 변수 선언
heonq Dec 2, 2024
58f7fd5
chore: 패키지 설치 및 업데이트
heonq Dec 2, 2024
7fc66ab
feat: media query 확인하는 훅 구현
heonq Dec 2, 2024
3621207
feat: useScreenWidth에 필요한 타입 추가
heonq Dec 2, 2024
cb2de3b
style: 전역 스타일 수정
heonq Dec 2, 2024
2551960
feat: GNB 구현
heonq Dec 2, 2024
a9cde90
chore: path alias 추가
heonq Dec 2, 2024
2c850cf
feat: footer 컴포넌트 구현
heonq Dec 3, 2024
c09f241
style: global style 수정
heonq Dec 3, 2024
c24161a
style: GNB 스타일 수정
heonq Dec 3, 2024
27b54f8
feat: layout에 footer 컴포넌트 추가
heonq Dec 3, 2024
5f25554
feat: best badge 컴포넌트 구현
heonq Dec 3, 2024
9249a9c
chore: fontawesome 패키지 설치
heonq Dec 3, 2024
c23ccd6
style: globalCss,tailwind config 변수 추가
heonq Dec 3, 2024
470e51c
style: 베스트 게시글 아이콘 너비 높이 설정
heonq Dec 3, 2024
a2cbeb7
feat: 베스트 게시글 카드 컴포넌트 구현
heonq Dec 3, 2024
643ce42
chore: prettier 설정
heonq Dec 3, 2024
de3e1d4
feat: 게시물 컴포넌트 props 타입 수정
heonq Dec 3, 2024
947a14c
feat: 날짜 표시 방식 수정
heonq Dec 3, 2024
9ce6e05
feat: normalArticleCard 컴포넌트 구현
heonq Dec 3, 2024
e6cd470
style: global css 추가
heonq Dec 3, 2024
dceb3e0
style: layout 스타일 변경
heonq Dec 3, 2024
7b43a58
feat: likeCounter 컴포넌트 분리 및 기존 컴포넌트에 적용
heonq Dec 3, 2024
30037c3
feat: CommonBtn 컴포넌트 구현
heonq Dec 3, 2024
80c58e1
feat: customSelect 컴포넌트 구현
heonq Dec 3, 2024
b00f491
style: layout 스타일 수정
heonq Dec 3, 2024
0b792f3
feat: searchInput 컴포넌트 구현
heonq Dec 3, 2024
25f052d
axios를 사용해 api 호출하는 기능 구현
heonq Dec 4, 2024
9c59997
feat: bestArticleCard,articleCard 파일 위치 변경
heonq Dec 4, 2024
601f1ef
feat: 검색창 컴포넌트 수정
heonq Dec 4, 2024
5c7579b
feat: 자유게시판 검색창 컴포넌트 구현
heonq Dec 4, 2024
c8c0d31
feat: bestArticleList,articleList 컴포넌트 구현
heonq Dec 4, 2024
cc89602
feat: community 페이지 구현
heonq Dec 4, 2024
9c24bb4
feat: type 수정
heonq Dec 4, 2024
1555b0a
feat: jotai 설치 및 useScreenWidth 훅에 atom 설정
heonq Dec 5, 2024
6523d0b
feat: GNB 컴포넌트 수정
heonq Dec 5, 2024
ffe15f2
feat: 자유게시판 페이지 수정
heonq Dec 5, 2024
df9b694
style: global css 스타일 추가
heonq Dec 5, 2024
4b34594
feat: profile 컴포넌트 분리
heonq Dec 5, 2024
1416f8c
feat: jotai provider 컴포넌트, useScreenWidth 훅 사용 컴포넌트 구현
heonq Dec 5, 2024
7224f8d
feat: 게시글 작성 페이지 구현
heonq Dec 5, 2024
245ac19
feat: 게시글 헤더,댓글 폼 컴포넌트 구현
heonq Dec 5, 2024
ec2d9e7
feat: 좋아요 버튼 구현
heonq Dec 5, 2024
9cdea98
feat: 댓글 컴포넌트 구현
heonq Dec 5, 2024
261863a
chore: svgr/webpack 설치
heonq Dec 5, 2024
1895833
style: CommonBtn 컴포넌트 스타일 수정
heonq Dec 5, 2024
eb2409a
style: profile 컴포넌트 스타일 수정
heonq Dec 5, 2024
656d8a9
feat: 게시글,댓글 관련 api 호출 함수 구현
heonq Dec 5, 2024
0c2182e
feat: CommentForm 컴포넌트에 onSubmit 함수 구현
heonq Dec 5, 2024
e193449
feat: 게시글 카드를 누르면 게시글로 이동하는 기능 구현
heonq Dec 5, 2024
a34329d
style: GNB 컴포넌트 스타일 수정
heonq Dec 5, 2024
c06d920
feat: 날짜 형식 맞추는 함수 구현
heonq Dec 5, 2024
51e2ce2
chore: 아이콘 파일 추가
heonq Dec 5, 2024
101f8ea
feat: 수정,삭제 메뉴 구현"
heonq Dec 6, 2024
01aef13
feat: ArticleHeader 컴포넌트에 ActionMenu 컴포넌트 사용
heonq Dec 6, 2024
01ca7f2
feat: articleCard props 수정
heonq Dec 6, 2024
8661cb1
feat: 댓글 관리 api 호출 함수 구현
heonq Dec 6, 2024
f806e52
feat: 시간 형식을 맞추는 유틸 함수 구현
heonq Dec 6, 2024
570ef60
feat: 페이지 컴포넌트에 전달되는 params props 타입 정의
heonq Dec 6, 2024
264dc5f
feat: 수정 삭제 메뉴 표시,댓글 수정 관련 jotai atom 생성
heonq Dec 6, 2024
51a30fb
feat: profile 컴포넌트에 작성시간 표시 기능 구현
heonq Dec 6, 2024
b809ae5
feat: comment 수정 기능 추가
heonq Dec 6, 2024
cc875a8
feat: 되돌아가기 버튼 구현
heonq Dec 6, 2024
8bcbf4c
feat: 게시글 상세페이지 구현
heonq Dec 6, 2024
9251e05
feat: 게시글 수정 페이지 구현
heonq Dec 6, 2024
3a1c723
chore: tanstack-query 설치
heonq Dec 6, 2024
83b93d5
feat: tanstackQuery provider 설정
heonq Dec 7, 2024
f9efc47
feat: CustomSelect 컴포넌트에 반응형 디자인 적용
heonq Dec 7, 2024
0210482
style: ActionMenu 컴포넌트 스타일 수정
heonq Dec 7, 2024
dd821c6
feat: 게시글을 표시하는 클라이언트 컴포넌트 구현
heonq Dec 7, 2024
1dafe74
feat: CommentForm에 mutation 적용
heonq Dec 7, 2024
702b649
feat: 베스트 게시글 컴포넌트 수정
heonq Dec 7, 2024
eb32d0f
feat: 댓글 관련 컴포넌트 수정
heonq Dec 7, 2024
63a3986
feat: 일반 게시글 목록 컴포넌트 수정
heonq Dec 7, 2024
854b2a1
chore: 아이콘 파일 추가
heonq Dec 7, 2024
edb9168
feat: 문서 삭제 api 함수 구현
heonq Dec 7, 2024
366eff7
feat: 게시글 상세페이지 수정
heonq Dec 7, 2024
46ec00d
feat: 게시글 작성 폼 컴포넌트 수정
heonq Dec 7, 2024
435e4b2
docs: 미션 요구사항 문서 추가
heonq Dec 7, 2024
c4515f6
feat: 미사용 컴포넌트 제거
heonq Dec 7, 2024
224c32f
chore: favicon 파일 추가
heonq Dec 7, 2024
9f03bc5
feat: 베스트 게시물 표시 기능 수정
heonq Dec 7, 2024
03da8ea
style: 베스트 게시물 목록 스타일 수정
heonq Dec 7, 2024
1229790
feat: 글쓰기 수정하기 컴포넌트 수정
heonq Dec 7, 2024
137512a
chore: articlePage 폴더 구조 변경
heonq Dec 7, 2024
3e5ae4a
chore: 게시글 상세페이지 관련 컴포넌트 폴더 구조 수정
heonq Dec 7, 2024
ff9c681
chore: 게시글 상세페이지 관련 컴포넌트 폴더 구조 변경
heonq Dec 7, 2024
7e9d4d9
chore: 게시물 작성 및 편집 관련 컴포넌트 폴더 구조 변경
heonq Dec 7, 2024
fe0b86a
feat: article 쿼리 인스턴스에 쿼리 키 추가
heonq Dec 8, 2024
ab1c86b
feat: SearchSection 컴포넌트에 정렬 기능 추가
heonq Dec 8, 2024
f047dba
feat: 중고마켓 경로 수정
heonq Dec 8, 2024
039f7d4
feat: 자유게시판 페이지 컴포넌트 분리
heonq Dec 8, 2024
74626e5
chore: likeCounter 컴포넌트 폴더 구조 변경'
heonq Dec 8, 2024
22f0891
feat: search parameter 타입 수정
heonq Dec 8, 2024
256bdc0
feat: 상품 데이터 api 호출 함수 구현
heonq Dec 8, 2024
4c9aad3
chore: api 타입 폴더구조 변경
heonq Dec 8, 2024
f78b189
chore: api 타입 폴더구조 변경에 따른 import 경로 변경
heonq Dec 8, 2024
adc692b
fix: 미사용된 setState 함수 제거
heonq Dec 8, 2024
20df6c9
feat: 상품 목록 페이지 구현
heonq Dec 8, 2024
9e3f349
fix: 미사용 변수 제거
heonq Dec 8, 2024
c0184b9
fix: 변경된 타입 이름 반영
heonq Dec 8, 2024
fc29901
feat: 상품 목록에 반응형 적용
heonq Dec 8, 2024
ca430cf
style: 전역 스타일 추가
heonq Dec 9, 2024
26726a8
feat: pageIndex 컴포넌트 구현
heonq Dec 10, 2024
51e67e0
style: 컴포넌트 스타일 수정
heonq Dec 10, 2024
d0668db
feat: 상품 등록 페이지 구현
heonq Dec 11, 2024
8347269
chore: react-hook-form 설치
heonq Dec 11, 2024
b79f5cf
style: global css 추가
heonq Dec 11, 2024
24d8687
feat: 상품 등록하기 버튼에 링크 추가
heonq Dec 11, 2024
5fd427b
feat: product 컴포넌트 클릭 시 경로 이동 기능 추가
heonq Dec 11, 2024
f2123e2
feat: 상품 상세페이지 임시 페이지 구현
heonq Dec 11, 2024
b243cda
feat: 메인페이지 구현
heonq Dec 12, 2024
4341e58
refactor: api 호출 params 수정
heonq Dec 12, 2024
0794687
refactor: 게시글 작성 폼에 variant prop 추가
heonq Dec 12, 2024
077c183
feat: pageIndex 컴포넌트 기능 수정
heonq Dec 12, 2024
653c946
refactor: tagInput 상태관리 hook 구현
heonq Dec 12, 2024
1d31dcb
style: global style 추가
heonq Dec 12, 2024
7a70eaf
refactor: 상품 등록 폼 컴포넌트 분리
heonq Dec 12, 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
3 changes: 3 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"extends": ["next/core-web-vitals", "next/typescript"]
}
36 changes: 36 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js
.yarn/install-state.gz

# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# local env files
.env*.local

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts
15 changes: 15 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"printWidth": 80,
"tabWidth": 2,
"useTabs": false,
"semi": true,
"singleQuote": true,
"quoteProps": "as-needed",
"jsxSingleQuote": true,
"trailingComma": "all",
"bracketSpacing": true,
"arrowParens": "always",
"proseWrap": "preserve",
"endOfLine": "lf",
"singleAttributePerLine": true
}
44 changes: 44 additions & 0 deletions docs/sprint8.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# 요구사항

## 기본 요구사항

### 공통

- [x] Github에 스프린트 미션 PR을 만들어 주세요.
- [x] Next.js를 사용해 진행합니다.

#### 자유 게시판 페이지

- [x] 게시글 목록에서 드롭다운을 사용하여 "최신 순"으로 정렬할 수 있도록 합니다.
- [x] 본인이 이전 미션에서 생성한 게시글 목록 조회 API를 활용해 GET 메서드로 데이터를 가져옵니다.
- [x] 게시글 제목에 검색어가 일부 포함되면 해당 게시글을 검색할 수 있도록 합니다.
- [x] 이미지는 디폴트 이미지로 프론트엔드에서 처리해 주세요.
- [x] 게시글 닉네임 및 좋아요 개수 역시 임의값으로 프론트엔드에서 처리해주세요.
- [x] 베스트 게시글은 최신순 3개 게시글을 요청으로 데이터를 가져와 구현해주세요.
- [x] 자유게시판 페이지에서 특정 게시글을 클릭하면 해당 게시물의 상세 페이지로 이동합니다.

#### 게시글 등록 & 수정 페이지

- [x] 각 input 필드에 정확한 placeholder 값을 입력합니다.
- [x] 모든 input 필드에 값을 입력하면 '등록' 버튼이 활성화됩니다.
- [x] 본인이 이전 미션에서 생성한 게시글 생성 API를 활용해 POST 메서드로 게시글을 등록합니다.
- [x] '등록' 버튼을 누르면 해당 게시물 상세 페이지로 이동합니다.
- [x] 게시글 수정 페이지 UI는 게시글 등록 페이지와 동일합니다.
- [x] 본인이 이전 미션에서 생성한 게시글 상세 API의 PATCH 메소드를 사용하여 게시물을 수정합니다.

#### 게시글 상세 페이지

- [x] 본인이 이전 미션에서 생성한 게시글 상세 API의 GET 메소드를 사용하여 데이터를 가져옵니다.
- [x] 본인이 이전 미션에서 생성한 게시글 상세 API의 DELETE 메소드를 사용하여 게시물을 삭제합니다.
- [x] 댓글 input에 값을 입력하면 '등록' 버튼이 활성화됩니다.
- [x] 본인이 이전 미션에서 생성한 댓글 생성 API를 활용해 POST 메소드로 댓글을 등록합니다.
- [x] 본인이 이전 미션에서 생성한 댓글 생성 API를 활용해 PATCH 메소드로 댓글을 수정합니다.
- [x] 본인이 이전 미션에서 생성한 댓글 생성 API를 활용해 DELETE 메소드로 댓글을 삭제합니다.

## 심화 요구사항

### 공통

- [x] 디자인 시안에 따라 반응형 디자인을 구현합니다.
- [ ] (생략 가능) 원한다면 지금까지 진행한 모든 React 코드를 Next.js로 마이그레이션 해주세요.
- [ ] 마이그레이션에 상당한 시간이 소요될 수 있으므로 진행을 권장하지 않습니다.
12 changes: 12 additions & 0 deletions next.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
/** @type {import('next').NextConfig} */
const nextConfig = {
webpack(config) {
config.module.rules.push({
test: /\.svg$/,
use: ['@svgr/webpack'],
});
return config;
},
};

export default nextConfig;
Loading