Search

민철 README

간단 스타일

역할
깃허브 관리
UI/기능
유저/팀/나의 프로필 페이지 및 기능
팔로워/팔로잉 페이지 및 기능
팔로우 기능
같은 관심사 검색 기능
네비게이션 바
웹표준

디테일 스타일

프로젝트 역할

GitHub 관리
팀원들에게 Git Flow 방식, Issue/PR 사용 방법 설명
GitHub Issue/PR 템플릿, label 작성

UI 개발

ProfileImage/NavBar 공통 컴포넌트 제작
유저/팀/나의 프로필 페이지, 팔로워/팔로잉 페이지 제작
직관 일정 없음 및 게시글 없음 UI 제작

기능 개발

팔로우
프로필 리스트형/앨범형 피드
리스트/앨범 아이콘 클릭으로 로드 방법 선택
useState로 버튼 상태 관리
리스트 아이콘 클릭 시 setListType = ‘list’, 앨범 아이콘 클릭 시 setListType = ‘album’
listType 에 따라서 아이콘 이미지의 src가 변경되어 아이콘의 활성화/비활성화 효과
listType === ‘list’ 일 시 리스트형으로 피드 로드
해당 계정의 모든 게시글 로드
listType === ‘album’ 일 시 앨범형으로 피드 로드
해당 계정의 게시글 중 이미지가 있는 게시글을 필터링 하기 위해 post에 filter 메서드를 사용하여 return item.image 필터링된 data들을 앨범형으로 피드 로드
post.length === 0일 때 게시글 없음 표시
관심사 검색
프로필의 관심사들 중 검색하고 싶은 관심사 클릭 시 해당 관심사를 가진 계정들을 검색해주는 기능
유저 검색 API 이용
모든 계정 검색: GET /user/searchuser/?keyword= 
검색된 계정에서 관심사(intro) 확인하는데 관심사가 없는 계정들을 예외 처리 해주기 위해 검색된 모든 계정들에게서 typeof item.intro === 'string’ 인 계정들을 필터링
관심사가 있는 계정들 중 검색할 관심사를 가진 계정들을 필터링한 sameTagGroup 데이터를 UserList의 props로 넘겨줌
스킵 네비게이션
top: -(상자의 높이)해주어 평상시에는 보이지 않게 하고, focus 혹은 active 될 때에만 top: 0이 되어 스킵 네비게이션을 이용 가능하게 함
페이지의 최상단에 위치하여 가장 먼저 포커스되고, 원하는 콘텐츠로 쉽게 이동 가능

리팩토링

웹표준 준수
접근성 및 SEO 향상
구조적 헤딩 추가
meta 태그 및 페이지별 타이틀 추가

사용 라이브러리

react-helmet-async
meta 태그와 페이지별 타이틀을 위해 사용

핵심기능