- 목차
- 옷늘날씨 리팩토링의 목적
- 팀원 소개
- 개발 일정
- 리팩토링을 하며 바뀐 협업 방식과 기술 스택
- 변경된 페이지 디자인
리팩토링 배포 주소 : https://weatherfit-refactoring.vercel.app/
로그인 계정
[email protected]
ehdwns12@
리팩토링 전 배포 주소 : https://weatherfit.vercel.app/
-
기능 구현 위주로 프로젝트를 진행하며 발생한 문제점 보완
- 코드의 재사용성과 생산성이 떨어짐 >> 아토믹 디자인 패턴을 도입하며 앞의 문제를 해결
- 성능에 초점을 맞추지 못해 사용자 경험이 떨어짐 >> LIGHTHOUSE 등을 이용해 성능을 검사하며 프로젝트 진행
- 웹 표준과 웹 접근성을 고려하지 못함 >> 웹 표준과 웹 접근성에 대해 공부하고 적용
-
Next.js에서 axios를 사용하면 데이터 캐싱 기능을 지원해주지 않기 때문에 성능이 떨어짐
- Next.js에서 자체적으로 데이터 캐싱 기능을 지원해주는 fetch를 사용하셔 성능 개선
-
클래스명 혹은 아이디가 겹처 스타일이 깨지는 경우가 발생
- Tailwind CSS를 사용하여 사전에 문제 발생 가능성 삭제
황동준 |
전주현 |
박혜원 |
Frontend 팀장 |
Frontend | Frontend |
🎨 디자인
- 아토믹 디자인 패턴 총괄
- 전체 아톰 설계 및 디자인 패턴 프로세스 담당
📜 페이지
- 피드 페이지
- 일반 회원가입 페이지
- 구글 회원가입 페이지
- 웹 뷰 페이지
🦾 기능
- 위치에 맞는 날씨 정보 가져와 화면에 띄우기
- 로그인 토큰 전역 관리
- 해시태그로 게시물 검색하기
- 카테고리 선택 시 선택에 맞는 게시물 보여주기
- 온도 설정 시 온도에 맞는 게시물 보여주기
- 일반 회원가입 구현
- 논리에 맞게 tabIndex 적용
- 피드 페이지 이미지 최적화
📜 페이지
- 업로드 페이지
- 상세 페이지 & 게시글 수정 페이지
- 메인 페이지 베스트 코디 확인 파트
🦾 기능
- 날씨 정보를 포함하여 게시물 정보 전달하는 업로드 기능 구현
- 게시물 상세 정보 불러오기
- 로그인 토큰에서 사용자 닉네임을 가져와 사용자가 업로드한 게시물 구분하여 수정 기능 구현
- 가장 좋아요가 많이 눌린 게시물 3개 메인 페이지에 불러오기
🎨 디자인
- 디자인 총괄
📜 페이지
- 마이 페이지
- 로그인 페이지
- 메인 페이지 날씨 확인 파트
🦾 기능
- 사용자가 좋아요 누른 게시물 불러오기
- 사용자가 올린 게시물 불러오기
- 로그인 기능 구현
- 게시물 상게 페이지에 댓글 기능 구현
- 현재 날씨 정보 불러와 메인 페이지에 띄우기
- 리팩토링 디자인 | 1/2~10 (완)
- 디자인 분해(Atom, Molecule, Organisms, Page) | 1/10 ~ 11 (완)
- 기본 개발 환경 설정 | 1/11 ~ 15 (완)
- 역할 분배 후 개발(+ 백엔드 연결) | 2/2 ~ 3/27 (진행 중 : 게시물 관련 백엔드 이슈로 지연)
- 최종 코드 리뷰를 통한 클린 코드 적용 및 웹 표준 & 웹 접근성을 고려해 코드 수정 | 3/28 ~ 3/29
- 페이지 성능 테스트 및 개선점 분석 | 3/30 ~ 4/1
- 완료
- 개별 성능 개선 작업 | (진행 중)
- 하나의 Organisms 완성 후 테스트 및 코드리뷰를 진행하여 기능의 완성도 및 성능을 높이고 있습니다.
- esLint, Prettier를 통해 코드 컨벤션을 통일하였고, 깃 컨벤션 규칙을 정해서 깃 PR을 깔끔하게 관리하고 있습니다.
- 깃허브에서 제공하는 칸반 형식의 Project를 이용하며 서로의 작업 진행 속도를 파악하고 있습니다.
Front-End | |
Collaboration | |
Design | |
IDE | |
Convention | |
Deployment |
메인 페이지 |
로그인 페이지 |
회원가입 페이지 |
피드 페이지 |
게시물 상세 페이지 |
- 좋아요 및 댓글 기능을 통해 소통이 가능합니다.
업로드 페이지 & 게시물 수정 페이지 |
- 차이점은 게시물 수정 시에 수정할려는 게시물의 데이터가 들어있다는 점입니다.
- 해시태그를 글과 함께 입력 가능하며 카테고리를 선택하여 게시물을 업로드합니다.
마이 페이지 | 마이 페이지 정보 수정 |
웹 반응형 페이지 | 로그인 권환 페이지 |
- 로그인 토큰이 없는 경우 로그인 권한 페이지를 띄워줍니다.