← Case studiesKIM YEONJUN

개인 웹 제품 · 라이브 · LIVE

LocalCart — 인천 동네 장보기

A mobile location product that compares neighborhood shopping routes by basket cost, walking distance and number of stops.장바구니 재료와 이동 조건을 기준으로 동네 상점의 구매 경로를 비교하는 모바일 지도 웹앱입니다.

ROLE · 담당공간 데이터 설계 · 추천 로직 · 지도 서비스 구현
CONTEXT · 구분Next.js · FastAPI 기반 개인 프로젝트
TECHNOLOGY · 기술Next.js · FastAPI · Mapbox

SYSTEM ARCHITECTURE · 시스템 구조

User & basketFastAPILocation dataMapbox DirectionsNext.js map UI
The diagram shows only the disclosed system boundary. · 공개 가능한 시스템 범위만 표시했습니다.

Context & problem배경과 문제

Neighborhood store information is fragmented, while shoppers must balance price, walking distance and the number of stops.동네 상점 정보가 흩어져 있고 사용자는 가격뿐 아니라 거리와 경유 횟수까지 함께 고려해야 합니다.

Approach접근 방법

Normalized ingredient names, connected them to store inventories, and separated minimum-budget, minimum-distance and minimum-stop recommendations.재료명을 상점 데이터에 연결하고 최저예산·최소거리·최소경유 기준을 분리해 결과를 비교하도록 구성했습니다.

Architecture decision기술 선택과 판단

Used Mapbox walking routes instead of straight-line distance so recommendations reflect traversable paths.직선거리 대신 Mapbox Directions의 도보 경로를 사용해 실제 이동 가능한 동선을 기준으로 계산했습니다.

Implementation constraint구현 제약

Resolved inconsistent ingredient and store records while fitting search, basket and route comparison into a mobile map interface.재료명 표현 차이와 상점 데이터의 불균일성을 정규화하고, 모바일 지도 위에 검색·경로·장바구니 흐름을 함께 배치했습니다.

Result결과

Delivered a live product where the same basket can be compared across three routing and purchase criteria.동일한 장바구니에 대해 세 가지 추천 기준과 예상 이동 동선을 지도에서 확인할 수 있게 구현했습니다.

Verified evidence확인 가능한 근거

The search, basket and route-comparison flow is available in the live product; the repository is private.라이브 제품에서 검색, 장바구니, 경로 비교 흐름을 직접 확인할 수 있습니다. 공개 저장소는 제공하지 않습니다.