커리큘럼
home
React
home

[내일바로캠핑] 캠핑 관련 정보를 한눈에 볼 수 있는 커뮤니티

Specialty
Node.js
FE Github
Specialty
날짜
캠핑장 & 캠핑 용품 & 캠핑 요리 레시피 등 모든 정보를 한눈에 볼 수 있는 커뮤니티 사이트
캠핑을 좋아하는 사람도, 관심 없었던 사람도 쉽게 접근할 수 있도록
다양한 사람들이 경험을 공유하며 함께 어우러지는 장을 마련하는 것이 목표입니다!
서비스 둘러보기 : 링크
Github Repository : 링크

아키텍처

주요 기술

로그인
인증 : JWT
인가 : passport
FrontEnd
NestJS MVC
HTML / CSS / JS
EJS
AXIOS
BackEnd
NestJS
배포
ECS
검색
elasticsearch
DB
RDS
crawling
puppeteer
cheerio
scheduling: nestjs Task Scheduling

기술적 의사 결정

elastic search cloud : 기존 like로 검색을 하게 되면 쿼리 증가로 인한 사이트 속도 저하 및 정확한 검색 결과 산출이 어려운 문제가 있었고, 서버에 부담이 가지 않으며 빠르고 정확한 검색 결과 산출을 위해 사용
puppeteer
카카오 지도 api
11번가 api
cheerio
scheduling
jwt
passport
s3
xml2js
craling -> nestjs task scheduling 사용 todo : Cloudwatch (schedule) + lambda 이용해서 크롤링 하도록 변경 하는것을 계획중. -> 백엔드 서비스 api 서버와 결합도를 없애기 위함
Plain Text
복사

트러블 슈팅

캠핑장 검색 시 데이터가 많아 로드뷰에 과도한 로딩 시도
캠핑장 검색결과에 로드뷰가 아닌 캠핑장 이미지 삽입시도
Api 스케줄러로 주기적으로 실행시, 변함 없는 데이터는 그대로 유지 변화가 생긴 데이터는 delete 메소드로 db를 비우고 실행
회원 탈퇴
frontend에서의 페이지네이션
좋아요 / 댓글 카운트
비로그인 유저
검색 기능 like `%${검색어}%`로 기능 구현하여 불필요한 정보가 불러와짐
elastic search → elastic search cloud로 변경

주요 기능

통합 검색 기능
캠핑장, 캠핑 용품, 레시피, 게시글 전체 통합 검색 가능
좋아요
캠핑장 뿐만 아니라 게시글, 댓글, 리뷰 까지 좋아요 가능
커뮤니티
게시글 및 댓글 작성, 좋아요 그리고 페이지네이션 기능을 구현
레시피
캠핑 요리 검색 및 레시피
마이페이지
회원 정보 수정: 이름, 전화번호, 닉네임, 프로필 이미지 수정
본인이 작성한 게시글, 댓글, 후기 모아보기
회원 탈퇴