"1분반-우리어때"의 두 판 사이의 차이

cdc wiki
이동: 둘러보기, 검색
(프로젝트 개요)
(지도교수)
10번째 줄: 10번째 줄:
  
 
===지도교수===
 
===지도교수===
최혁 교수님
+
김민호 교수님
  
 
===개발기간===
 
===개발기간===

2026년 6월 18일 (목) 21:29 판

프로젝트 개요

기술개발 과제

국문 : 우때

영문 : Uttae

과제 팀명

우리어때

지도교수

김민호 교수님

개발기간

2026년 3월 ~ 2026년 6월 (총 4개월)

구성원 소개

서울시립대학교 컴퓨터과학부 2020920007 김민형(팀장)

서울시립대학교 컴퓨터과학부 2020920020 문재영

서울시립대학교 컴퓨터과학부 2021920029 박주영

서울시립대학교 컴퓨터과학부 2021430021 송희영

서론

개발 과제의 개요

개발 과제 요약

  • 본 개발 과제는 여러 사용자가 하나의 여행 방에서 지도, 채팅, 보관함, 일정표를 함께 사용하며 여행 계획을 세울 수 있는 협업형 여행 계획 플랫폼 우때(Uttae)를 개발하는 것이다.
  • 사용자는 Google OAuth 기반 로그인 후 여행 방을 생성하고, 초대 코드를 통해 팀원을 초대할 수 있다.
  • 방 안에서는 장소 검색, 장소 공유, 후보지 보관, 일자별 일정 편집, 실시간 채팅을 수행할 수 있다.
  • 본 서비스는 지도 기반 장소 탐색, 실시간 채팅, Drag and Drop 기반 일정 편집, WebSocket/STOMP 기반 실시간 동기화, AI 기반 채팅 요약 및 장소 추천 기능을 결합한다.
  • 이를 통해 카카오톡, 지도 앱, 엑셀, 메모장 등 여러 도구에 분산되던 여행 계획 과정을 하나의 협업 환경으로 통합하는 것을 목표로 한다.

개발 과제의 배경

  • 기존 여행 계획 방식은 장소 검색, 후보지 저장, 팀원 의견 조율, 일정 배치, 이동 시간 확인이 각각 다른 앱과 채팅방에 흩어지는 경우가 많다.
  • 일반 메신저는 팀원 간 의견 교환에는 적합하지만, 장소 정보와 일정표를 구조화하여 관리하기 어렵다.
  • 일반 지도 서비스는 장소 검색과 경로 확인에는 강점이 있으나, 팀 단위 채팅, 후보지 분류, 일정 편집, 실시간 협업 기능은 제한적이다.
  • 여행 일정 앱은 일정표 작성에는 강점이 있으나, 실시간 채팅과 AI 요약, 대화 맥락 기반 추천 기능이 부족할 경우 공동 의사결정 흐름을 충분히 담기 어렵다.
  • 이에 따라 본 과제는 지도, 채팅, 일정, 보관함, AI 기능을 하나의 서비스 안에 통합하여 여행 계획의 탐색, 논의, 결정, 일정화를 자연스럽게 연결하는 플랫폼을 개발하고자 한다.

개발 과제의 목표 및 내용

  • 본 과제의 목표는 소규모 그룹 사용자가 여행 계획을 실시간으로 함께 수립할 수 있는 웹 기반 협업 플랫폼을 구현하는 것이다.
  • Google OAuth, JWT, Refresh Token Rotation, Redis 기반 세션 관리를 통해 사용자 인증과 방 단위 접근 권한을 통제한다.
  • 사용자는 방 생성, 초대 코드 기반 입장, 입장 요청 승인 및 거절, 멤버 관리, 방장 위임 등의 협업 방 관리 기능을 사용할 수 있다.
  • Google Places API와 Routes API를 활용하여 장소 검색, 장소 상세 정보 조회, 사진 확인, 이동 정보 조회 기능을 제공한다.
  • 검색한 장소는 보관함에 저장하거나 채팅으로 공유할 수 있으며, 일정표에 추가할 수 있다.
  • 일자별 여행 일정은 Drag and Drop 방식으로 순서를 변경하거나 다른 날짜로 이동할 수 있다.
  • WebSocket/STOMP 기반 실시간 통신을 통해 채팅, 일정 변경, 장소 공유, 멤버 상태 변경 등의 이벤트를 모든 참여자에게 동기화한다.
  • FastAPI 기반 AI 서버를 Spring Boot 백엔드와 분리하여 운영하며, AI 서버는 채팅 요약, 여행 관련 질문 응답, 장소 추천, 비여행 질문 거절 기능을 담당한다.

관련 기술의 현황

관련 기술의 현황 및 분석(State of art)

  • 전 세계적인 기술현황
    • 최근 생성형 AI 서비스는 단순 질의응답을 넘어 사용자의 의도를 분석하고 외부 API나 도구를 선택적으로 호출하는 Agentic Workflow 형태로 발전하고 있다.
    • OpenAI Function Calling, LangChain, LangGraph 등은 복잡한 다단계 추론과 도구 호출을 통해 실제 업무 수행에 가까운 AI 에이전트 구현을 가능하게 한다.
    • 여행 및 모빌리티 서비스 분야에서는 지도 시각화, 장소 검색, 장소 상세 정보 조회, 이동 시간 계산을 통합하는 Location Intelligence 기술이 핵심 요소로 자리 잡고 있다.
    • Google Places API와 Routes API를 활용하면 장소 탐색, 위치 기반 추천, 경로 계산, 일정 최적화 기능을 구현할 수 있다.
    • 다수 사용자가 동시에 참여하는 협업 서비스에서는 WebSocket과 STOMP 기반 실시간 양방향 통신이 널리 사용되고 있다.
    • 데이터 저장 측면에서는 데이터 특성에 따라 PostgreSQL/PostGIS, MongoDB, Redis 등을 조합하는 Polyglot Persistence 구조가 확산되고 있다.
  • 특허조사 및 특허 전략 분석
    • 관련 선행 특허로는 AI 기반 맞춤형 여행 일정 추천 시스템, 개인화 여행 일정 추천 기술, 협업형 여행 계획 시스템, 대화형 여행 인터페이스 시스템 등이 조사되었다.
    • 기존 특허들은 주로 사용자 정보, 선호도, 여행 장소 정보, 행사 및 콘텐츠 정보를 활용해 여행 일정을 자동 생성하거나, 그룹 여행 계획에서 목적지 목록을 생성하고 여행 검색 결과를 공유하는 구조에 초점을 둔다.
    • 따라서 본 과제의 특허 전략은 단순한 여행 일정 추천이나 지도 기반 장소 탐색을 권리화하기보다는, 협업형 대화 맥락 처리, 실시간 UI 반영, AI 요약 및 추천 결과가 여행 방의 상태와 연결되는 구조에 초점을 두는 것이 적절하다.
    • 특히 AI가 채팅 맥락, 일정, 보관함, 장소 메타데이터를 입력으로 받아 의도를 분류하고, 필요한 도구를 호출한 뒤 결과를 채팅 및 일정 관리 흐름에 반영하는 방식이 차별화 요소가 될 수 있다.
  • 기술 로드맵
    • 1단계: Google OAuth 로그인, 방 생성, 초대 코드 기반 입장, 멤버 관리, 기본 장소 검색 및 일정 편집 기능 구현
    • 2단계: MongoDB 기반 채팅 메시지 저장, WebSocket/STOMP 기반 실시간 브로드캐스트, 읽음 위치 관리, 안 읽은 메시지 수 표시, 재접속 시 누락 메시지 복구 기능 구현
    • 3단계: 보관함 카테고리, 장소 공유, Drag and Drop 일정 편집, 일정 항목의 다른 일자 이동, 이동 정보 조회 및 Redis 캐시 기능 구현
    • 4단계: AI 요청 큐와 방별 처리 lock 적용, 채팅 자동 요약, 장소 추천, 요약 조회, 여행 관련 일반 대화, 비지원 질문 거절 기능 구현
    • 5단계: Docker Compose 기반 운영 배포, Caddy edge proxy, Prometheus/Grafana/Loki/Alloy 기반 관측성, rate limit, 장애 대응 정책 고도화

시장상황에 대한 분석

  • 경쟁제품 조사 비교
    • 경쟁 제품은 Google Maps와 같은 일반 지도 서비스, 카카오톡과 같은 일반 메신저, Wanderlog와 같은 여행 일정 앱, TripIt과 같은 예약·여정 관리 서비스로 구분할 수 있다.
    • Google Maps는 글로벌 장소 데이터, 리뷰, 경로 탐색, 자연어 내비게이션에 강점이 있으나, 여행 그룹의 의사결정 과정이나 채팅 기반 협업 워크플로우는 상대적으로 약하다.
    • 일반 메신저는 팀원 간 의견 조율에는 강점이 있으나, 장소 데이터와 일정표가 구조화되지 않아 나중에 결정 사항을 다시 찾기 어렵다.
    • Wanderlog는 일정, 지도, 협업, AI, 예산 기능이 한 앱에 통합되어 있다는 장점이 있으나, 채팅방 멘션 기반 실시간 공동 의사결정 흐름은 상대적으로 약하다.
    • TripIt은 예약 정보와 여정을 자동으로 수집하고 정리하는 데 강점이 있으나, 실시간 그룹 협업, 지도 연동 장소 추천, 채팅 기반 일정 조율 기능은 제한적이다.
    • 우리어때는 지도, 채팅, 보관함, 일정표, AI 요약 및 추천을 하나의 화면에서 제공하여 팀 단위 여행 계획의 탐색·논의·결정·일정화 과정을 통합적으로 지원한다는 점에서 차별성을 가진다.
  • 마케팅 전략 제시
    • 주요 타깃은 친구, 가족, 동아리, 학생회, 팀 단위로 여행을 준비하는 20~30대 소규모 그룹 사용자이다.
    • 특히 여러 명이 함께 여행 계획을 세우면서 카카오톡, 지도 앱, 엑셀, 메모장을 오가는 불편함을 경험한 사용자를 핵심 타깃으로 설정한다.
    • 마케팅 메시지는 “하나의 사이트에서 여행계획 끝”, “지도와 채팅을 오가며 정리하는 번거로움 해결”, “팀원들과 실시간으로 여행을 기획”과 같이 기존 여행 계획 방식의 불편함을 직접적으로 해결한다는 점을 강조한다.
    • 초기 확산 전략으로는 대학생, 동아리, 학생회, 여행 커뮤니티와 같은 공동 의사결정이 많은 사용자 집단을 중심으로 베타 테스트를 진행한다.
    • 이후 SNS 광고, 지도·여행 인플루언서 체험형 콘텐츠, 여행 동행 커뮤니티 제휴 등을 통해 사용자를 확대한다.
    • 수익화 전략은 기본 팀 기능은 무료로 제공하되, 고급 비교 기능, 리포트, 히스토리 관리, AI 추천 고도화 기능 등을 구독 모델로 확장하는 방식이 가능하다.
    • 장기적으로는 여행사, 숙박업체, 지역 관광 업체와의 B2B 제휴 및 광고 모델로 확장할 수 있다.

개발과제의 기대효과

기술적 기대효과

  • 본 과제는 Frontend, Spring Backend, AI Server를 분리한 구조로 설계하여 각 영역의 책임을 명확히 하고 확장성을 확보하였다.
  • 프론트엔드는 사용자 화면과 클라이언트 상태 관리를 담당하고, Spring Boot 백엔드는 인증·권한·도메인 데이터·실시간 이벤트 전파의 source of truth 역할을 수행한다.
  • FastAPI 기반 AI 서버는 의도 분류, 요약, 장소 추천, 외부 도구 호출을 담당한다.
  • PostgreSQL/PostGIS, MongoDB, Redis를 목적별로 분리하여 저장소의 역할을 명확히 하였다.
  • 관계형 도메인 데이터는 PostgreSQL/PostGIS에 저장하고, 채팅 메시지와 AI 맥락 데이터는 MongoDB에 저장하며, 토큰·세션·접속 상태·캐시·AI 요청 queue/lock은 Redis를 활용한다.
  • WebSocket/STOMP 기반 실시간 브로드캐스트를 통해 채팅, 일정, 보관함, 멤버 상태 변경을 즉시 동기화할 수 있다.
  • AI 측면에서는 단순 LLM 호출 서버가 아니라 intent routing, context selection, summary 관리, tool calling, 후보 검증, 응답 계약을 포함한 여행 계획용 오케스트레이션 서버를 설계하였다.

경제적, 사회적 기대 및 파급효과

  • 본 서비스는 여행 계획에 필요한 장소 탐색, 정보 공유, 일정 조율 시간을 줄여 소규모 그룹 여행 준비의 생산성을 높일 수 있다.
  • 기존에는 여러 앱을 오가며 장소를 검색하고, 채팅방에서 의견을 나누고, 별도의 문서나 엑셀에 일정을 정리해야 했지만, 우리어때는 이 과정을 하나의 화면에서 처리할 수 있도록 한다.
  • 대화와 일정이 분리되지 않기 때문에 의사결정 이력이 보존되고, 늦게 합류한 팀원도 AI 요약과 후보지 정보를 통해 빠르게 여행 맥락을 파악할 수 있다.
  • 이는 팀원 간 정보 비대칭을 줄이고 공동 의사결정 과정을 효율화하는 효과를 가진다.
  • 사회적으로는 지도, 채팅, AI를 결합한 협업 경험을 여행뿐 아니라 모임 장소 선정, 현장 답사, 팀 프로젝트 일정 조율, 행사 준비 등 다양한 협업 상황으로 확장할 수 있다.
  • 경제적으로는 초기에는 무료 협업 여행 계획 서비스로 사용자 기반을 확보하고, 이후 고급 AI 추천, 여행 리포트, 일정 히스토리, B2B 제휴, 광고 모델 등으로 수익화가 가능하다.

기술개발 일정 및 추진체계

개발 일정

  • 개발 기간은 2026년 3월부터 2026년 6월까지 총 4개월로 진행되었다.
  • 3월에는 과제 기획, 요구사항 정의, 서비스 구조 설계, 기술 스택 선정, 화면 설계, 기본 아키텍처 설계를 진행하였다.
    • 이 단계에서 Google OAuth 기반 인증, 방 생성 및 초대 코드 구조, 지도·채팅·일정·보관함 중심의 핵심 기능 흐름을 정의하였다.
  • 4월에는 프론트엔드, 백엔드, 데이터베이스, 실시간 통신의 핵심 기능을 구현하였다.
    • Google Places API 기반 장소 검색, 방 관리, 보관함, 일정 편집, WebSocket/STOMP 기반 실시간 채팅 및 이벤트 동기화 기능을 개발하였다.
  • 5월에는 AI 서버 기능과 외부 API 연동을 고도화하였다.
    • FastAPI 기반 AI 서버를 분리하고, 채팅 요약, intent 분류, 여행 관련 질문 응답, 장소 추천, 비여행 질문 거절 기능을 구현하였다.
  • Redis 캐시, 요청 제한, 이동 정보 조회 기능 등을 개선하였다.
    • 6월에는 배포 환경 구성, 서비스 안정화, 테스트, 사용자 설문, 포스터 제작, 최종 보고서 작성 및 발표 준비를 수행하였다.
    • 실제 서비스는 uttae.app 도메인을 통해 배포되었으며, 사용자 통계와 만족도 조사를 기반으로 결과를 평가하였다.

구성원 및 추진체계

  • 본 과제는 Frontend, Backend, AI Server 영역을 분리하여 병렬 개발하는 방식으로 추진하였다.
    • Frontend 담당은 Next.js 기반 화면 구현, 지도·채팅·일정·보관함 UI, 클라이언트 상태 관리, API 연동, 반응형 화면 개선을 수행하였다.
    • Backend 담당은 Spring Boot 기반 REST API, 인증/인가, 방/멤버/장소/북마크/일정/채팅 도메인, WebSocket/STOMP 기반 실시간 이벤트 처리를 구현하였다.
    • AI Server 담당은 FastAPI 기반 AI API, 채팅 요약, intent 분류, 장소 추천, OpenAI API 및 Google Places API 연동 기능을 구현하였다.
  • 전체 추진체계는 Git 기반 버전 관리, API 명세 공유, Docker Compose 기반 로컬 개발 환경, 기능별 테스트 및 시연을 중심으로 운영되었다.
  • 개발 결과는 Frontend, Backend, AI Server, Database, Redis, MongoDB, PostgreSQL/PostGIS, 관측성

설계

설계사양

제품의 요구사항

내용

설계 사양

내용

개념설계안

내용

이론적 계산 및 시뮬레이션

내용

상세설계 내용

내용

결과 및 평가

완료 작품의 소개

프로토타입 사진 혹은 작동 장면

내용

포스터

내용

관련사업비 내역서

내용

완료작품의 평가

내용

향후계획

내용

특허 출원 내용

내용