Posts

가격 비교 커뮤니티 Deal-Moa 개발 회고

쇼핑몰 할인 정보를 모아 공유하는 가격 비교 커뮤니티를 Node.js와 MongoDB로 구현한 팀 프로젝트 회고입니다.

프로젝트 개요

Deal-Moa는 여러 쇼핑몰의 할인 정보를 한곳에서 공유하고 비교할 수 있도록 만든 가격 비교 커뮤니티 웹 서비스입니다.

  • 기간: 2020-03 ~ 2020-10
  • 구분: 팀 프로젝트, 캡스톤 디자인
  • 역할: 외부 API 연동, 프론트엔드 개발
  • 성과: 교내 캡스톤 디자인 경진대회 우수상
  • 링크: GitHub

Deal-Moa 메인 화면

문제

온라인 쇼핑몰의 할인 정보는 여러 곳에 흩어져 있습니다. 사용자는 직접 여러 사이트를 확인해야 하고, 좋은 가격을 발견해도 이를 다른 사용자와 공유하고 이야기할 수 있는 공간은 제한적이었습니다.

팀은 이 문제를 "가격 정보의 분산"과 "커뮤니티 부재"로 정의했습니다. 단순 가격 검색 서비스가 아니라, 사용자가 직접 정보를 공유하고 반응할 수 있는 커뮤니티형 서비스를 목표로 했습니다.

구현

백엔드는 Node.js와 Express.js로 구성했고, 데이터베이스는 MongoDB를 사용했습니다. 화면은 HTML, CSS, JavaScript, EJS 기반으로 구현했습니다.

저는 외부 쇼핑몰 상품 정보를 가져오는 API 연동과 수집된 정보를 사용자에게 보여주는 프론트엔드 개발을 맡았습니다. 네이버쇼핑 OpenAPI와 11st OpenAPI를 활용해 상품 정보를 가져오고, 사용자가 비교하기 쉬운 형태로 화면에 표시하는 흐름을 구현했습니다.

Deal-Moa 상품 목록 화면

Deal-Moa 상세 화면

배운 점

이 프로젝트에서는 외부 API를 사용하는 기능이 단순 호출로 끝나지 않는다는 점을 배웠습니다. API 응답 구조를 이해하고, 필요한 데이터만 골라 서비스 화면에 맞게 가공해야 했습니다.

또한 팀 프로젝트에서는 코드 작성만큼 역할 분담과 인터페이스 합의가 중요했습니다. 백엔드, 데이터, 화면이 서로 연결되어 있었기 때문에 API 응답 형태와 화면 요구사항을 계속 맞춰가야 했습니다.

캡스톤 디자인 경진대회에서 우수상을 받으며, 구현한 기능이 실제 사용자 문제와 연결될 때 프로젝트의 설득력이 커진다는 점도 경험했습니다.