finecode

네이키드리뷰

꾸밈없는 진짜 평점 — 많이 도움을 준 사람의 별점이 더 크게 반영되는 리뷰 서비스.

네이키드리뷰 메인 화면 — «꾸밈없는 진짜 평점» 문구와 별점 카드를 든 레벨 7 마스코트

주요 기능

레벨 가중 별점

리뷰를 꾸준히 쓰고 도움을 받을수록 레벨이 올라가고, 레벨이 높은 사람의 별점이 평점에 더 크게 반영됩니다.

업장·인물·제품 둘러보기

대분류별로 업장·인물과 제품을 훑어보고, 이름으로 바로 찾을 수 있습니다.

랭킹

요즘 가장 뜨거웠던 대분류와 업장·인물을 순위로 보여 주며, 순위는 주기적으로 갱신됩니다.

평점 분포와 리뷰 필터

제품마다 점수별 분포를 보여 주고, 별점·작성자 레벨·작성 기간·사진 유무로 리뷰를 걸러 볼 수 있습니다.

소셜 로그인

구글·카카오·네이버 계정으로 간편하게 로그인하고 리뷰를 남깁니다.

기술 스택

들어 있는 기능

안정성 · 운영

  • 헬스 체크 · 장애 경보서비스 상태와 정기 작업이 살아 있는지 주기적으로 점검하고, 원인이 남아 있는 동안은 경보를 계속 보내 장애가 묻히지 않습니다.
  • 정기 DB 백업서비스 데이터는 매일 일관된 스냅샷으로 정기 백업합니다.
  • 별도 장비 없는 작업 큐백그라운드 작업을 데이터베이스 하나로 안전하게 돌리며, 같은 작업이 두 번 실행되지 않습니다.
  • 멈춘 작업 자동 복구작업이 살아 있다는 신호를 계속 남겨, 중간에 죽은 작업은 자동으로 되살려 영영 멈추는 일이 없게 합니다.
  • 실패한 작업 재시도일시적인 장애로 실패한 작업은 간격을 점점 늘려 다시 시도해, 작업을 잃지 않으면서 서버 부담도 줄입니다.

보안 · 계정

  • 소셜 로그인구글·카카오·네이버 계정으로 로그인하며, 제공자마다 다른 절차를 한 모듈로 통일해 다룹니다.

데이터 · 동기화

  • 고칠 수 없는 점수 기록점수와 활동 이력은 수정·삭제 없이 추가만 되도록 코드 수준에서 막고, 되돌릴 때는 반대 기록을 남깁니다.
  • 중복 없는 경험치 지급재시도나 중복 요청이 와도 경험치는 한 번만 지급되고, 취소하면 반대 기록으로 정확히 되돌립니다.
  • 안전한 중복 항목 병합같은 대상이 중복 등록됐을 때 한 번의 안전한 처리로 합치고 병합 기록을 남기며, 서로 엉켜 멈추는 일이 없습니다.
  • 동시에 써도 한 번만같은 사람이 같은 대상에 리뷰를 동시에 여러 번 제출해도 하나만 남고, 처리가 서로 막히지 않습니다.

검색 · 노출

  • 띄어쓰기에 강한 한글 검색띄어쓰기가 달라도 찾아지는 전문 검색을 쓰고, 검색어가 짧거나 결과가 없을 때만 부분 일치로 한 번 더 찾습니다.
  • 나눠 만든 사이트맵페이지가 많아도 사이트맵을 나눠 만들어 검색 노출을 돕고, 공개 전에는 검색 수집을 설정으로 막아 둘 수 있습니다.
  • 공유용 미리보기 이미지링크를 공유하면 업장·제품마다 서버가 그려 낸 전용 미리보기 이미지가 나타납니다.

배포 · 품질

  • 다층 자동 테스트단위·통합·화면 전체 흐름 테스트에 접근성 검사까지 더해, 고친 곳이 다른 곳을 깨뜨리지 않는지 단계별로 확인합니다.

구성도

  1. 웹 브라우저nr.finecode.co.kr
  2. 네이키드리뷰 서버Next.js
  3. MySQL리뷰 · 점수 기록
  1. 네이키드리뷰 서버백그라운드 작업 요청
  2. 작업 큐MySQL 표
  3. 작업 실행기순위 갱신 등
  1. 주기 점검상태 · 정기 작업
  2. 장애 경보

웹 화면과 서버는 하나의 MySQL 을 공유하고, 순위 갱신 같은 백그라운드 작업도 별도 장비 없이 같은 데이터베이스의 작업 큐로 처리합니다.

운영 · 배포

네이키드리뷰 — 레벨 가중 별점 리뷰 서비스 — 파인코드(finecode)