Skip to content

helloLucas/find_me

Repository files navigation

FIND ME : VOID CITY Banner

🐶🐕 FIND ME : VOID CITY 🐕🐶

미스터리한 도시 속에서 사라진 흔적을 쫓는 OS 시뮬레이션 스토리 게임

React TypeScript Zustand Tailwind CSS

Spring Boot PostgreSQL Redis

Kubernetes Docker Jenkins ELK Stack Prometheus Grafana


📽️ 프로젝트 소개

**"FIND ME : VOID CITY"**는 가상의 운영체제 환경에서 진행되는 인터랙티브 스토리 게임입니다. 사용자는 'VOID CITY'라는 도시 속에 숨겨진 진실과 사라진 'Lucas'의 흔적을 찾아야 합니다.

🎬 프로젝트 영상

게임 소개 프롤로그
게임 소개 영상 보기 프롤로그 영상 보기

👥 등장인물 및 관계도

인물 관계도

✨ 주요 특징

💻 OS Simulation Interface

  • 실제 데스크탑 환경과 유사한 인터페이스를 제공하여 몰입감을 극대화합니다.
  • 창 크기 조절, 드래그 앤 드롭, 아이콘 클릭 등 직관적인 상호작용을 지원합니다.

⌨️ Terminal

  • 게임 내 터미널을 통해 명령어를 입력하고 데이터를 추출하는 시뮬레이션 기능을 제공합니다.
  • 단서를 조합하여 숨겨진 파일과 메시지에 접근하세요.

🧩 Minigames & Story Puzzles

  • 스토리를 진행하며 다양한 미니게임과 과제를 해결해야 합니다.
  • 각 챕터별로 새롭게 주어지는 과제들이 플레이어의 추리력을 시험합니다.


🛠️ 기술 스택

Frontend

  • Framework: React 19 (Vite)
  • State Management: Zustand
  • Data Fetching: TanStack Query (v5)
  • Styling: Tailwind CSS 4, CSS Modules
  • Interactive: React Rnd (Resizable/Draggable), Framer Motion
  • Internationalization: i18next

Backend

  • Core: Java 21, Spring Boot 3.5
  • Database: PostgreSQL (JPA), Redis (Cache/Session)
  • Security: Spring Security, JWT, OAuth2 Client
  • Cloud Storage: AWS S3 (Assets/Media)

Infrastructure & DevOps

  • Containerization: Docker, Kubernetes (EKS)
  • CI/CD: Jenkins Pipeline
  • Monitoring & Logging: ELK Stack (Elasticsearch, Logstash, Kibana), Prometheus, Grafana
  • CDN: HLS.js for optimized video streaming

🏗️ 아키텍처

아키텍처

📊 로그 수집 및 모니터링

🪵 실시간 게임 로그 수집 (ELK Stack)

  • 수집 파이프라인: [Spring Boot][Filebeat][Logstash][Elasticsearch][Kibana]

📈 시스템 & 서비스 모니터링 (Prometheus & Grafana)

  • 하이브리드 모니터링: EKS 노드 자원 상태부터 Spring Boot Actuator 메트릭까지 단일 Grafana 대시보드에 통합하여 이상 징후 조기 감지 및 신속한 트러블슈팅을 지원합니다.

🤖 데이터 기반 자동화 유저 힌트 시스템

  • 병목 구간 감지: Python hint-worker (K8s CronJob)가 유저 실패율, 이탈률 등을 분석하여 플레이어가 가장 많이 막히는 구간을 탐지합니다.
  • 유저용 힌트 발송: Gemini API로 생성한 게임 속 조력자 'Lucas'의 은유적 힌트를 Mattermost 플레이어 채널로 자동 발송합니다.
  • 개발자용 리포트 제공: 상세 분석 리포트를 팀 채널로 전송하여 비정상 구간의 난이도 조정을 유기적으로 지원합니다.

🚀 시작하기

사전 준비

  • Node.js (v20+)
  • Java 21
  • Docker & Docker Compose

실행 방법

  1. 레포지토리 클론

    git clone https://github.com/helloLucas/find_me.git
    cd find_me
  2. 프론트엔드 실행

    cd frontend
    npm install
    npm run build
    npm run preview
  3. 백엔드 실행

    cd backend
    docker compose -f docker-compose.local.yml up --build -d

👥 팀원 소개

김아린 Avatar
김아린
민웅기 Avatar
민웅기
박서현 Avatar
박서현
유동훈 Avatar
유동훈
이유진 Avatar
이유진
이재용 Avatar
이재용

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors