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

[박준성] Week14 #426

Merged
merged 1 commit into from
Jan 24, 2024
Merged

[박준성] Week14 #426

merged 1 commit into from
Jan 24, 2024

Conversation

juncastle97
Copy link

@juncastle97 juncastle97 commented Jan 24, 2024

요구사항

기본

  • [링크 공유 페이지] 링크 공유 페이지의 url path를 ‘/shared’에서 ‘/shared/{folderId}’로 변경했나요?
  • [링크 공유 페이지] 폴더의 정보는 ‘/api/folders/{folderId}’, 폴더 소유자의 정보는 ‘/api/users/{userId}’를 활용했나요?
  • [링크 공유 페이지] 링크 공유 페이지에서 폴더의 링크 데이터는 ‘/api/users/{userId}/links?folderId={folderId}’를 사용했나요?
  • [폴더 페이지] 폴더 페이지에서 유저가 access token이 없는 경우 ‘/signin’페이지로 이동하나요?
  • [폴더 페이지] 폴더 페이지의 url path가 ‘/folder’일 경우 폴더 목록에서 “전체” 가 선택되어 있고, ‘/folder/{folderId}’일 경우 폴더 목록에서 {folderId} 에 해당하는 폴더가 선택되어 있고 폴더에 있는 링크들을 볼 수 있나요?
  • [폴더 페이지] 폴더 페이지에서 현재 유저의 폴더 목록 데이터를 받아올 때 ‘/api/folders’를 활용했나요?
  • [폴더 페이지] 폴더 페이지에서 전체 링크 데이터를 받아올 때 ‘/api/links’, 특정 폴더의 링크를 받아올 때 ‘/api/links?folderId=1’를 활용했나요?
  • [상단 네비게이션] 유효한 access token이 있는 경우 ‘/api/users’로 현재 로그인한 유저 정보를 받아 상단 네비게이션 유저 프로필을 보여주나요?

심화

  • [심화] 리퀘스트 헤더에 인증 토큰을 첨부할 때 axios interceptors 또는 이와 유사한 기능을 활용 했나요?

주요 변경사항

스크린샷

멘토에게

  • 13주차 코드리뷰만 반영했습니다. 14주차는 차후 프로젝트 끝난 후에 반영하겠습니다.😅

@juncastle97 juncastle97 added the 미완성 죄송합니다... label Jan 24, 2024
@juncastle97 juncastle97 reopened this Jan 24, 2024
@juncastle97 juncastle97 changed the base branch from main to part3-박준성 January 24, 2024 05:24
Copy link
Collaborator

@jlstgt jlstgt left a comment

Choose a reason for hiding this comment

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

고생하셨습니다. 곧 프로젝트 시작인데 화이팅하시고 질문사항 생기면 언제든지 알려주세요!

<span className={styles.ErrorMessage}>{errors?.email?.message}</span>
{!!errors.email && (
<span className={styles.ErrorMessage}>
{errors?.email?.message}
Copy link
Collaborator

Choose a reason for hiding this comment

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

잘 수정해주셨네요! 큰 부분은 아니지만 굳이 따지자면, 47행에서 이미 email 객체가 있을 때만 49행이 렌더링 되기 때문에 errors.email은 항상 존재합니다. 따라서 errors?.email?.message가 아닌 errors.email.message로 적어도 됩니다!

@@ -4,7 +4,7 @@ import { errorMessages, emailRegex, passwordRegex } from "../utils/regexp";
import { signIn } from "../lib/loginApi";
import Image from "next/image";
import styles from "../styles/Sign.module.css";
import LogoTitle from "../components/signPage/LogoTitle";
import LogoTitle from "../components/elements/LogoTitle";
Copy link
Collaborator

Choose a reason for hiding this comment

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

elements란 디렉토리 이름의 정확한 의미가 무엇인가요? 😅


export async function signIn(email, password, setError) {
try {
const res = await axios.post(`${baseURL}/sign-in`, {
const res = await instance('/sign-in', {
Copy link
Collaborator

Choose a reason for hiding this comment

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

이것도 큰 부분은 아니지만, instance 보다는 httpRequestInstance, axiosInstance 등의 명확한 이름이 더 좋아보입니다!


export async function signIn(email, password, setError) {
try {
const res = await axios.post(`${baseURL}/sign-in`, {
const res = await instance('/sign-in', {
Copy link
Collaborator

Choose a reason for hiding this comment

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

추후 어플리케이션이 더 커지게 될 때에는, /sign-in 같은 엔드포인트들도 상수로 처리할 수 있습니다.

@@ -25,7 +23,7 @@ export async function signIn(email, password, setError) {

export async function signUp(email, password) {
try {
const res = await axios.post(`${baseURL}/sign-up`, { email, password });
const res = await instance('/sign-up', { email, password });
Copy link
Collaborator

Choose a reason for hiding this comment

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

아래 27행에서 if (res.status === 200)을 수행하지 않아도 됩니다. 이미 try-catch 문 안에 있기 때문에, 200번대가 아닌 응답 오류(400번대 이상)이 뜬다면 저절로 catch 블록으로 이동할 것이고 문제 없이 결과값을 받았으면(여기서는 200번 응답) 그냥 계속 실행될 것이기 때문입니다. 특히, 200번대에는 200번 응답 말고도 203등도 자주 사용되기 때문에 이에 대한 것도 생각해보시면 좋을 것 같습니다.

@jlstgt jlstgt merged commit b710c77 into codeit-bootcamp-frontend:part3-박준성 Jan 24, 2024
1 check passed
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