Post

[Ios App] 어플 설계

[Ios App] 어플 설계

App 특징

alt text

  • 사용자에게 youtube 영상을 보여주면서 한국어 스크립트와 일본어 번역본 제공
  • 공부한 단어는 개인 단어장 기능

개발 순서

  1. 전체 플로우 설계
  • 어플의 주요 기능 정리:
  • YouTube 영상 가져오기
  • 영상 대본과 번역본 표시
  • 데이터 추가 및 관리(JSON 파일 저장/불러오기)
  1. 데이터베이스 설계

데이터베이스는 앱의 핵심 데이터 구조를 정의하는 부분이므로, 우선적으로 설계

  • 데이터 모델 설계
    • 어떤 데이터를 저장할지 모델화
  • JSON 데이터와의 연동
    • JSON 파일 구조 정의
  • 데이터 흐름 구상
    • JSON 데이터를 로컬 스토리지(SwiftData)에 저장한 후 앱에서 이를 표시
    • CloudKit 연동(추후 확장 가능)을 고려한 설계
  1. UI 설계
    • 단어장, youtube 영상 재생 뷰, 대본 번역본 표시 등
    • 상세페이지, 목록페이지, 단어장페이지, 홈화면 등
  1. 기본 기능 구현

데이터 모델과 UI가 어느 정도 정리되면 주요 기능을 하나씩 구현

  • YouTube 영상 가져오기:
    • YouTube Data API를 통해 영상 메타데이터를 가져오고 재생.
  • 대본/번역 JSON 파일 불러오기:
    • JSON 데이터를 읽어와 SwiftData에 저장.
  • 대본 및 번역 표시:
    • 불러온 데이터를 UI에 연결.
  1. Test
    • 주요 기능이 완성되면, XCTest를 활용해 각각의 유닛 테스트를 작성.
    • UI 테스트로 전체적인 흐름을 점검.

DB 통신 구조

  • 정확한 스크립트를 따오기 위해 음성 대본화 API 사용하는것 보다 내가 직접 매일 한국어 스크립트 제작
  • 번역은 AI에게 맡기고 데이터베이스에 JSON 형식으로 저장
1
2
3
4
5
6
7
8
9
{
  "video_id": "abc123",
  "page": 1,
  "transcript": [
    { "start_time": 0.0, "end_time": 60.0, "text": "안녕하세요, 오늘은 날씨가 ..." }
    { "start_time": 60.0, "end_time": 90.0, "text": "그래서 오늘은 ..." }
    { "start_time": 90.0, "end_time": 100.0, "text": "감사합니다 모두 행복하세요..." }
  ]
}

프로젝트 생성 환경

1

This post is licensed under CC BY 4.0 by the author.