2171452 황요성
- CUrator는 YouTube, Instagram, Blog, Web 등 여러 플랫폼에 흩어진 “나중에 다시 보고 싶은 콘텐츠”를 한곳에 저장하고, 카테고리별로 정리할 수 있는 iOS 애플리케이션이다.
- 사용자는 콘텐츠 링크를 저장하고, 앱은 플랫폼 판별 및 카테고리 분류를 통해 저장한 콘텐츠를 다시 찾기 쉽게 관리할 수 있도록 도와준다.
- 20대 사용자는 유튜브 쇼츠, 인스타그램 릴스, 블로그 글, 웹사이트 등 다양한 플랫폼에서 콘텐츠를 소비하고 저장한다.
- 하지만 각 플랫폼의 저장 기능은 서로 분리되어 있어, 나중에 다시 보고 싶은 콘텐츠를 한곳에서 관리하기 어렵다.
- 또한 저장한 콘텐츠가 어떤 목적으로 저장되었는지 시간이 지나면 기억하기 어렵고, 직접 제목이나 메모를 입력하는 방식은 번거롭다.
- 이러한 문제를 해결하기 위해 여러 플랫폼의 콘텐츠 링크를 한곳에 저장하고, 카테고리별로 정리하며, 필요할 때 빠르게 다시 열어볼 수 있는 콘텐츠 보관함 앱을 구현하고자 한다.
-
링크 저장
- 사용자가 앱 내에서 URL을 직접 입력하거나 공유 기능을 통해 콘텐츠 링크를 저장할 수 있도록 한다.
-
플랫폼 판별
- 입력된 URL을 분석하여 YouTube, Instagram, Blog, Web 등 플랫폼을 구분한다.
-
콘텐츠 정보 추출
- YouTube 링크는 oEmbed를 통해 제목과 썸네일 정보를 가져온다.
- Blog/Web 링크는 Open Graph 메타데이터를 기반으로 콘텐츠 정보를 추출한다.
-
카테고리 분류
- 수집된 콘텐츠 정보를 바탕으로 AI를 활용하여 적절한 카테고리, 태그, 짧은 설명을 생성한다.
- Instagram 콘텐츠는 외부 정보 접근이 제한적이기 때문에 사용자가 직접 카테고리를 선택하여 저장할 수 있도록 한다.
-
보관함 관리
- 저장한 콘텐츠를 카드 형태로 보여주고, 카테고리 및 플랫폼별 필터링을 제공한다.
- 잘못 분류된 콘텐츠는 다른 카테고리로 이동할 수 있으며, 제목/메모 수정 및 삭제가 가능하도록 한다.
- CUrator는 여러 플랫폼에 흩어진 콘텐츠 링크를 한곳에 모아 관리하는 iOS 앱이다.
- 사용자는 나중에 다시 보고 싶은 콘텐츠의 URL을 저장할 수 있으며, 저장된 콘텐츠는 플랫폼과 카테고리에 따라 정리된다.
- 앱은 입력된 URL을 분석하여 YouTube, Instagram, Blog, Web 등 플랫폼을 판별한다.
- YouTube 콘텐츠는 oEmbed를 통해 제목과 썸네일을 가져오고, Blog/Web 콘텐츠는 Open Graph 메타데이터를 기반으로 정보를 추출한다.
- 추출된 정보는 FastAPI 백엔드를 통해 처리되며, AI API를 활용해 카테고리, 태그, 짧은 설명을 생성한다.
- iOS 앱은 SwiftUI 기반으로 화면을 구성하고, SwiftData를 이용해 저장한 콘텐츠를 로컬에 보관한다.
- 사용자는 보관함에서 저장된 콘텐츠를 검색하거나 필터링할 수 있으며, 필요에 따라 카테고리 변경, 제목/메모 수정, 삭제를 할 수 있다.
iOS App
|
| URL 저장 요청
v
FastAPI Server
|
| 플랫폼 판별
| 메타데이터 수집
| AI 카테고리 분류
v
iOS App
|
| 콘텐츠 저장
v
Local DB
-
Front-end
- SwiftUI 기반 iOS 앱
- 링크 저장, 보관함, 설정 화면 구성
- SwiftData를 이용한 로컬 데이터 저장
-
API Server
- FastAPI 기반 백엔드 서버
- 입력된 URL의 플랫폼 판별
- YouTube oEmbed 및 Open Graph 메타데이터 수집
- AI API를 활용한 카테고리, 태그, 짧은 설명 생성
-
Local DB
- 저장된 콘텐츠 정보를 로컬에 보관
- URL, 제목, 플랫폼, 카테고리, 태그, 메모 등의 데이터 관리
- 여러 플랫폼에 흩어진 콘텐츠를 하나의 앱에서 통합 관리할 수 있다.
- 저장한 콘텐츠를 카테고리별로 정리하여 나중에 다시 찾기 쉬워진다.
- 직접 제목이나 메모를 일일이 입력해야 하는 부담을 줄일 수 있다.
- 플랫폼별 저장 기능의 분리로 인해 발생하는 불편함을 줄이고, 목적별 콘텐츠 관리가 가능해진다.
- 카드형 보관함과 검색/필터링 기능을 통해 사용자는 필요한 콘텐츠를 빠르게 다시 열람할 수 있다.
| 구분 | 설명 |
|---|---|
| SwiftUI | Apple 플랫폼에서 선언형 방식으로 사용자 인터페이스를 구성할 수 있는 UI 프레임워크이다. |
| SwiftData | iOS 앱 내부에서 데이터를 로컬에 저장하고 관리하기 위한 Apple의 데이터 관리 프레임워크이다. |
| FastAPI | Python 기반의 웹 API 서버 프레임워크로, 빠르고 간결하게 백엔드 API를 구성할 수 있다. |
| YouTube oEmbed | YouTube 링크로부터 영상 제목, 썸네일 등의 기본 정보를 가져오기 위한 API 방식이다. |
| Open Graph Metadata | 웹페이지의 제목, 설명, 썸네일 등 콘텐츠 정보를 추출하기 위한 메타데이터 형식이다. |
| AI API | 수집된 콘텐츠 정보를 바탕으로 카테고리, 태그, 짧은 설명을 생성하기 위해 사용된다. |
| 구분 | 설명 |
|---|---|
| Xcode | iOS 앱 개발을 위한 Apple의 통합 개발 환경이다. SwiftUI 기반 화면 구현과 앱 실행, 디버깅에 사용된다. |
| Swift | iOS 앱 기능 구현에 사용되는 Apple의 프로그래밍 언어이다. |
| Python | FastAPI 백엔드 서버 구현에 사용되는 프로그래밍 언어이다. |
| GitHub | 프로젝트 소스 코드 형상 관리 및 저장소 관리를 위해 사용된다. |
| Figma | 앱 화면 설계와 UI/UX 시안 제작을 위해 사용된다. |
- 오늘 다시 볼 콘텐츠와 최근 저장한 콘텐츠를 보여준다.
- 사용자가 저장한 콘텐츠를 빠르게 확인하고 다시 열람할 수 있도록 카드 형태로 구성한다.
- 앱의 핵심 화면으로, 저장된 콘텐츠 목록을 카드 형태로 보여준다.
- 링크 추가, 검색, 필터링 기능을 제공한다.
- 카테고리와 플랫폼 기준으로 콘텐츠를 분류하여 확인할 수 있다.
- 잘못 분류된 콘텐츠는 다른 카테고리로 이동하거나 삭제할 수 있다.
- 관심사 수정, 카테고리 관리, 알림 설정, 앱 정보 확인 기능을 제공한다.
- 사용자는 필요한 카테고리를 직접 추가, 삭제, 이름 변경할 수 있다.
- 사용자는 URL을 직접 입력하여 콘텐츠를 저장할 수 있다.
- 저장된 링크는 플랫폼 판별 과정을 거쳐 보관함에 추가된다.
- 입력된 URL을 분석하여 YouTube, Instagram, Blog, Web 등으로 구분한다.
- 플랫폼에 따라 다른 방식으로 콘텐츠 정보를 수집한다.
- YouTube, Blog, Web 콘텐츠는 수집된 제목, 설명, 썸네일 정보를 기반으로 AI가 카테고리를 분류한다.
- Instagram 콘텐츠는 외부 정보 접근이 제한적이기 때문에 사용자가 직접 카테고리를 선택한다.
- 저장된 콘텐츠를 카드 리스트 형태로 보여준다.
- 플랫폼별, 카테고리별 필터링을 제공한다.
- 검색 기능을 통해 원하는 콘텐츠를 빠르게 찾을 수 있다.
- 저장된 콘텐츠의 제목과 메모를 수정할 수 있다.
- 잘못 분류된 콘텐츠를 다른 카테고리로 이동할 수 있다.
- 필요 없는 콘텐츠는 삭제할 수 있다.
- 설정 화면에서 카테고리를 추가할 수 있다.
- 기존 카테고리의 이름을 변경할 수 있다.
- 사용하지 않는 카테고리를 삭제할 수 있다.
Youtube 동영상



