[Ios App] 어플 설계
[Ios App] 어플 설계
App 특징
- 사용자에게 youtube 영상을 보여주면서 한국어 스크립트와 일본어 번역본 제공
- 공부한 단어는 개인 단어장 기능
개발 순서
- 전체 플로우 설계
- 어플의 주요 기능 정리:
- YouTube 영상 가져오기
- 영상 대본과 번역본 표시
- 데이터 추가 및 관리(JSON 파일 저장/불러오기)
- 데이터베이스 설계
데이터베이스는 앱의 핵심 데이터 구조를 정의하는 부분이므로, 우선적으로 설계
- 데이터 모델 설계
- 어떤 데이터를 저장할지 모델화
- JSON 데이터와의 연동
- JSON 파일 구조 정의
- 데이터 흐름 구상
- JSON 데이터를 로컬 스토리지(SwiftData)에 저장한 후 앱에서 이를 표시
- CloudKit 연동(추후 확장 가능)을 고려한 설계
- UI 설계
- 단어장, youtube 영상 재생 뷰, 대본 번역본 표시 등
- 상세페이지, 목록페이지, 단어장페이지, 홈화면 등
- 기본 기능 구현
데이터 모델과 UI가 어느 정도 정리되면 주요 기능을 하나씩 구현
- YouTube 영상 가져오기:
- YouTube Data API를 통해 영상 메타데이터를 가져오고 재생.
- 대본/번역 JSON 파일 불러오기:
- JSON 데이터를 읽어와 SwiftData에 저장.
- 대본 및 번역 표시:
- 불러온 데이터를 UI에 연결.
- 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": "감사합니다 모두 행복하세요..." }
]
}
프로젝트 생성 환경
This post is licensed under CC BY 4.0 by the author.