유레카엔터프라이즈
사업철학업무방식AI 워크플로우기술 스펙포트폴리오
유레카엔터프라이즈 주식회사

기술과 책임감으로 신뢰를 쌓아가는 소프트웨어 개발 파트너

대표
한장현
사업자등록번호
888-86-01529

Navigation

Home사업철학업무방식AI 워크플로우기술 스펙포트폴리오

Contact

andy@ureca.im02-6736-0701

#705, Pine Square Bldg. A,
22 Magokjungang 4-ro,
Gangseo-gu, Seoul, Korea

View on Map

© 2026 유레카엔터프라이즈. All rights reserved.

Building with purpose

포트폴리오 목록
모바일 앱
2025.11 — 진행중

위드 (WITH)위드 (WITH)

혼자 여행 가기 심심할 때 동행을 모집하는 매칭 플랫폼

AWSFlutterNest.jsGitHub Actions

고객사의 요청으로 링크는 제공되지 않습니다

프로젝트 개요

**위드 (WITH)**는 혼자 여행 가기 아쉬운 사람들을 위한 동행 매칭 플랫폼입니다. 같은 목적지로 여행하는 동행자를 찾거나, 여행사가 주최하는 그룹 투어에 참여할 수 있는 서비스를 제공합니다. 일반 회원은 동행을 모집하고, 여행사는 패키지 투어를 운영하여 새로운 형태의 여행 경험을 만들어냅니다.


서비스 흐름도


주요 기능

1. 회원 관리 시스템

  • 소셜 로그인: 카카오와 Apple 계정으로 간편하게 가입할 수 있습니다. 기존 소셜 계정의 프로필 정보를 가져와 초기 설정 과정을 줄여줍니다.
  • 회원 유형 구분: 일반 회원과 여행사 회원으로 구분되며, 각각 다른 권한과 기능을 사용합니다. 여행사는 투어 패키지 등록 및 관리 권한을 가집니다.
  • 본인 인증: PortOne을 통해 휴대폰 본인 인증을 진행합니다. 허위 가입을 방지하고 신뢰도 높은 회원 환경을 조성합니다.
  • 프로필 관리: 여행 스타일, 관심사, 자기소개 등을 설정할 수 있습니다. 상세한 프로필은 동행 매칭 시 신뢰도를 높이는 데 도움이 됩니다.

2. 동행 매칭 기능

  • 모집글 작성: 여행 일정, 목적지, 인원, 예산 등을 포함한 모집글을 작성합니다. 상세한 정보를 제공하여 적합한 동행자를 찾을 수 있습니다.
  • 검색 및 필터링: 목적지, 날짜, 예산 범위, 여행 스타일 등 다양한 조건으로 모집글을 검색합니다. 원하는 조건에 맞는 동행을 빠르게 찾을 수 있습니다.
  • 참여 신청 및 승인: 관심 있는 모집글에 참여 신청을 보내고, 모집자가 승인하면 동행이 확정됩니다. 승인 과정을 통해 서로 맞는 동행자를 선택할 수 있습니다.
  • 실시간 채팅: 동행이 확정된 후 여행 전 소통을 위한 채팅 기능을 제공합니다. 일정 조율이나 준비물 공유 등 사전 대화가 가능합니다.

3. 여행사 투어 패키지

  • 패키지 상품 등록: 여행사가 직접 그룹 투어 상품을 등록하고 관리합니다. 일정, 가격, 포함 사항 등을 상세하게 입력할 수 있습니다.
  • 예약 및 결제: 투어 상품을 예약하고 온라인으로 결제합니다. 다양한 결제 수단을 지원하여 편리한 결제 경험을 제공합니다.
  • 참가자 관리: 투어 참가자 명단을 관리하고 공지사항을 전달합니다. 여행사는 투어 진행에 필요한 정보를 참가자에게 안내할 수 있습니다.

4. 리뷰 및 평가 시스템

  • 동행 후기: 여행 종료 후 동행자에 대한 평가와 리뷰를 작성합니다. 솔직한 후기는 다른 사용자가 동행자를 선택하는 데 참고 자료가 됩니다.
  • 여행지 리뷰: 방문한 여행지에 대한 후기와 여행 팁을 공유합니다. 실제 경험을 바탕으로 한 정보를 다른 여행자와 나눌 수 있습니다.
  • 신뢰도 점수: 누적된 리뷰를 바탕으로 회원 신뢰도를 점수로 표시합니다. 신뢰도가 높은 회원일수록 동행 매칭 가능성이 높아집니다.

5. 관리자 대시보드

  • 회원 관리: 일반 회원과 여행사 계정을 관리합니다. 회원 정보 조회, 정지, 탈퇴 처리 등을 수행할 수 있습니다.
  • 콘텐츠 모니터링: 부적절한 모집글이나 리뷰를 확인하고 조치합니다. 신고 접수된 콘텐츠를 검토하여 서비스 품질을 유지합니다.
  • 통계 및 분석: 서비스 이용 현황과 주요 지표를 확인합니다. 회원 가입 추이, 모집글 작성 수, 투어 예약 현황 등을 대시보드에서 한눈에 파악할 수 있습니다.

플랫폼 구성

서비스 구성

구분기술 스택설명
모바일 앱React NativeiOS/Android 크로스 플랫폼 앱
관리자 웹Next.js관리자용 대시보드
백엔드 APINestJS + TypeScriptClient/Admin 분리된 API 서버
데이터베이스PostgreSQL + TypeORM관계형 데이터 저장
파일 스토리지AWS S3이미지 및 첨부파일 저장
이메일AWS SES알림 및 안내 메일 발송
메시지 큐AWS SQS비동기 작업 처리
소셜 로그인Kakao, Apple간편 로그인
결제/인증PortOne본인인증 및 결제 연동

기술적 선택과 이유

NestJS + TypeScript 모노레포 아키텍처

선택 이유: 클라이언트 앱, 관리자 대시보드, 백엔드 서버가 동일한 도메인 로직을 공유해야 했습니다. NestJS의 모듈화된 구조와 TypeScript의 타입 안정성을 활용하여 코드 재사용성을 높이고, 모노레포로 구성하여 도메인 로직, 공통 유틸리티, 각 애플리케이션을 명확하게 분리했습니다.

실무 효과:

  • 회원 인증, 권한 관리 등 공통 로직을 Core 모듈에서 한 번만 구현
  • 타입 정의를 공유하여 프론트엔드-백엔드 간 인터페이스 불일치 방지
  • 새로운 기능 추가 시 영향 범위를 명확하게 파악 가능

AWS 인프라 활용

선택 이유: 여행 사진 업로드, 대량 알림 발송, 결제 후 처리 등 다양한 비동기 작업을 안정적으로 처리해야 했습니다. AWS의 관리형 서비스를 활용하여 인프라 관리 부담을 줄이고, 트래픽 증가에 유연하게 대응할 수 있는 구조를 구축했습니다.

실무 효과:

  • S3: 여행 사진 등 대용량 파일을 Pre-signed URL로 안전하게 업로드
  • SQS: 이메일 발송, 알림 등을 큐에 쌓아 비동기 처리하여 API 응답 속도 개선
  • SES: 예약 확정, 취소 등 중요 알림을 안정적으로 전달

TypeORM + PostgreSQL

선택 이유: 회원, 모집글, 투어, 리뷰 등 복잡한 관계를 가진 데이터 구조를 다뤄야 했습니다. PostgreSQL의 관계형 데이터 처리 능력과 TypeORM의 타입 안전한 쿼리 빌더를 조합하여 안정적인 데이터 관리를 구현했습니다.

실무 효과:

  • Entity 정의만으로 TypeScript 타입과 DB 스키마를 동시에 관리
  • 트랜잭션을 통한 결제-예약 확정 등 민감한 작업의 데이터 정합성 보장
  • Migration 기능으로 스키마 변경 이력 관리 및 안전한 배포

PortOne 통합

선택 이유: 여행 서비스 특성상 본인 확인이 중요하고, 여행사 투어의 경우 온라인 결제가 필수적이었습니다. PortOne의 통합 API를 활용하여 본인인증과 결제를 하나의 서비스로 처리하고, 다양한 PG사를 쉽게 연동할 수 있도록 했습니다.

실무 효과:

  • 휴대폰 본인인증으로 허위 가입 방지
  • 신용카드, 계좌이체 등 다양한 결제 수단 지원
  • 결제 실패, 환불 등 예외 상황을 체계적으로 처리

Kakao/Apple 소셜 로그인

선택 이유: 여행 매칭이라는 서비스 특성상 회원 가입 과정이 간편해야 사용자 이탈을 줄일 수 있습니다. 국내 사용자가 가장 많이 사용하는 카카오와, iOS 필수인 Apple 로그인을 지원하여 가입 장벽을 낮췄습니다.

실무 효과:

  • 비밀번호 관리 부담 없이 안전한 인증 제공
  • 카카오톡 프로필 정보로 초기 프로필 자동 생성
  • 로그인 소요 시간 단축으로 사용자 경험 개선

프로젝트 특징

  • 분리된 관심사: Client API, Admin API, Core Domain을 명확하게 분리하여 각 계층의 책임을 명확히 하고 유지보수성을 향상
  • 타입 안전성: TypeScript와 TypeORM을 통한 엔드투엔드 타입 안전성 확보로 런타임 오류 감소
  • 비동기 처리 아키텍처: AWS SQS를 활용한 비동기 작업 처리로 API 응답 속도 개선 및 안정적인 알림 발송
  • 재사용 가능한 모듈: UDS로 공통 유틸리티를 패키징하여 다른 프로젝트에서도 재사용 가능
  • 확장 가능한 구조: 모노레포 구조를 통해 새로운 앱 추가 시 Core 로직을 그대로 활용
  • 보안 중심 설계: JWT 인증, bcrypt 패스워드 해싱, 본인인증 등 다층 보안 체계 구축
  • 관리자 친화적: Swagger를 통한 자동 API 문서화 및 별도의 관리자 대시보드로 운영 효율성 향상