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

[김태완] Sprint9 #293

Merged

Conversation

twtwkim
Copy link
Collaborator

@twtwkim twtwkim commented Nov 23, 2024

요구사항

기본

  • 자유 게시판 페이지 주소는 “/boards” 입니다.
  • [] 전체 게시글에서 드롭 다운으로 “최신 순” 또는 “좋아요 순”을 선택해서 정렬을 할 수 있습니다.
  • 게시글 목록 조회 api를 사용하여 베스트 게시글, 게시글을 구현합니다.
  • [] 게시글 title에 검색어가 일부 포함되면 검색이 됩니다.

심화

  • 반응형으로 보여지는 베스트 게시판 개수를 다르게 설정할때 서버에 보내는 pageSize값을 적절하게 설정합니다.
  • [] next의 data prefetch 기능을 사용해봅니다.

주요 변경사항

  • 스프린트 미션을 위한 생성에 따른 파일 추가입니다.

멘토에게

  • 이번주 시간이 부족해서 요구사항을 모두 수행하지 못했습니다. UI와 반응형만 구현했습니다.
  • 기능 구현 및 코드 리팩토링 하여 다음 미션 요구사항과 함께 PR 올리겠습니다.
  • 셀프 코드 리뷰를 통해 질문 이어가겠습니다.

@twtwkim twtwkim requested a review from jyh0521 November 23, 2024 15:02
@twtwkim twtwkim added the 미완성🫠 죄송합니다.. label Nov 23, 2024
Copy link
Collaborator

@jyh0521 jyh0521 left a comment

Choose a reason for hiding this comment

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

고생하셨습니다! 추가로 질문있으신거는 멘토링때 질문으로 남겨주셔도 좋을 것 같습니다.

font-weight: 700;
font-size: 20px;
line-height: 24px;
color: #111827;
Copy link
Collaborator

Choose a reason for hiding this comment

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

컬러 변수를 사용해서 색상을 관리해보시는 것도 추천드립니다.

@@ -0,0 +1,177 @@
.bestContainer {
Copy link
Collaborator

Choose a reason for hiding this comment

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

class 이름에는 보통 카멜케이스를 잘 사용하진 않습니다. 이미 작성하신 부분은 어쩔 수 없지만, css 명명 방법에 대해 한번 알아보셔도 좋을 것 같습니다.

color: #9ca3af;
}

@media screen and (max-width: 744px) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

저는 개인적으로 각 class 내부에 반응형 css를 작성해주는 편 입니다. 추후에 하나의 클래스 디자인이 바뀔때 해당 클래스 부분의 css만 수정하면 되거든요.

import { FormatDate } from "@/lib/formatDate";

interface BestBoardListProps {
bestArticles: Array<any>;
Copy link
Collaborator

Choose a reason for hiding this comment

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

any는 지양하는 것이 좋기 때문에 bestArticles의 타입을 any가 아니라 api에서 응답으로 주는 값들을 타입으로 지정해보시면 좋을 것 같습니다. 또, Array는 [] 표시로 대체할 수도 있습니다.

Comment on lines +17 to +21
<img
className={styles.bestImg}
src="/images/bestIcon.png"
alt="베스트 아이콘 이미지"
/>
Copy link
Collaborator

Choose a reason for hiding this comment

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

아이콘은 svg 태그를 사용하시는 것도 좋습니다.

return (
<div className={styles.navContainer}>
<div className={styles.navBox}>
<img
Copy link
Collaborator

Choose a reason for hiding this comment

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

next/image를 사용하시면 img 태그 대신에 next/image를 사용해보시면 좋을 것 같아요.

import axios from "axios";

const instance = axios.create({
baseURL: "https://panda-market-api.vercel.app",
Copy link
Collaborator

Choose a reason for hiding this comment

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

baseURL은 .env 파일로 관리하시고 깃허브에 안올라오게 해주시는 것도 좋습니다.

@@ -0,0 +1,8 @@
export const FormatDate = (dateString: string): string => {
Copy link
Collaborator

Choose a reason for hiding this comment

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

이 함수는 날짜 형태를 변환하는 함수인 것 같은데 함수 이름은 보통 카멜케이스를 사용해서 작성 합니다.

const Article = () => {
const [bestArticles, setBestArticles] = useState([]);
const [articles, setArticles] = useState([]);
const [orderBy, setOrderBy] = useState("recent");
Copy link
Collaborator

Choose a reason for hiding this comment

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

recent 같은 상수 값들은 따로 상수로 관리해주셔도 좋습니다.

@jyh0521 jyh0521 merged commit 66a227e into codeit-bootcamp-frontend:Next-김태완 Nov 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
미완성🫠 죄송합니다..
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants