Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

113 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌫️ FogWalk

걸을수록 지도의 안개가 걷히는 Fog of War 탐험형 관광 웹 서비스

사용자가 실제로 이동한 경로를 따라 지도의 안개가 실시간으로 해제되고, 숨겨진 명소를 발견하며 퀘스트를 수행하는 게임형 관광 플랫폼입니다. 외국인 관광객을 주요 타겟으로 4개 언어(한국어·영어·일본어·중국어)를 지원합니다.

✨ 핵심 기능

  • Fog of War 지도 탐험 — GPS를 10초 간격으로 수집해 이동 궤적을 따라 안개를 해제하고, 해제된 구역의 장소를 자동 발견
  • 퀘스트 · 레벨 시스템 — 장소 방문 퀘스트, 경험치·레벨·칭호·뱃지로 탐험 동기 부여
  • 혼잡 지역 표시 — 한국관광공사 방문자 집중률 데이터와 사용자 데이터를 결합해 혼잡 구역 시각화
  • 실시간 장소 추천 — 사용자 이동·방문 이력 기반 추천
  • 다국어 지원 — 한국어 / English / 日本語 / 中文
  • 탐험 통계 대시보드 — 방문 장소 수, 이동 거리, 탐험 면적(%) 시각화

🏗️ 시스템 아키텍처

 [Vue 3 + Kakao Map SDK]  ←─ REST ─→  [Django API]
        │                                   │
        │ GPS 위치 (10초 간격)                │
        ▼                                   ▼
      Kafka ──▶ Flink (실시간 스트림 처리) ──▶ PostgreSQL · Redis

 Airflow (배치 파이프라인)
   ├─ 한국관광공사 TourAPI 관광지 데이터 수집 (다국어)
   ├─ 장소 임베딩 생성
   └─ Elasticsearch 인덱싱 (장소 검색)

 Spark · Hadoop — 대용량 배치 분석

🛠️ 기술 스택

영역 기술
Frontend Vue 3, Vite, Pinia, Kakao Map SDK
Backend Django, Django REST Framework
실시간 처리 Kafka, Flink
배치 파이프라인 Airflow, Spark, Hadoop
저장소 PostgreSQL, Redis, Elasticsearch, MinIO
인프라 Docker Compose
외부 데이터 한국관광공사 TourAPI, Kakao Maps API

📁 프로젝트 구조

.
├── collectors/              # 혼잡도 데이터 수집 스크립트
├── docs/                    # 기획·설계 산출물
│   ├── project_plan.md      #   서비스 기획서 · 기능 명세
│   ├── database/            #   ERD, 테이블 정의서
│   └── reference/           #   참고 자료
└── infra/
    ├── docker-compose.yml   # 전체 스택 진입점 (서비스별 compose include)
    ├── compose/             # 서비스별 compose 정의 (kafka, flink, airflow, ...)
    ├── docker_image/        # 커스텀 도커 이미지 (Flink 등)
    └── volumes/             # 컨테이너 마운트 소스
        ├── django/          #   백엔드 애플리케이션
        ├── vue/vue-project/ #   프론트엔드 애플리케이션
        └── airflow/dags/    #   데이터 파이프라인 DAG

🚀 실행 방법

1. 환경변수 설정

# 인프라 (API 키, Airflow 설정)
cp infra/compose/.env.example infra/compose/.env

# 프론트엔드 (Kakao Map JavaScript 키)
cp infra/volumes/vue/vue-project/.env.example infra/volumes/vue/vue-project/.env

각 파일을 열어 Kakao Developers 키, 한국관광공사 TourAPI 키 등을 채워주세요.

2. 전체 스택 실행

cd infra
docker compose up -d

3. 접속

서비스 주소
프론트엔드 http://localhost:5173
Django API http://localhost:8000
Airflow UI http://localhost:8080
Flink 대시보드 http://localhost:8081
Elasticsearch http://localhost:9200

📄 문서


SSAFY 15기 관통 프로젝트

About

걸을수록 안개가 걷히는 Fog of War 탐험형 관광 웹 · RAG 추천/검색 · 다국어(ko/en/ja/zh) — Django·Vue·pgvector·Elasticsearch

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages