Skip to content

1 아키텍처_데이터 흐름도

Jina Ham edited this page Feb 18, 2026 · 2 revisions

Level-1 DFD 요약

image

개요

이 다이어그램은 ForDay 서비스의 주요 기능 흐름을 보여주는 Level-1 DFD이다.
사용자의 계정 생성부터 활동 기록, 그리고 다른 사용자와의 상호작용까지 전체 기능 구조를 표현한다.


주요 흐름 요약

1️⃣ 사용자 시작 단계

  • 사용자 로그인 → User 저장소
  • 온보딩에서 취미 입력 → Hobby 저장소 생성

2️⃣ AI 추천 단계

  • 취미 데이터를 기반으로 AI 활동 추천 요청
  • OpenAI가 추천 목록 반환
  • 추천 활동을 선택하여 Activity 저장

3️⃣ 활동 수행 및 기록

  • 사용자가 활동 수행
  • 활동 기록 생성 → Activity Record 저장

4️⃣ 소셜 상호작용

  • 다른 사용자가 활동 기록 조회
  • 활동 기록에 반응(Reaction) → Activity Record Reaction
  • 활동 기록 스크랩 → Activity Record Scrap

Level-2 DFD 요약 (AI 활동 추천)

image

개요

사용자가 취미 기반으로 AI 활동 추천을 요청할 때, 호출 제한 확인 → 데이터 조회 → AI 호출 → 결과 저장/반환까지의 내부 처리 흐름을 표현한다.


흐름 요약

1️⃣ 호출 가능 여부 확인

  • userSocialId + hobbyId로 AI 호출 횟수 확인
  • 남은 횟수가 없으면 기존 추천 목록 반환

2️⃣ 추천 요청 준비

  • Hobby 정보 조회
  • 해당 정보로 AI 프롬프트 생성

3️⃣ AI 추천 요청

  • OpenAI에 활동 추천 요청
  • 추천 활동 목록 반환

4️⃣ 결과 처리

  • 추천 결과를 ActivityRecommendItem 저장소에 저장
  • 사용자에게 추천 목록 반환

Level-2 DFD 요약 (활동 기록 생성)

image

개요

사용자가 활동 기록을 생성할 때, 오늘 이미 기록했는지 확인한 후 기록 가능 여부를 판단하고 저장하는 내부 처리 흐름을 표현한다.


흐름 요약

1️⃣ 기록 생성 요청

  • 사용자가 활동 기록 생성 요청

2️⃣ 오늘 기록 여부 확인

  • userId + hobbyId로 Redis에서 오늘 기록 존재 여부 조회

3️⃣ 분기 처리

  • 오늘 기록 있음 → 활동 기록 거부
  • 오늘 기록 없음 → 기록 가능 처리

4️⃣ 기록 생성

  • 오늘 기록 여부를 Redis에 저장
  • 요청 데이터를 기반으로 Activity Record 저장소에 기록 생성

Level-2 DFD 요약 (주간 사용자 요약 생성)

image

개요

사용자의 최근 활동 기록을 기반으로 AI가 주간 요약을 생성하고, 이미 생성된 요약이 있으면 재사용하는 흐름을 나타낸다.


흐름 요약

1️⃣ 주간 요약 요청

  • 사용자가 주간 요약 정보 요청

2️⃣ 기존 요약 존재 여부 확인

  • Redis(UserSummaryAIService)에 저장된 요약 확인
  • 있으면 → 바로 반환
  • 없으면 → 활동 기록 조회 진행

3️⃣ 활동 데이터 수집

  • 최근 7일 이내 Activity Record 조회

4️⃣ AI 요약 생성

  • 활동 데이터를 기반으로 프롬프트 생성
  • OpenAI 요청 → 요약 결과 반환

5️⃣ 결과 저장 및 반환

  • 생성된 요약을 Redis에 저장(캐싱)
  • 사용자에게 요약 결과 전달

Clone this wiki locally