← 포트폴리오 목록

동네 매장 쇼윈도 모바일 웹

본 프로젝트의 요구사항(동네 단위 매장 탐색, 사진 중심 30초 소식 등록, AI 문구 자동 작성, 추천 피드)을 기반으로 직접 구현한 맞춤 모바일 웹 프로젝트입니다.

프로젝트 납품 요약

아래 프로젝트 개요와 핵심 기능에서 구현 화면을 확인할 수 있습니다.

서비스 타입Web
업종AI 서비스
기술 스택
ReactTypeScriptTailwind CSSNode.js + ExpressPostgreSQL + PrismaAWS S3OpenAI APIRecharts
주요 기능
  • 동네 설정·추천 피드 탐색
  • 매장 상세·관심 저장·검색
  • 30초 소식 등록·AI 문구 작성
  • 영업 토글·조회·관심 수

프로젝트 개요

범위: 개발, 디자인, 기획

본 프로젝트의 요구사항(동네 단위 매장 탐색, 사진 중심 30초 소식 등록, AI 문구 자동 작성, 추천 피드)을 기반으로 직접 구현한 맞춤 모바일 웹 프로젝트입니다. 손님 화면과 사장님 모드를 한 흐름으로 설계하며, 이후 React Native 기반 앱으로 확장할 수 있는 API 구조를 React와 Node.js 기반으로 구현합니다.

작업 범위

  • 동네 설정·추천 피드 탐색: 동의 기반 현재 위치 또는 저장한 동네를 기준으로 반경 내 영업 매장 소식을 추천 피드와 지도·목록 전환 화면으로 둘러봅니다
  • 매장 상세·관심 저장·검색: 매장 상세에서 소식·메뉴·영업 정보를 확인하고, 관심 매장으로 저장하며, 매장과 메뉴를 검색합니다
  • 30초 소식 등록·AI 문구 작성: 사장님 모드에서 사진 한 장과 키워드만 입력하면 AI가 소식 문구 초안을 작성하고, 확인 후 바로 등록합니다
  • 영업 토글·조회·관심 수: 사장님이 영업 중과 영업 종료를 한 번의 토글로 전환하고, 소식별 조회 수와 관심 수를 확인합니다

주요 업무

  • 동네 설정·추천 피드 탐색 화면: 위치 동의 상태에 따라 동네 기준 반경 쿼리를 분기하고 관심·시간대 점수로 피드를 정렬하는 구조
  • 매장 상세·관심 저장·검색 화면: 전문 검색 인덱스와 낙관적 UI 업데이트를 결합한 관심 저장·검색 구조
  • 30초 소식 등록·AI 문구 작성 화면: 이미지 리사이즈 파이프라인과 LLM 문구 생성 API, 호출 비용 상한 가드를 연결한 등록 구조
  • 영업 토글·조회·관심 수 화면: 상태 토글 API와 이벤트 카운터 집계를 연결한 사장님 대시보드 구조
동네 매장 쇼윈도 모바일 웹
요구사항 정의

프로젝트 핵심 과제

프로젝트 진행 시 해결한 핵심 기술 과제입니다.

손님이 위치 동의를 거부해도 동네 단위 탐색이 끊기지 않

저장 동네 기준 조회로 대체하는 흐름 설계가 필요합니다

사진 한 장으로 30초 안에 등록을 마치

업로드 대기 시간을 가리는 비동기 이미지 처리 구조 설계가 필요합니다

AI가 작성한 문구가 과장 표현이나 부적절한 표현을 담지 않

금칙어 검수와 사장님 확인 단계 설계가 필요합니다

영업 상태 전환이 피드·검색·지도에 동시에 반영되

캐시 무효화 기준 설계가 필요합니다

웹 데모에서 구현한 위치·푸시·카메라 기능을 Expo 표준 라이브러리 경로로 옮길 때의 API 경계 설계가 필요합니다

구현 내용

핵심 기능 상세

핵심 기능 1

동네 설정·추천 피드 탐색

동의 기반 현재 위치 또는 저장한 동네를 기준으로 반경 내 영업 매장 소식을 추천 피드와 지도·목록 전환 화면으로 둘러봅니다.

  • 하버사인 거리 계산 쿼리와 인덱스로 반경 내 매장 조회 구현
  • 관심 매장·시간대·거리 규칙 점수를 합산하는 피드 정렬 로직 설계
  • 무한 스크롤과 React Query 캐시로 피드 목록 상태 관리

위치 동의 전에는 저장 동네로, 동의 후에는 현재 위치로 반경을 전환하는 탐색 흐름과 규칙 기반 추천 정렬을 구현합니다.

동네 설정·추천 피드 탐색
동네 설정·추천 피드 탐색 실제 화면
핵심 기능 2

매장 상세·관심 저장·검색

매장 상세에서 소식·메뉴·영업 정보를 확인하고, 관심 매장으로 저장하며, 매장과 메뉴를 검색합니다. 전문 검색 인덱스와 낙관적 UI 업데이트를 결합한 관심 저장·검색 구조.

  • PostgreSQL 전문 검색과 trigram 인덱스로 매장·메뉴 통합 검색
  • 관심 토글에 Optimistic UI 적용 후 서버 응답으로 재동기화
  • 매장 상세 탭(소식·메뉴·정보) 라우팅과 이미지 지연 로딩 설계

매장명과 메뉴명을 하나의 검색창에서 조회하고, 관심 저장 상태가 목록·상세 화면에 일관되게 반영되는 구조를 구현합니다.

매장 상세·관심 저장·검색
매장 상세·관심 저장·검색 실제 화면
핵심 기능 3

30초 소식 등록·AI 문구 작성

사장님 모드에서 사진 한 장과 키워드만 입력하면 AI가 소식 문구 초안을 작성하고, 확인 후 바로 등록합니다. 이미지 리사이즈 파이프라인과 LLM 문구 생성 API, 호출 비용 상한 가드를 연결한 등록 구조.

  • Multer 업로드와 sharp 리사이즈로 이미지 최적화 후 S3 저장
  • OpenAI API 프롬프트 템플릿으로 사진 키워드 기반 문구 초안 생성
  • 사장님별 일일 호출 상한과 금칙어 검수 규칙으로 문구 품질 관리

사진 선택, 키워드 입력, AI 초안 확인, 등록까지 단계를 최소화한 사장님 등록 흐름과 비용 상한 가드를 구현합니다.

30초 소식 등록·AI 문구 작성
30초 소식 등록·AI 문구 작성 실제 화면
핵심 기능 4

영업 토글·조회·관심 수

사장님이 영업 중과 영업 종료를 한 번의 토글로 전환하고, 소식별 조회 수와 관심 수를 확인합니다. 상태 토글 API와 이벤트 카운터 집계를 연결한 사장님 대시보드 구조.

  • 영업 상태 토글 시 피드 노출 조건을 서버에서 일괄 갱신
  • 조회·관심 이벤트를 일별 카운터 테이블로 집계해 대시보드 제공
  • Recharts 막대·라인 차트로 최근 7일 추이 시각화

영업 상태가 손님 피드와 검색에 바로 반영되고, 조회·관심 수가 소식 단위로 확인되는 사장님 화면을 구현합니다.

영업 토글·조회·관심 수
영업 토글·조회·관심 수 실제 화면
구현 과정

프로젝트 진행 단계

STEP 1

동네 단위 데이터 모델·반경 쿼리 설계 · 2026.10

매장·소식·관심 테이블 ERD 설계, 위도·경도 인덱스와 반경 조회 쿼리 정의

STEP 2

소식 등록·AI 문구·추천 피드 로직 구현 · 2026.10

Multer·sharp·S3 이미지 파이프라인, OpenAI API 문구 초안과 비용 상한 가드, 규칙 기반 피드 점수 구현

STEP 3

손님·사장님 모바일 웹 화면 개발 · 2026.10

피드·지도·상세·검색 화면과 사장님 모드 화면을 React로 구현

STEP 4

시나리오 테스트·앱 확장 경로 정리 · 2026.10

위치 동의·영업 토글 시나리오 테스트와 Expo 기반 앱 전환용 API 문서 정리

개발 결과

동의 기반 반경 탐색 구조 설계하버사인 거리 쿼리와 위경도 인덱스로 반경 조회를 구현하고, 위치 동의 여부에 따라 저장 동네로 전환하는 흐름을 설계합니다.
30초 소식 등록 흐름 구현사진 선택부터 AI 문구 확인까지 3단계로 줄인 등록 화면을 구현하고, 업로드 이미지를 리사이즈해 S3에 저장합니다.
AI 호출 비용 상한 가드 설계사장님별 일일 호출 횟수와 토큰 상한을 서버에서 검사하고, 초과 시 직접 입력으로 전환되는 폴백을 설계합니다.
규칙 기반 추천 피드 점수 구현거리·관심 매장·시간대 가중 점수로 피드를 정렬하고, 점수 산출 근거를 로그로 남기는 구조를 구현합니다.

기술적 주안점

  • 위치 동의 전에는 저장 동네로, 동의 후에는 현재 위치로 반경을 전환하는 탐색 흐름과 규칙 기반 추천 정렬을 구현합니다
  • 매장명과 메뉴명을 하나의 검색창에서 조회하고, 관심 저장 상태가 목록·상세 화면에 일관되게 반영되는 구조를 구현합니다
  • 사진 선택, 키워드 입력, AI 초안 확인, 등록까지 단계를 최소화한 사장님 등록 흐름과 비용 상한 가드를 구현합니다

유사한 프로젝트를 기획하고 계신가요?

필요한 기능과 일정을 알려주시면 개발 범위를 함께 정리하겠습니다.

프로젝트 문의