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 #425

Conversation

ckswnskfk
Copy link
Collaborator

@ckswnskfk ckswnskfk 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 또는 이와 유사한 기능을 활용 했나요?

주요 변경사항

  • 템플릿 코드를 사용했습니다.
  • shared 페이지를 path에 따라 동적으로 데이터를 가져오도록 구현했습니다.

멘토에게

  • 정말 죄송하게도 템플릿 코드를 썼는데도 구현한 게 거의 없습니다...
  • folder 페이지는 미완성입니다ㅠㅠ

@ckswnskfk ckswnskfk requested a review from jlstgt January 24, 2024 05:00
@ckswnskfk ckswnskfk added 미완성 죄송합니다... 순한맛🐏 마음이 많이 여립니다... labels Jan 24, 2024
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.

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


export const mapFoldersData = (folders?: FolderRawData[]): Folder[] => {
export const mapFoldersData = (folders?: Folder[]): FolderShown[] => {
if (!folders) return [];
Copy link
Collaborator

Choose a reason for hiding this comment

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

folders가 최소한 Array타입인 게 보장이 된다면, 이 4행은 필요가 없을 것 같습니다. 어차피 밑에서 빈 배열에 map 걸어도 결과는 빈 배열이니 상관 없을 거 같아요.

favorite: boolean;
};

export type FolderShown = {
Copy link
Collaborator

Choose a reason for hiding this comment

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

FolderShown는 얼핏 봤을 때 의도를 파악하기가 쉽지 않은 이름이라고 생각합니다. API 응답으로 온 데이터의 타입과 실제로 UI에 렌더링하기 위한 값을 의미하는 건가요?

favorite: boolean;
};

export type FolderShown = {
Copy link
Collaborator

Choose a reason for hiding this comment

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

위에 FolderRawData도 있는 것 같습니다. 이런 경우 FolderFolderRawData 기준으로 만든다던가 하는 다양한 방식도 생각해볼 수 있을 것 같습니다. (ex. 인터페이스의 상속을 이용)


export const mapFoldersData = (folders?: FolderRawData[]): Folder[] => {
export const mapFoldersData = (folders?: Folder[]): FolderShown[] => {
Copy link
Collaborator

Choose a reason for hiding this comment

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

export const mapFoldersData = (folders: Folder[] = []): FolderShown[] 같은 식으로 기본 값을 부여해줘도 좋을 것 같습니다.

@jlstgt jlstgt merged commit f213943 into codeit-bootcamp-frontend:part3-이찬주 Jan 24, 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