HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
👏
[3차] 최종 프로젝트 공지 페이지
/
👍🏿
[최종 프로젝트] 선배 개발자와의 소통 일지
/
🐕
팀3 프론트엔드 최종 피드백
🐕

팀3 프론트엔드 최종 피드백

기입 일자
Aug 21, 2022 04:22 AM
기록 유형
최종 피드백 면담
날짜
멘토
요한
분야
프론트엔드

프로젝트 최종 점검

한줄 평 : 둘러보면 오류들이 상당히 많이 있지만, 디자인도 예쁘고, 기본적인 기능에 충실한 사이트를 만들어 내었습니다.

  • 짧은 기간동안에 만든 사이트임에도 불구하고,
  • 마이크로애니메이션들, 애니메이션들이 과도하지 않게 들어가서 괜찮아보입니다.
  • 크롬 익스텐션 기능까지 추가한 것이 재밌는 부분입니다.

버그 및 수정하면 좋은 부분

버그를 다 적기엔 여백이 부족하여 눈에 띄는 부분들을 알려드립니다.
  • 폴더를 Private으로 설정하였음에도 다른 사람이 접근 가능함
  • 원하는 태그가 없어 커스텀으로 입력할 경우엔 null 값이 들어가며, 등록되지 않음
  • 같은 이메일로 여러번 회원가입 가능
  • 이메일 인증 후 다음단계에서 뒤로가기 버튼을 굳이 넣을 필요가 없음
  • 비밀번호 오류로 작성시 다시 올바른 비밀번호를 넣더라도 ‘비밀번호가 일치하지 않습니다’경고문구가 사라지지 않음
  • 프론트에서 직접 S3에 올리는 구조인데, 이미지 업로드 제한이 없어 30mb 이미지파일이 그대로 올라감
    • 이미지 올리는 것을 악용해서 프로그래머스에 많은 비용이 청구될 가능성이 있음

코드

  • release 코드 관리
    • 어디가 배포된 코드인지 확인불가능 (롤백 고려)
  • dev, production 환경변수에 따른 배포 환경 설정
  • ServerSideRendering이 필요한
  • 폴더 관리 미흡
    • Modal은 atomic 관점에서 작은 단위라고 생각할텐데, 그 안에 너무 많은 기능과 페이지들이 있어 통일성이 전혀 맞지 않음.
      • notion image
  • 페이지 네이밍
    • 중간에도 말했듯이 유저 친화적인 네이밍이 아님
  • 쓰지 않는 react-query 제거 필요
  • API 강제 형변환 방식
    • return res as unknown as AllFolderList; // 이건 뭐죠
      위와 같이 듣도보도 못한 이상한 방식으로 하는 것보다 return type을 정확하게 명시해주는 것이 좋음
      export const getLikeFolder = async ( { page, size, sort }: GetFolderList, id: number, ) :Promise<AllFolderList> => { const res = await axios.get(`${LIKES}/${id}`, { params: { page, size, sort, }, }); return res.data };