서비스명
팝Pin
한줄 소개
문화 행사와 팝업스토어 정보를 쉽게 접근할 수 있도록 도와, 문화 참여 기회를 놓친 사람들에게 더 많은 경험을 제공하는 웹 서비스입니다.

개발 동기
많은 사람들은 문화 행사나 팝업스토어의 짧은 운영 기간과 제한된 정보로 인해 원하는 행사에 참여하지 못하는 경험을 많이 겪습니다. 예를 들어, 특정 지역에서 열리는 축제나 팝업스토어의 일정이나 위치 정보가 부족하거나 미리 알지 못한 경우, 참여 기회를 놓치게 됩니다. 이러한 문제는 특히 짧은 기간 동안만 열리는 문화 행사에 더욱 두드러집니다. 사람들은 행사 기간과 장소를 정확히 알지 못해 참여를 포기하거나, 행사 종료 후에야 정보를 알게 되어 아쉬운 경험을 하기도 합니다.
이와 같은 경험을 통해, 행사 정보의 부족이나 제한된 시간대에 따른 참여의 어려움이 점점 더 큰 문제로 다가온다는 사실을 깨닫게 되었습니다. 이를 해결하기 위해서는 문화 행사와 팝업스토어에 대한 정보 접근성을 높이고, 시각적인 기간 확인을 제공하는 시스템이 필요합니다. 저는 이러한 문제를 해결하고자, 사용자가 쉽게 행사 정보를 찾고 참여할 수 있도록 돕는 웹 애플리케이션을 개발하게 되었습니다.
사용 기술 :
Front - React
Back - Python, Flask, Beautiful Soup, Playwright
AI - OpenAI, ChatGPT
구현 내용 :
- Flask
- HTTP 서버로 사용
request.get_json(): 클라이언트로부터 받은 JSON 데이터를 파싱하여 처리jsonify(): Python 객체를 JSON 형식으로 변환하여 HTTP 응답으로 반환
- AI
- OpenAI GPT-3: 자연어 처리 및 텍스트 기반의 질의 응답 및 다양한 언어 처리 작업
- 축제의 정보 요약 기능
- OpenAI 모델은 특정 축제의 메타데이터(ex. 제목, 날짜, 장소 등)를 기반으로, 핵심 정보를 추출하고 재구성
- 사용자가 제공한 축제 정보를 분석하여 간단한 설명이나 요약을 반환
- 검색어 기반 추천 검색
ChatCompletion: 사용자로부터 받은 검색어에 맞는 축제 추천- 사용자가 제공한 검색어와 축제 데이터를 분석하여, 이를 축제의 메타데이터(제목, 주제, 카테고리 등)와 매칭
- 검색어와 관련성이 높은 축제를 우선순위를 매긴 후 검색 결과에 표시
- 크롤링
- 비동기 처리
- 양이 많은 시간 줄이기
- 크롤링
beautiful soup: 정적 HTMLplaywright: 동적 웹 페이지의 데이터를 크롤링- 정규화 :
re.search()re.match()
- 비동기 처리
- Kakao API
- 키워드를 통해 위도, 경도 추출
- 달력 (Calendar)
- 기술 스택: react-calendar, CSS
- React에서 날짜를 선택하고 해당 날짜에 관련된 이벤트 정보를 표시하는 기능 구현
- react-calendar를 사용하여 달력을 렌더링하고, 각 날짜에 대해 이벤트가 있는지 체크한 후, 해당 날짜에 이벤트 아이콘을 표시
- EventIndicator 컴포넌트를 생성 후 사용
- 이를 통해 → 사용자가 월별 달력에서 축제 이벤트를 한 눈에 파악할 수 있게 도와줌
- 하버사인 공식 (Haversine Formula)
- 기술 스택: React
- 위도, 경도 값을 기반으로 거리 계산을 위해 사용
- 두 지점 간의 거리를 구면좌표계에서 계산하여 보다 정확한 거리 측정
- 사용자의 위치와 각 축제의 위치를 비교하여 5km 이내에 있는 축제들만 필터링하여 보여줌
- 이를 통해 → 사용자가 주변 축제를 쉽게 찾을 수 있도록 도와주며, 사용자 위치를 기준으로 인근의 축제들을 자동으로 필터링
- 구글 맵, 네이버/구글 검색
- 기술 스택: React, URL 인자 전송
- 각 축제의 상세 페이지에서 구글 맵, 네이버/구글 검색을 통해 관련된 정보를 찾아볼 수 있는 기능을 제공
- 위도와 경도 값을 이용하여 구글 맵에서 길 찾기 링크 생성
- 축제에 대해 더 많은 정보를 구글 또는 네이버에서 찾을 수 있도록 검색 링크 제공
- 이를 통해 → 사용자에게 축제의 위치 정보를 확인시켜주고, 관련된 정보를 구글과 네이버에서 손쉽게 찾을 수 있도록 유도
- D-Day 계산
- 오늘 날짜와 축제의 날짜를 받아서, 시각적으로 행사의 기간을 알 수 있도록 함
- react의 날짜 계산에서 문제점인 00시 00분으로 설정되어 D-Day가 이상하게 표시되는 문제 해결
- 정보 접근성 향상
- 문화 행사 정보가 통합되어 정보 접근 용이
- 문화 참여 촉진
- 위치 기반 서비스 기능을통해 사용자 주변 이벤트를 알려줌으로써 참여율 증가
- 지역 경제 활성화
- 지역 상점과 상권 활성화, 관광업 발전 유도
문화 생활의 참여율이 늘어남에 따라 더 많은 문화가 우리 지역으로 들어오게 될 것이라고 생각합니다.