스크랩을 통해 사용자의 취향을 도출하고, 매거진 생성 및 공유를 통해 퍼스널 브랜딩을 돕는 서비스
Github
기간
인원
사용기술
https://github.com/Kusitms-26th-Ohttention/pickRAP-FE
2022.12 - 2023.02 (3개월)
PM 1명, 기획 2명, 디자인 1명, FE 2명, BE 3명
[다중 선택]
const pickSet = useRef(new Set<number>());
const selectPageItems = useCallback(
(id: number) => {
pickSet.current.has(id) ? pickSet.current.delete(id) : pickSet.current.add(id);
setPageItems(Array.from(pickSet.current));
},
[pickSet, setPageItems],
);
[useMutation을 이용한 삭제, invalidQueries로 데이터 무효화]
react-chartjs-2 패키지 사용
다운로드 횟수와 레퍼런스의 개수, 다양한 시각화 기능을 제공한다는 이점을 보고 해당 패키지를 선택하여 도넛 차트를 추가했습니다.
const { allAnalysis } = useGetAnalysis();
const hashTags = allAnalysis.hashtags;
const chartColor = ['#F6D936', '#2A2E34', '#ABA9A6', '#EAE9E4'];
const dataSetsName: string[] = [];
const dataSetsRate: number[] = [];
hashTags.forEach((item) => (dataSetsName.push(item.hashtag_name), dataSetsRate.push(item.hashtag_rate)));
const DefaultTagData = {
labels: dataSetsName,
datasets: [
{
data: dataSetsRate,
backgroundColor: chartColor,
borderWidth: 0,
},
],
};
도넛차트의 해시태그 키워드가 포함된 게시글 모아보기
도넛차트 클릭 시 해시태그 키워드를 받아와 /scrap/params 값으로 보내 검색어로 API를 요청할 수 있도록 하였으며, UI상에서도 해당 검색어로 검색된 것처럼 보여주도록 구현했습니다.