커리큘럼
home
React
home

[펍플루언서]강아지 자랑 SNS

Specialty
React
Node.js
Specialty
날짜

Pupfluencer | 펍플루언서

프로젝트 소개

펍플루언서란 [Puppy + Influencer]의 합성어입니다.
너무 귀엽고 웃긴 우리 강아지의 모습을 나만 보기 아깝다고 느끼실 때
사진과 동영상으로 우리 강아지의 깜찍한 순간을 기록하고 공유하는 강아지 자랑 SNS
댕댕이 자랑 커뮤니티 SNS Pupfluencer 입니다.

서비스 소개 <br>

강아지 프로필을 등록하여 간단한 정보를 기록할 수 있어요
사진, 동영상 게시판을 통해 우리 댕댕이의 모습을 공유할 수 있어요
ToDo 리스트를 통해 산책하기, 약 먹이기, 미용하기 등 해야할 일들을 기록하고 관리할 수 있어요
DM 기능을 통해 다른 귀여운 댕댕이를 키우는 분들과 소통할 수 있어요

프로젝트 아키텍쳐

기술 스택

Front-end

Back-end

Dev tools

기술 스택 & 라이브러리 사용 이유

기술 스택
사용이유
NestJS
NestJS는 TypeScript 를 기본으로 지원하고 있다.
Socket.IO
다양한 플랫폼에서 작동이 가능하여, 향후 스케일링을 통한 더 많은 클라이언트와의 연결 처리가 가능하다.
JWT
Stateless 하여 로드밸런싱에 이점이 있다.
Docker
어느 환경에서든 동일한 조건으로 배포가 가능하다.
TypeORM
TypeSCript를 지원하고, QueryBuilder를 지원한다.
Cloud Front
S3에 접근시 캐싱을 통하여 더욱 빠르고, 원본인 S3의 트래픽 부하를 줄일 수 있다.
Cloud Watch
로드밸런싱을 사용했을때 로그를 통합적으로 관리 할 수 있다.
React Native
크로스플랫폼(Cross-platform)을 통한 어플의 확장성을 기대할 수 있다
Axios
promise 기반으로 데이터 처리의 용이, json 데이터 변환을 통한 코드 최적화할 수 있다.

ERD

트러블슈팅

문제 상황 : 이전의 JPA의 like절이나 contains절을 사용할 때의 검색 기능은 ex) 강남 자전거, 속초 헤어드라이기 이런식으로 지역과 제목 순으로 띄어쓰기를 포함해서만 검색이 가능한 한계가 있었고, jmeter로 측정한 속도도 향상 시키고자함
해결방안 1안 : Hibernate Search
해결방안 2안 : Elasticsearch
결과 : JMeter를 통해 1000명의 User가 동시에 이용했을 때의 평균 속도 17.4% 가량 감소