Skip to content

Commit

Permalink
Merge pull request #112 from heonq/next-함헌규-sprint8
Browse files Browse the repository at this point in the history
[함헌규] sprint8
  • Loading branch information
pers0n4 authored Dec 12, 2024
2 parents fd58012 + 7a70eaf commit bd1a680
Show file tree
Hide file tree
Showing 115 changed files with 11,254 additions and 0 deletions.
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

0 comments on commit bd1a680

Please sign in to comment.