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

[염정훈] Sprint11 #315

Conversation

dang-96
Copy link
Collaborator

@dang-96 dang-96 commented Aug 23, 2024

요구사항

  • Github에 PR(Pull Request)을 만들어서 미션을 제출합니다.
  • 피그마 디자인에 맞게 페이지를 만들어 주세요.
  • 기존의 스프린트 미션 8에 이어서 React, Typescript를 사용합니다.

기본

회원가입

  • 유효한 정보를 입력하고 스웨거 명세된 “/auth/signUp”으로 POST 요청해서 성공 응답을 받으면 회원가입이 완료됩니다.
  • 회원가입이 완료되면 “/login”로 이동합니다.
  • 회원가입 페이지에 접근시 로컬 스토리지에 accessToken이 있는 경우 ‘/’ 페이지로 이동합니다.

로그인

  • 회원가입을 성공한 정보를 입력하고 스웨거 명세된 “/auth/signIp”으로 POST 요청을 하면 로그인이 완료됩니다.
  • 로그인이 완료되면 로컬 스토리지에 accessToken을 저장하고 “/” 로 이동합니다.
  • 로그인/회원가입 페이지에 접근시 로컬 스토리지에 accessToken이 있는 경우 ‘/’ 페이지로 이동합니다.

메인

  • 로컬 스토리지에 accessToken이 있는 경우 상단바 ‘로그인’ 버튼이 판다 이미지로 바뀝니다.

주요 변경사항

  • 지난 미션인 게시글 등록하는 기능을 추가했습니다.
  • 기존에 미션을 다 지우고 새로 시작해서 next.js로 로그인 페이지와 회원가입 페이지를 작업 했습니다.

스크린샷

image

멘토에게

  • intercepters를 사용해 봤는데 맞는 방식인지 리뷰 부탁드립니다.
    (intercepters를 사용했을때 기존코드 보다 어떤 장점이 있는지 아직은 확 느껴지지는 않는것 같습니다.)
  • 기존에 스타일드 컴포넌트를 사용하다가 테일윈드를 연습해보려고 지금은 테일윈드만 사용하고 있는중이라서 하나의 방식으로 통일하는것은 추후에 한번에 작업해보겠습니다.

@dang-96 dang-96 requested a review from wlgns2223 August 23, 2024 13:49
@dang-96 dang-96 added 매운맛🔥 뒤는 없습니다. 그냥 필터 없이 말해주세요. 책임은 제가 집니다. 미완성🫠 죄송합니다.. labels Aug 23, 2024
@dang-96 dang-96 self-assigned this Aug 23, 2024
Comment on lines +23 to +33
axiosInstance.interceptors.response.use(
(response) => response,
(error) => {
if (axios.isAxiosError(error)) {
console.error("Error Messages: ", error.response?.data || error.message);
} else {
console.error("Error Messages: ", error);
}
return Promise.reject(error);
}
);
Copy link
Collaborator

Choose a reason for hiding this comment

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

response는 정의 하실 필요가 없을 것 같아요.
로깅밖에 없고, 엑시오스 에러일때 로깅은 try-catch문에서도 충분하 하고 있으니까요

Comment on lines +8 to +15
(config) => {
const token = localStorage.getItem("token");

if (token && !config.url?.includes("/auth/signIn")) {
config.headers.Authorization = `Bearer ${token}`;
}

return config;
Copy link
Collaborator

Choose a reason for hiding this comment

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

이 부분은 잘 작성하신 것 같습니다 !

Comment on lines +19 to +27
setAddImage(URL.createObjectURL(file));

try {
const imgUrl = await postArticlesImage(file);
setImage(imgUrl);
console.log(imgUrl);
} catch (err) {
console.error("Error Messages: " + err);
}
Copy link
Collaborator

Choose a reason for hiding this comment

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

이 부분 로직이 조금 햇갈리는데 , 19번 라인에서 미리보기 URL을 만들고, 22번 라인에서 파일을 올려서 파일 URL(, image URL )을 가져오네용. 그럼 addImagesetImage로 설정한 이미지 url이 같은 이미지에 대해서 가르키는 걸까요?

만약 그렇다면 이미지 업로드 전에는 addImage로 이미지를 보여주고 이미지 업로드 후에는 imgUrl 하나만으로 해야 할 것 같아요.

Comment on lines +44 to +46
try {
const data = await postLogin();
return data;
Copy link
Collaborator

Choose a reason for hiding this comment

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

어디로 리턴하는거죠 !?!? 리턴 후 사용하고 있지 않은거 같습니다 !!

likeCount: number;
createdAt: string;
updatedAt: string;
writer: Writer;
};

export type ArticlesAdd = Pick<ArticlesList, "title" | "content" | "image">;
Copy link
Collaborator

Choose a reason for hiding this comment

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

유틸리티 타입 사용 굿 !!

@wlgns2223 wlgns2223 merged commit e34c69b into codeit-bootcamp-frontend:Next-염정훈 Aug 26, 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.

2 participants