Skip to content

[251028] 프론티아 기획 문서 v0.4

Status: Released created: October 28, 2025 5:21 PM 앱/웹/스튜디오: 앱, 웹

용어 정리

  • 유저: 실질적 사용자. 모든 유저는 플레이어이며, 그 중 일부가 역할(에피소드 제작)에 따라 작가가 됨. 앱 사용자는 모두 유저에 해당함

  • 작가: 에피소드를 설계하는 유저

  • 플레이어: 에피소드를 플레이하는 유저

  • 에피소드: 유저가 창작하고 즐기게 되는 스토리 콘텐츠로, 1개 이상의 이벤트로 구성되어 있음

  • 캐릭터: 작가가 미리 설계해둔 캐릭터를 의미. 스토리 진행에 필요한 캐릭터.

    • 에피소드 설정에서만 생성 가능하며, 생성한 이후 관리/삭제는 캐릭터 관리에서 할 수 있습니다.
  • 플레이: 플레이어는 에피소드를 ‘플레이’ 합니다.

  • 플레이 화면: 에피소드 플레이 중에 보이는 화면. 각 화면은 프레임이라고 부름

  • 프레임: 실제로 유저에게 보여지는 내용의 출력 단위 (텍스트, 미디어 에셋 등 한 화면에서 보여지는 정보)

    • 텍스트(=라인)는 현재는 줄바꿈(\n) 기준으로 잘려서 출력됨
    • 프레임의 예시
  • 플레이 화면 내에서 사용되는 용어

    • 포커스 모드: 플레이 화면에서 대화창 제외 모든 UI 없어진 상태
    • 메뉴 모드: 상단 메뉴와 상태창 볼 수있는 상태 (프레임임 화면의 중간 50% 를 탭하면 나오고 사라짐)
    • 프레임 네비게이션: 프레임을 앞뒤로 이동시킬 수 있는 기능 (프레임 화면의 오른쪽 25%를 탭하면 앞으로, 왼쪽 25%는 뒤로)
    • 동영상 시네마틱 모드: 동영상 프레임이 처음 나왔을 때 자동 플레이되는 모드. 끝나면 자동으로 동영상 프레임 모드로 넘어감. 이때 화면을 누르면 일시정지되면서 하단에 컨트롤러 나타나고, 상단 메뉴는 나타나지 않음
    • 동영상 프레임 모드: 뒤로가기를 통해서 동영상 프레임에 도달했을 경우, 동영상이 자동 재생되지 않으며 일반 프레임과 동일하게 포커스 모드의 UI가 보여집니다(동영상의 첫 프레임만 보여지고 멈춰있는 화면)
      • 포커스 모드와 동일하기 때문에 프레임 네비게이션 동작합니다.
    • 앞으로/뒤로: 앞으로 = 새로운 프레임으로, 뒤로 = 이전 프레임으로
  • 플레이 많은 순 = 생성 턴 많은 순

  • 플레이 턴 수 = 생성 턴 수

출시 버전 기획서


(통합) 출시 버전 기획서 — 세부 문서

1 1 문의

경로: 출시 버전 기획서

개요: 유저는 [1:1 문의]를 통해 프론티아 팀에 문의 내용을 보낼 수 있습니다. 탭 이름: 마이 유저 목적: 고객소통 진행 현황: 디자인 완료 피그마 링크: https://www.figma.com/design/j0EsFUiD13q2eSUQhRtNz8/01_FronTia_APP_출시?node-id=6399-542500&t=Ydbk5RSgrUtZgbOF-1

목표

  1. 유저는 [마이]-[메뉴]의 [1:1 문의]를 통해 프론티아 팀에 문의 내용을 보낼 수 있습니다.

화면 디자인/유저 플로우

기능 요청

  1. [1:1 문의] 메뉴를 누르면 채널톡 화면으로 이동합니다.

→ 메일 보내는 방식이 아니라 채널톡으로 변경

  1. 페이지 하단에 [1:1 문의하기] 버튼이 있으며, 이 버튼을 누르면 문의 글을 작성할 수 있는 페이지로 이동합니다.
    1. 작성해야할 내용
      1. 분류: 1) 제작 질문, 2) 오류 제보, 3) 개선 제안, 4) 결제문의, 5) 기타 중 택 1
      2. 내용: 텍스트 입력 (글자수 제한: 최소 1자, 최대 5,000자)
      3. 답변 받을 이메일: 기본 값으로 계정 이메일이 적혀있습니다.
        • 이메일 validation: 바로 갖다 쓸 수 있는거 있으면 해주시고 아니면 패스~
    2. 버튼: [보내기] 버튼을 누르면 ‘[1:1문의] 분류’의 제목으로 고객 센터 메일(help@deepgrov.io-미정)로 전송됩니다.
  • 참고: 문의가 쌓이는 공간은 없습니다. 그래서 잘 도착했는지 확인할 길도 없습니다. 시온이 답장을 잘 해주면 아실 수 있겠쬬..ㅎ 얼른 잘되어서 채널톡으로 가자… 🥹 🏃🏻

검색

경로: 출시 버전 기획서

개요: 유저는 키워드를 입력하여 해당 키워드와 정확히 일치하거나 해당 키워드를 포함하는 에피소드와 계정을 검색할 수 있습니다. 탭 이름: 홈 유저 목적: 콘텐츠 탐색 진행 현황: 디자인 완료 피그마 링크: https://www.figma.com/design/j0EsFUiD13q2eSUQhRtNz8/🛝01_FronTia_APP_출시?node-id=5426-24050&t=m69Q2Ry5gBE0VPZO-1

목표

  • 유저는 특정 키워드를 입력하여 원하는 에피소드와 계정을 찾을 수 있습니다.
  • 고려하지 않아도 되는 것: 임베딩 서치, 키워드를 기반으로 알잘딱깔센으로 정교하게 찾아주기

플로우/화면 디자인

기능 요청

검색 전 화면

  • 화면 디자인 예시
  1. 유저는 홈 탭의 우상단에 위치한 검색 아이콘을 클릭하여 검색 화면으로 이동할 수 있습니다.
  2. 검색 화면에 랜딩 시 자동으로 입력 필드에 포커싱되며 키보드 자판이 올라옵니다.
  3. 아무것도 입력되어있지 않은 상태에서는 ‘추천 에피소드’ 리스트가 보여집니다.
    1. ‘추천 에피소드’ 리스트는 월간 랭킹 리스트와 동일합니다.
    2. 에피소드의 썸네일이나 설명을 누르면 에피소드 상세로 이동합니다.
      • 노출되는 정보: 에피소드 썸네일, 에피소드 이름, 작가명, 에피소드 설명
        • 썸네일, 작품제목: 누르면 에피소드 상세로 이동
        • 작가명: 누르면 해당 유저의 프로필로 이동
    3. [지금 바로 플레이] 버튼을 누르면 바로 에피소드 플레이 화면으로 이동합니다.
      1. 처음 플레이하는 경우: 처음부터 시작
      2. 이전에 플레이했던 경우: 이어하기
    4. 가장 하단에 [실시간 랭킹 바로가기] 버튼이 위치하며, 이 버튼을 누르면 실시간 랭킹 페이지로 이동합니다.

검색 기능 및 화면 구성

  • 화면 디자인 예시
  1. 유저는 키워드를 입력하고 검색 버튼을 눌렀을 때 검색된 에피소드와 계정을 확인할 수 있습니다.
  2. 유저가 검색한 키워드가 1) 에피소드 이름 및 계정 이름과 정확히 일치하거나 2) 이름에 포함되어 있는 경우 검색 결과로 뜨게 됩니다.
  3. 검색 결과의 정렬 방식은 다음과 같습니다.
    1. 계정과 에피소드가 나뉘어서 보여집니다.
      1. 계정은 가장 상단에 유저 프로필 이미지가 작게 가로 스크롤로 보여집니다. (참고: 인스타 스토리)
      2. 에피소드는 계정 아래에 격자 형태로 세로로 나열됩니다.
        • 노출되는 정보: 에피소드 썸네일, 에피소드 이름, 작가명
  4. 검색 결과 정렬 우선순위는 다음과 같습니다.
    1. 에피소드: 에피소드 이름과 검색 키워드가 정확히 일치 > 에피소드 이름에 검색 키워드가 포함됨 > 에피소드 소개 혹은 제작자에 검색 키워드가 포함됨 > 에피소드 태그에 검색 키워드가 포함됨
      • 같은 우선순위에서는 누적 플레이 턴 수(=생성 턴 수)가 많은 순으로 정렬합니다.
    2. 계정: 유저 닉네임과 검색 키워드가 정확히 일치 > 유저 닉네임에 검색 키워드가 포함됨
      • 같은 우선순위에서는 팔로워가 많은 순으로 정렬합니다.
  5. 검색된 결과가 없는 경우
    1. 에피소드 혹은 계정 중 1개만 검색 결과가 1건 이상인 경우: 있는 검색 결과만 정렬 우선순위에 맞게 노출합니다.
    2. 에피소드, 계정 모두 검색된 결과가 0건인 경우: 검색된 결과가 없다는 문구와 함께 검색 전 화면에서 보았던 추천 에피소드 리스트가 보여집니다.
  6. 성인용 콘텐츠 노출 정책:
    1. 성인 인증을 하지 않은 유저: 성인용 에피소드를 빼고 노출합니다.
    2. 성인 인증을 한 유저: 성인용 에피소드를 포함해서 노출합니다.
  7. 노출되는 모든 에피소드는 공개 여부가 **‘공개’**이고, Status가 **‘active’**여야 합니다.
    • 참고: 에피소드의 status는 에피소드 노출을 차단하기 위해 어드민에서 설정하는 값입니다.

계정 설정 탈퇴

경로: 출시 버전 기획서

개요: 유저는 [마이]-[메뉴]의 [계정 설정] 메뉴에서 본인의 계정 정보(가입 계정, 성별, 생년월일, 관심 장르, 성인 인증)를 확인/수정하거나 탈퇴할 수 있습니다. 탭 이름: 마이 유저 목적: 계정 관리 진행 현황: 디자인 완료 피그마 링크: https://www.figma.com/design/j0EsFUiD13q2eSUQhRtNz8/01_FronTia_APP_출시?node-id=6351-98888&t=uhupw7euPS5SPp10-1

목표

  1. 유저는 본인의 계정 정보(가입 계정, 성별, 생년월일, 관심 장르, 성인 인증)를 확인/수정하거나 탈퇴할 수 있습니다.

화면 디자인/유저 플로우

기능 요청

  1. [계정 설정] 메뉴에서 회원가입 시 획득/입력했던 정보를 확인하고 수정할 수 있습니다.
    1. 계정 정보: 가입 경로(구글/카카오/애플)와 계정 주소가 보여지며, 수정 불가능합니다.
    2. 성별, 생년월일: 가입 시 유저가 입력한 성별과 생년월일이 보여지며, 수정 불가능합니다.
      • 내부적으로 어디서 가져온 정보인지는 기록되어 있되 유저에게 보여줄 필요는 없습니다. (오히려 혼란스러울듯)
        • 참고: 추후 소스에 따라 수정 가능하게 열어줄 수 있음. + 수정 횟수 제한 있을 수 있음
      • 본인인증/성인인증을 하는 경우 가장 최근에 인증한 생년월일로 업데이트됩니다.
    3. 관심있는 장르: 가입 시 유저가 선택했던 태그를 확인할 수 있으며, 수정 가능합니다.
      • 아래 후보 중 최소 0개, 최대 5개 고를 수 있습니다. (온보딩 때 입력했다면 3~5개, 온보딩 과정에서 건너 뛰었으면 0개)
        • 연애/로맨스, SF/판타지, 로판(로맨스판타지), BL, GL, 일상/현대, 무협, 역사/시대, 액션, 학원, 스포츠, 코믹(코미디), 공포/스릴러, 추리/미스터리, 전쟁/밀리터리
    4. 성인 인증 여부
      1. 성인 인증 전인 유저의 경우, ‘인증하기’ 버튼이 보여집니다.
        1. ‘인증하기’ 버튼을 누르면 PASS를 통한 본인인증 프로세스가 진행됩니다.
        2. 인증이 완료되면 인증 날짜와 인증 완료 문구를 확인할 수 있으며, 이 시점부터 성인 콘텐츠를 확인할 수 있습니다.
          • 인증 완료 시 우리가 받는 정보: 성인인증 성공 여부(Y)

          • 참고: 성인용 콘텐츠 노출 정책

            성인 인증 전성인 인증 후
            노출 안됨노출됨
            랭킹노출 안됨노출됨
            검색/신작노출됨 (표지도 보임. 대신 표지 검열 빡세게)
            누르면 성인인증 하라고 뜸노출됨
            [어른용] 진입불가능
            누르면 성인인증 하라고 뜸가능
        3. 성인 인증을 완료하는 경우, 본인 인증(무료 재화 수령 시 필요한 인증)도 함께 인증처리됩니다.
          • 주의: 반대로 본인 인증을 한다고 성인 인증이 함께 되지는 않습니다.
      2. 성인 인증 완료된 유저의 경우, 인증 날짜와 인증 완료 문구를 확인할 수 있습니다.
  2. ‘계정 설정’ 메뉴에서 회원 탈퇴를 할 수 있습니다.
    1. Step1: ‘탈퇴하기’를 클릭하면 다음과 같은 *바텀 시트 or 모달(디자인 결정 필요)*가 나타납니다.
      • 제목: {유저 닉네임} 님, 프론티아를 정말 떠나시겠어요?
      • 내용: 탈퇴하면 {유저 닉네임}님이 프론티아에서 활동한 기록과 정보, 남은 재화가 삭제되며, 복구할 수 없습니다. 우리 즐거웠잖아….
      • 버튼: 남아있을게요(계정 설정 페이지로 돌아감) | 떠날게요(다음 단계로 이동)
    2. Step2(’떠날게요’ 누른 경우): 탈퇴 동의 체크와 함께 특정 문자를 그대로 따라 입력하면 [탈퇴하기] 버튼이 활성화됩니다. [탈퇴하기] 버튼을 누르면 탈퇴처리 됩니다.
      • 유의사항 안내:
        • 회원 탈퇴 시, 해당 계정으로 프론티아를 이용할 수 없습니다.
        • 계정이 삭제된 이후에는 복구할 수 없습니다.
        • 플레이 기록 및 저장된 결과물 등 활동한 내역이 모두 삭제되며, 복구할 수 없습니다.
        • 보유하고 계신 {재화명}이 모두 소멸되며, 복구할 수 없습니다.
      • 동의 받아야할 사항
        • [ ] 유의사항을 모두 확인했으며, 회원 탈퇴 시 보유한 {재화명}이 모두 소멸되는 것에 동의합니다.
        • [ ] 계정은 탈퇴 후 복구할 수 없으며, 이에 동의합니다.
      • 입력할 문구: 즐거웠어요. 또 만나요!

탈퇴 정책

  1. 탈퇴한 유저의 데이터는 내부적으로 삭제된 계정임을 알 수 있기만 하면 됩니다. → 계정정보만 따로 관리합니다. unique 닉네임에 걸려서. 나머지는 그냥 둡니다.
  2. 탈퇴한 유저의 에피소드와 프로필은 즉시 다른 유저에게 보여지지 않습니다.
    1. 에피소드: status만 deleted로 변경
    2. 프로필 사진: 탈퇴 유저 전용 프로필 사진으로 변경됩니다. (디자인 필요)
    3. 닉네임: 삭제된 사용자 라는 닉네임으로 일괄 변경됩니다.
  3. 탈퇴한 유저의 댓글의 경우, 프로필 사진, 닉네임, 내용이 가려집니다. → 내용까지 어려우면 닉네임, 프로필 사진까지.
    1. 프로필 사진: 탈퇴 유저 전용 프로필 사진으로 변경됩니다. (디자인 필요)
    2. 닉네임: 삭제된 사용자 라는 닉네임으로 일괄 변경됩니다.
    3. 내용: (삭제된 사용자입니다.)로 일괄 변경됩니다.
  4. 플레이 기록, 댓글 등을 통해 남아있는 진입점에서 해당 에피소드와 유저 프로필에 들어가려고 시도시 에러 모달이 뜨며 진입할 수 없습니다.

고객센터

경로: 출시 버전 기획서

개요: 유저는 [마이]-[메뉴]의 [고객센터] 메뉴를 통해 프론티아에 대한 정보를 획득할 수 있습니다. 탭 이름: 마이 유저 목적: 고객소통 진행 현황: 기획 완료 피그마 링크: 노션처리

목표

  1. 유저는 [마이]-[메뉴]의 [고객센터] 메뉴를 통해 프론티아에 대한 정보를 획득할 수 있습니다.

화면 디자인/유저 플로우

기능 요청

*워딩 고민: 좀 더 우리한테 맞는 워딩으로 변경되면 좋을 듯. 캐주얼하고 좀 더 가까운 느낌도 괜찮고. 컨셉이 얼마나 반영되냐에 따라 맞춰서 해도 되고. 그냥 지원/문의 < 이런 게 나을수도?

  1. 유저가 [마이]-[메뉴]에서 [고객센터]를 클릭하면 노션 고객센터 페이지로 이동(앱 내 이동)합니다.

공지사항

경로: 출시 버전 기획서

개요: 유저는 [마이]-[메뉴]의 [공지사항] 메뉴에서 공지글을 확인할 수 있습니다. 탭 이름: 마이 유저 목적: 고객소통 진행 현황: 기획 완료 피그마 링크: 노션처리

목표

  1. 유저는 [마이]-[메뉴]의 [공지사항] 메뉴에서 공지글을 확인할 수 있습니다.

화면 디자인/유저 플로우

기능 요청

  1. 유저는 [마이]-[메뉴]의 [공지사항] 메뉴에 진입하면 노션 공지 페이지로 이동(앱 내 이동)합니다.
  • 스콥 아웃
    1. 유저는 [마이]-[메뉴]의 [공지사항] 메뉴에 진입하면 공지글 목록을 확인할 수 있습니다.
      1. 공지글 목록에 보이는 정보: 1) 공지 제목 2) 작성 날짜
    2. 유저가 공지글을 누르면 공지 내용을 확인할 수 있습니다. (별도 개발 없이 노션 페이지로도 가능)
      1. 공지 내용에 보이는 정보: 1) 공지 제목 2) 작성 날짜 3) 공지 내용
      2. 공지 내용에는 이미지, 글, 링크 삽입이 가능합니다.

내 프로필 ([마이] 탭)

경로: 출시 버전 기획서

개요: 유저는 [마이] 탭에서 내가 제작한 에피소드 및 나의 소셜 정보를 확인할 수 있습니다. 탭 이름: 마이 유저 목적: 커뮤니티 활동 진행 현황: 디자인 완료 피그마 링크: https://www.figma.com/design/j0EsFUiD13q2eSUQhRtNz8/01_FronTia_APP_출시?node-id=5555-396441&t=k9raaMCxRxrJFmHP-1

목표

  1. 유저는 [마이] 탭에서 내가 제작한 에피소드를 확인할 수 있습니다.
  2. 유저는 [마이] 탭에서 나의 소셜 정보와 플레이 닉네임을 확인/수정할 수 있습니다.

화면 디자인/유저 플로우

기능 요청

진입점

  1. 유저는 마이 탭을 클릭하여 본인 프로필을 볼 수 있습니다.
  2. 유저는 내가 쓴 댓글이나 에피소드 리스트, 에피소드 상세에 노출된 1) 자신의 프로필 이미지 혹은 2) 닉네임을 을 눌러 마이 탭(내 프로필)으로 진입할 수 있습니다.

프로필에서 보여지는 정보

  1. [마이] 탭에서 유저는 다른 유저에게 보여지는 본인의 프로필 정보와 본인이 만든 에피소드 목록을 볼 수 있습니다.
    1. 프로필 정보: 프로필 이미지, 닉네임, 팔로워 수, 팔로잉 수, 자기소개
      1. 팔로워 수와 팔로잉 수는 누르면 각각 팔로워 리스트와 팔로잉 리스트를 확인하고 그 유저의 프로필로 이동할 수 있습니다.
        • 리스트에서 확인/인터랙션할 수 있는 정보:
          1. 팔로워/팔로잉 유저의 프로필 이미지: 누르면 해당 유저 프로필로 이동
          2. 팔로워/팔로잉 유저의 닉네임: 누르면 해당 유저 프로필로 이동
          3. 팔로우 or 팔로잉 버튼:
            1. 팔로잉: 팔로잉 중인 경우 표시됨. 누르면 팔로우 취소되면서 팔로우 버튼으로 변경됨
            2. 팔로우: 팔로잉 중이 아닌 경우 표시됨. 누르면 팔로우 되면서 팔로잉 버튼으로 변경됨
        • 팔로우/팔로잉 목록에 삭제된 유저가 있을 경우, ‘알 수 없는 유저’와 같은 식으로 이름이 가려져서 보입니다.
        • 팔로워/팔로잉 리스트는 팔로우한 시간 기준으로 최신 순으로 정렬됩니다.
    2. 에피소드: 내가 만든 에피소드 목록
      • 공개 여부에 따라 에피소드가 구분되어 보입니다.
      • 목록이 비어있을 경우 '에피소드 만들기'와 같이 스튜디오 안내를 유도하는 CTA가 노출됩니다.
      • status가 ‘blocked’인 에피소드(운영 상 차단된 에피소드)는 차단됨을 알 수 있는 썸네일과 에피소드 이름으로 치환됩니다.
  2. [마이] 탭 우측 상단의 [메뉴] 아이콘을 클릭하여 설정 메뉴로 들어갈 수 있습니다.
  3. [마이] 탭 우측 상단에 있는 재화 아이콘을 클릭하여 재화 충전 바텀 시트로 들어갈 수 있습니다.

프로필 정보 수정/공유

  1. 유저는 [프로필 편집]을 눌러 프로필 정보(닉네임, 이미지, 자기소개)를 수정할 수 있습니다.
    1. 닉네임 (필수 입력):
      • 최소 2글자, 최대 12글자
      • 공백, 특수문자 입력 불가
      • 모든 문자(한글, 영어, 일본어, 한자 등)와 숫자만 입력 가능
      • 이미 존재하는 닉네임과 중복 아님
    2. 이미지 (선택 입력):
      • 이미지 파일만 가능
      • (크기 제한?)
      • 선택하면 OS 이미지 업로드 절차를 따릅니다.
    3. 자기소개 (선택 입력):
      • 모든 문자/숫자/특수문자 입력 가능
      • 최대 500글자
  2. 유저는 [프로필 공유]를 눌러 본인의 프로필 링크를 복사/공유할 수 있습니다.
    • OS 공유 바텀시트 띄우기
  3. 유저는 [플레이 프로필]을 눌러 본인의 플레이 닉네임을 확인/수정할 수 있습니다.

내가 만든 에피소드 목록

  1. 전체, 공개, 비공개, 링크 공개로 나누어 에피소드를 필터링하여 볼 수 있습니다.
    1. 전체: 나의 모든 에피소드가 보여집니다.
    2. 공개: ‘공개’로 설정해 둔 에피소드만 보여집니다.
    3. 비공개: ‘비공개’로 설정해 둔 에피소드만 보여집니다.
    4. 링크 공개: ‘링크 공개’로 설정해 둔 에피소드만 보여집니다.
  2. 노출되는 에피소드 정보
    1. 에피소드 썸네일
    2. 에피소드 제목
    3. 누적 프레임 카운트 (내 에피소드에 한해서만 볼 수 있는 정보)
      • 누적 프레임 카운트에는 모든 프레임 개수가 카운트되며, 따라서 재생성했을 때 덮어씌워진 프레임도 포함됩니다.
      • 숫자 표기 방법
        • 9,999회까지는 전체 숫자로 표시
        • 1만 이상, 1억 미만: N만
        • 1억 이상: N.N억
  3. 에피소드를 눌러 각 에피소드 상세로 이동할 수 있습니다.
  4. 목록이 비어있을 경우 [에피소드 만들기] CTA가 노출되며, 이 버튼을 누르면 스튜디오 안내 페이지(노션)으로 이동합니다.
    1. 안내 페이지 링크 - https://www.notion.so/Frontia-Studio-23e996f9506680628c62f18bda429813

다른 유저 프로필

경로: 출시 버전 기획서

개요: 유저는 다른 유저의 프로필에서 해당 유저가 제작한 에피소드 및 유저의 소셜 정보를 확인할 수 있습니다. 탭 이름: - 유저 목적: 커뮤니티 활동 진행 현황: 디자인 완료 피그마 링크: https://www.figma.com/design/j0EsFUiD13q2eSUQhRtNz8/01_FronTia_APP_출시?node-id=6190-553066&t=tXLsOMlHNQG84hr5-1

목표

  1. 유저는 다른 유저의 프로필에서 해당 유저가 제작한 에피소드 및 유저의 소셜 정보를 확인할 수 있습니다.

화면 디자인/유저 플로우

기능 요청

진입점

  1. 유저는 특정 유저가 쓴 댓글이나 에피소드 리스트, 에피소드 상세에 노출된 1) 유저의 프로필 이미지 혹은 2) 닉네임을 눌러 해당 유저의 ‘프로필’로 진입할 수 있습니다.
  2. 탈퇴한 프로필에 진입하려고 시도하는 경우, 에러 모달이 뜨며 진입할 수 없습니다.

유저 프로필에서 보여지는 정보

  1. 유저는 ‘프로필’ 페이지에서 해당 유저의 프로필 정보와 해당 유저가 만든 에피소드 목록을 볼 수 있습니다.
    1. 프로필 정보: 프로필 이미지, 닉네임, 팔로워 수, 팔로잉 수, 자기소개
      • 모든 정보는 확인만 가능하고 인터랙션 불가능합니다. (내 프로필은 팔로워/팔로잉 리스트 확인 가능한데 다른 사람 프로필에서는 불가)
    2. 에피소드: 해당 유저가 만든 에피소드 목록
      • 공개된 에피소드만 보여집니다.
      • 목록이 비어있을 경우 ‘{유저 닉네임} 님이 만든 작품이 아직 없어요.’라는 문구와 함께 추천 탭으로 이동하는 CTA가 보여집니다. (디자인 논의 필요)

프로필 정보 차단/공유

  1. 유저는 프로필 우측 상단의 [메뉴]를 눌러 해당 프로필을 공유하거나 차단할 수 있습니다.
  2. 유저는 [프로필 공유]를 눌러 해당 유저의 프로필 링크를 복사/공유할 수 있습니다.
    • OS 공유 바텀시트 띄우기
  3. 유저는 [프로필 차단]을 눌러 해당 유저의 프로필을 차단할 수 있습니다.
    1. [프로필 차단]을 누르면 [차단 관리] 리스트에 해당 유저가 추가되고, 차단을 해제하기 전까지 해당 유저의 프로필에 진입할 수 없습니다.
  4. 차단한 유저의 프로필에 진입하려고 시도하는 경우:
    • 프로필로 진입 후 차단한 유저라는 모달이 뜨며 유저 프로필을 확인할 수 없습니다.
    • 모달 내용(문구 변경될 수 있음): 차단한 유저입니다. [확인] [차단 해제]
      • [확인]을 누르면 이전 페이지로 이동합니다.
      • [차단 해제]: 유저 차단이 해제되고 유저의 프로필을 확인할 수 있습니다.

유저가 만든 에피소드 목록

  1. 공개된 에피소드만 보여집니다.
  2. 노출되는 에피소드 정보
    1. 에피소드 썸네일
    2. 에피소드 제목
  3. 에피소드를 눌러 각 에피소드 상세로 이동할 수 있습니다.

랭킹

경로: 출시 버전 기획서

개요: 유저는 [랭킹] 페이지에서 실시간, 일간, 주간, 월간 순위별 에피소드 리스트를 확인할 수 있습니다. 탭 이름: 홈 유저 목적: 콘텐츠 탐색 진행 현황: 디자인 완료 피그마 링크: https://www.figma.com/design/j0EsFUiD13q2eSUQhRtNz8/🛝01_FronTia_APP_출시?node-id=5389-28723&t=m69Q2Ry5gBE0VPZO-1

목표

  • 유저는 [랭킹] 탭에서 실시간, 일간, 주간, 월간 순위별 에피소드 리스트를 확인할 수 있습니다.
  • 추가 고려해야할 것: 검열/운영 리소스
  • 고려하지 않아도 되는 것: 누구나 공감할만큼 모든걸 고려한 정확한 순위

플로우/화면 디자인

기능 요청

  1. 유저는 홈 탭에서 상단의 [랭킹]을 눌러 [랭킹] 페이지로 진입할 수 있습니다.

  2. [랭킹] 페이지에서는 실시간, 일간, 주간, 월간 순위별 에피소드를 최대 10개까지 볼 수 있습니다.

    • 초반에 콘텐츠가 부족할 것을 감안해서 최대 10개고, 웬만하면 Top10 채워질 것으로 예상합니다.

    (출시 후 콘텐츠가 충분히 많아지면 100개까지 늘릴 예정)

  3. 노출되는 모든 에피소드는 공개 여부가 **‘공개’**이고, Status가 **‘active’**여야 합니다.

    • 참고: 에피소드의 status는 에피소드 노출을 차단하기 위해 어드민에서 설정하는 값입니다.
  4. 랭킹 업데이트 주기

    1. 실시간: 15분 (예: 매 15분마다)
    2. 일간/주간/월간: 1시간 단위 (예: 정각마다)
  5. 순위 집계 대상

    1. 실시간: 업데이트 시점으로부터 7일 내에 첫 ‘공개’된 에피소드 중, 15분 내 누적 플레이 턴 수(=생성 턴수)가 많은 순
    2. 일간: 업데이트 시점으로부터 7일 내에 첫 ‘공개’된 에피소드 중, 24시간 내 누적 플레이 턴 수가 많은 순
    3. 주간: 업데이트 시점으로부터 14일 내에 첫 ‘공개’된 에피소드 중, 7일 내 누적 플레이 턴 수가 많은 순
    4. 월간: 업데이트 시점으로부터 60일 내에 첫 ‘공개’된 에피소드 중, 30일 내 누적 플레이 턴 수가 많은 순
  6. 유저에게 노출되는 시점

    1. 랭킹 업데이트 후 유저가 랭킹 탭에 랜딩하면 최근 순위로 업데이트 되어있습니다.
    2. 유저가 랭킹 탭에 머무는 시점에 랭킹이 업데이트 되면, 바로 화면이 바뀌지 않고 다른 탭으로 이동했다가 다시 랭킹 탭에 랜딩했을 때 업데이트된 내용이 보여집니다.
  7. 성인용 콘텐츠 노출 정책:

    1. 성인 인증을 하지 않은 유저: 랭킹에서 성인용 에피소드를 빼고 노출합니다.
    2. 성인 인증을 한 유저: 랭킹에서 성인용 에피소드를 포함해서 노출합니다.
  8. 노출되는 에피소드 정보: 썸네일, 작품 제목, 작가명, 성인용 아이콘, 신작 아이콘

    • 썸네일, 작품제목: 누르면 에피소드 상세로 이동
    • 작가명: 누르면 해당 유저의 프로필로 이동
    • 성인용 아이콘: 스튜디오에서 발행 시 성인용으로 체크한 것은 성인용 아이콘이 붙습니다.
    • 신작 아이콘: 최근 3일 이내에 최초 ‘공개’된 작품에 신작 아이콘이 붙습니다.
    • 디자인 참고:

로그아웃

경로: 출시 버전 기획서

개요: 유저는 [마이]-[메뉴]에서 [로그아웃]을 눌러 앱/웹에서 로그아웃 할 수 있습니다. 탭 이름: 마이 유저 목적: 계정 관리 진행 현황: 디자인 완료 피그마 링크: https://www.figma.com/design/j0EsFUiD13q2eSUQhRtNz8/01_FronTia_APP_출시?node-id=6460-296423&t=tXLsOMlHNQG84hr5-1

목표

  1. 유저는 [마이]-[메뉴]에서 [로그아웃]을 눌러 앱/웹에서 로그아웃 할 수 있습니다.

화면 디자인/유저 플로우

기능 요청

자발적 로그아웃

  1. 유저는 [마이]-[메뉴]에서 [로그아웃]을 누르면 로그아웃되며, 로그인 페이지로 랜딩됩니다.
    • 앱/웹 모두 같습니다.

차단된 유저의 강제 로그아웃

  1. 로그인 상태의 유저가 차단된 경우 차단 시점 이후 앱에 첫 진입했을 때 자동 로그아웃되고 로그인 화면으로 랜딩됩니다.

로그인

경로: 출시 버전 기획서

개요: 유저는 소셜 로그인 기능을 통해 애플/구글/카카오 계정으로 프론티아에 로그인을 할 수 있습니다. 탭 이름: - 유저 목적: 가입/로그인 진행 현황: 디자인 완료 피그마 링크: https://www.figma.com/design/j0EsFUiD13q2eSUQhRtNz8/🛝01_FronTia_APP_출시?node-id=5774-764238&t=nlc5bwQy6NhLb0he-1

목표

  • 기존 유저는 Apple, 구글, 카카오 계정을 이용하여 프론티아에 쉽고 매끄럽게 로그인할 수 있습니다.

플로우/화면 디자인

  • 피그마 링크 >>

기능 요청

로그인 플로우

  1. 사용자가 앱에 진입 시 로그인 상태가 아니라면, 3가지의 로그인 옵션을 확인할 수 있습니다.
    1. 카카오
    2. 구글
    3. Apple (참고: 안드로이드 기기라고 하더라도 로그인은 애플 로그인이 존재해야함. 회원가입에만 없음)
  2. [Apple/구글 계정/카카오 계정]으로 로그인 버튼을 눌렀을 때 계정 정보가 있는 유저라면 바로 로그인 되어 홈 탭의 추천 화면으로 랜딩합니다.
    • 멀티 디바이스로 동시 로그인이 가능합니다.
    • 단, 플레이 씬은 멀티 디바이스에서 한 계정으로 동시 생성이 불가능합니다.
      • 동시 생성 기준: 해당 계정으로 이미 LLM 생성 중인 경우. (최대 2분)
  3. 로그인 후 홈 탭의 추천 화면으로 이동 시 앱 설치 후 최초 1회에 한하여 이용자 수칙 안내를 확인할 수 있습니다.
    • 이용자 수칙 내용 (프론티아 이용수칙)

    • 크랙/제타 화면 예시 (이용자 수칙 안내)

차단된 유저 대상 로그인 정책

  1. 어드민에서 계정이 차단된 유저가 차단 기간동안 로그인을 시도 시, 로그인이 불가하며 안내 모달이 뜹니다.
    1. 모달 내용(미정)
      1. 내용: 차단된 유저는 로그인이 불가하다! 1:1 문의로 연락하라!
      2. 버튼: 확인
로그인 로그아웃

경로: 출시 버전 기획서 / 스튜디오 수정사항 / 스튜디오 수정 사항

구분: -

플로우/화면 디자인
  • 피그마 링크 >>
기능 요청

로그인 - 불가

  1. 프론티아 스튜디오는 로그인하지 않은 상태에서 진입할 수 없습니다.
  2. studio.frontia.ai로 진입 시 로그인 상태가 아니라면 로그인 화면으로 이동합니다.
    1. 이후 로그인 완료했을 때 스튜디오 홈(가능하면! 아니면 frontia.ai)으로 랜딩됩니다.

로그아웃

  1. 왼쪽 하단의 계정 프로필 옆 ‘로그아웃’ 아이콘을 눌러 로그아웃 할 수 있습니다.
    • 계정 프로필 이미지는 인터랙션 불가합니다.
미디어

경로: 출시 버전 기획서 / 스튜디오 수정사항 / 스튜디오 수정 사항

구분: 기본 설정

플로우/화면 디자인
  • 피그마 링크 >>
기능 요청
  1. 업로드 버튼 혹은 페이지에 드래그 앤 드롭하여 여러 이미지/오디오 파일을 한 번에 업로드할 수 있습니다.
    1. 업로드 가능한 확장자명:
      • image: jpg, jpeg, png, webp, gif
      • audio: mp3, wav
      • video: mp4, mov, avi
    2. 크기 제한
      • 이미지: 10MB
      • 오디오: 20MB
      • 비디오: 500MB
  2. 에셋 최대 개수 제한
    1. 배경 에셋, 상황별 에셋, 비디오 에셋은 각각 최대 100개씩 업로드 가능합니다.
      1. 각 에셋 카테고리 내에서 에셋 개수가 100개를 초과한 경우, 100개까지만 업로드 되고 이후 무시
        • 에러 메시지 필요: 배경 에셋(or 상황별 에셋 or 비디오)은 최대 100개까지 추가할 수 있어요.
    2. AI가 자유롭게 출력 가능으로 체크된 에셋은 최대 100개까지 가능합니다.
    3. 에셋 업로드 시 기본 값은 AI가 자유롭게 출력 가능이지만, 100개를 넘은 이후에는 업로드 시 AI가 임의로 출력 불가가 기본값이 됩니다.
  3. 모든 파일을 이름으로 파싱하여 각각 에셋이 만들어지며, 파일 이름과 동일하게 에셋 이름이 입력됩니다.
    • 이름이 완전히 같은 경우에는 같은 에셋에 업로드됩니다. (예: 같은 이름의 이미지, 오디오 파일)
  4. 이미 만들어진 에셋에 추가 업로드하는 경우, 각 에셋 편집창(사이드 페이지)에서 가능합니다.
    • [+] 버튼을 누르거나 드래그앤 드롭하여 추가 업로드
    • 각 에셋 내 파일은 파일 종류별로 최대 10개까지 가능합니다(이미지 10개, 오디오 10개, 비디오 10개)
    • 한 에셋 내에 등록된 파일을 해당 에셋이 트리거 되었을 때 랜덤으로 출력됩니다.
  5. 에셋 편집창(사이드 페이지)에서 다음의 내용을 편집할 수 있습니다.
    1. 에셋 이름 (최대 20자)
      • 이벤트씬에서 사용할 수 있도록 예시를 각 캐릭터 상태별 이미지 이름으로 치환해서 작성해줍니다.
      • 예시: {bg::배경에셋이름}, {media::상황별에셋이름},
    2. 에셋 출력 자유도: AI가 자유롭게 출력 가능 or AI가 임의로 출력 불가
    3. 이미지/오디오/비디오 리스트 & 추가 버튼
      • 이미지/오디오/비디오 추가: 사이드 페이지에 D&D 혹은 [+] 버튼을 눌러 이미지 추가 가능합니다.
      • 이미지/오디오/비디오 삭제: 각 이미지마다 삭제 아이콘을 눌러 삭제 가능합니다.
      • 이미지/오디오/비디오는 각각 10개까지 업로드 가능합니다.
        • 만약, 에셋 업로드 개수를 초과하는 경우 초과하는 개수 이후로 업로드를 무시합니다.
        • 에러 메시지와 함께 업로드에 실패한 파일 이름 리스트 보여주기
    4. AI가 자유롭게 출력 가능할 때, 출력 가능 이벤트 설정
  6. 에셋을 삭제하고 싶은 경우, 각 에셋에서 [삭제] 버튼을 눌러 삭제 가능합니다. (디자인 확정 필요 - 지금처럼 갈지 캐릭터 이미지랑 맞출지)
상태값

경로: 출시 버전 기획서 / 스튜디오 수정사항 / 스튜디오 수정 사항

구분: 고급 설정

플로우/화면 디자인
기능 요청
  • Text validation과 글자수 제한 수정 (참고)
  • 주인공 상태에 ‘시간’ 상태값을 고정 초기값으로 넣어두기
    • 이름 (수정 불가)

      jsx
      시간
    • 출력 규칙 (수정 가능)

      jsx
      현재 시간을 탐지하여 아래 형식으로 출력
      - 형식: mm월 dd일 n요일 HH:mm
    • 초기값 (수정 가능)

      jsx
      ???요일 ??:??
    • ‘시간’ 상태값은 삭제 불가능합니다.

    • 플레이 화면에 표시, 대표 상태값 옵션은 동일하게 적용됩니다.

    • 주인공 상태는 ‘시간’을 포함하여 최대 5개까지 작성가능합니다.

세계관

경로: 출시 버전 기획서 / 스튜디오 수정사항 / 스튜디오 수정 사항

구분: 기본 설정

플로우/화면 디자인
  • 피그마 링크 >>
기능 요청

좌측 메뉴 수정 필요

  1. 메뉴에서 발행 상태, 발행 버전, 최신 발행일과 [발행하기] 버튼을 확인할 수 있습니다.
    • 수정 필요 [발행하기]를 누르는 경우 아래 내용의 모달이 뜹니다.
      • 제목: 현재 버전으로 발행하시겠어요?
      • 내용:
        • 새로운 버전으로 플레이하려면 에피소드를 새로 시작해야 합니다.
        • 발행 후 캐릭터 이름은 변경할 수 없습니다.
      • 버튼: 발행 취소 | 발행하기
  2. 메뉴 바를 접고 펼 수 있습니다.
    • 수정 필요 현재 모바일에서 에피소드 설정에 들어가면 접고, 펴는 아이콘이 보이지 않아요.

기본 프롬프트 작성 수정 필요

  1. 기본 프롬프트를 텍스트로 최대 3,000자까지 작성할 수 있습니다.
  2. ‘기본 프롬프트 예시 보기’를 누르면 노션 페이지로 이동합니다.
  3. 수정 필요 [다른 에피소드에서 불러오기]는 삭제해주세요.

플레이 진행 설정

  1. 사용 AI 모델: gemini-2.5-pro로 고정되어있습니다.
  2. 고급설정
    1. 플레이어 대사 출력 금지: 체크하면 사칭 금지 프롬프트가 추가됩니다.
    2. 주사위 시스템: 체크하고 최소, 최대값을 입력하면 주사위 시스템을 사용할 수 있습니다.
에피소드 관리

경로: 출시 버전 기획서 / 스튜디오 수정사항 / 스튜디오 수정 사항

구분: -

플로우/화면 디자인
  • 피그마 링크 >>
기능 요청
  1. 로그인 상태로 스튜디오에 들어오면, 자신이 만든 에피소드 리스트를 확인할 수 있습니다.
    • 표시되는 정보: 에피소드의 썸네일, 에피소드 제목, 발행 상태(미발행, 발행 완료), 마지막 편집 시간
    • 마지막 편집 시간을 기준으로 최신순으로 나열됩니다.
  2. [+ 새 에피소드] 버튼을 눌러 새로운 에피소드를 생성할 수 있습니다.
    • 생성 시 이름은 자동으로 ‘새로운 에피소드_N’의 형태로 만들어집니다.
  3. 에피소드 항목 내에 복제 아이콘을 눌러 에피소드를 통째로 복사할 수 있습니다.
  4. 에피소드를 눌러서 해당 에피소드 수정 페이지로 들어갈 수 있습니다.
  5. 좌측의 메뉴를 접을 수 있습니다.
에피소드 소개

경로: 출시 버전 기획서 / 스튜디오 수정사항 / 스튜디오 수정 사항

구분: 기본 설정

플로우/화면 디자인
  • 피그마 링크 >>
기능 요청

정보 입력값

**에피소드 이름 ***최소1자, 최대 20자
**썸네일 ***1장 정적 이미지 (4:5 비율 crop 제공)
**에피소드 설명 ***최소 1자, 최대 250자
**장르 ***최소 1개, 최대 3개 선택
  • 앱의 에피소드 상세에서는 첫번째 장르만 보여집니다.
  • 첫번째 장르 탭에만 에피소드가 보여집니다. | | **검색 태그 *** | 최소 1개, 최대 10개(태그 글자 수 최소 1자, 최대 10자) | | 미리보기 이미지 | 최소 0장, 최대 10장 | | **성인용 여부 *** | 전체 이용가/어른용 중 택1 | | **에피소드 공개 여부 *** | 비공개/링크공개/공개 중 택1 |

작품 특성 키워드 추천

  • 선택한 장르에 따라 키워드를 추천합니다.
선택한 장르에피소드 특징
없음#드라마 #엔딩맛집
연애/로맨스#달달 #순애 #짝사랑 #삼각관계 #청춘 #성장 #애절한사랑 #사내연애
SF/판타지#먼치킨 #이세계물 #초능력 #모험이가득한 #웅장한세계관 #다크판타지
로맨스판타지#환생물 #회귀물 #계약결혼 #악녀빙의 #설렘 #역하렘 #하렘
일상/현대#현실공감 #힐링물 #오피스라이프 #소소한행복 #성장드라마
무협#천하제일 #복수극 #환골탈태 #정통무협 #천하제일강호
역사/시대#궁중암투 #시대극 #대체역사
액션#느와르 #권선징악 #아포칼립스 #사이버펑크 #히어로물
학원#학교 #청춘물 #성장 #첫사랑 #하이틴 #우정과갈등 #학교괴담 #일진물
스포츠#성장형천재 #뜨거운승부 #팀워크 #감독시뮬레이션
코미디#대환장파티 #병맛 #착각계 #블랙코미디
공포/스릴러#심장주의 #생존게임 #폐쇄공포 #오컬트 #괴담
추리/미스터리#두뇌싸움 #탐정물 #반전주의 #밀실살인 #서스펜스 #탈출시뮬레이션
전쟁/밀리터리#전략전술 #밀덕필수 #전우애 #리얼리티 #첩보물
기타#장르파괴 #취향존중 #몰임갑최상

에피소드 삭제

  1. [에피소드 삭제]를 누르면 삭제 모달이 뜹니다.
  2. 삭제 문구를 정확히 따라 작성하는 경우 삭제가 됩니다.
에피소드의 저장과 발행, 에러

경로: 출시 버전 기획서 / 스튜디오 수정사항 / 스튜디오 수정 사항

구분: -

플로우/화면 디자인
  • 피그마 링크 >>
기능 요청
  1. 에피소드는 기본적으로 자동 저장입니다.
    1. 디자인 수정 사항
  2. 발행 시 필요한 디자인
    1. 발행 시 validation 오류 발생시 보여줄 모달 디자인
    2. 발행 확인 모달 필요: 발행에 중요한 정보를 확인하게 해주는 것도 좋을듯?
      • 예시:


        한 여름의 윤슬 전체 이용가 / 전체 공개


        발행하시겠습니까?

        • 주의: 발행 후 캐릭터의 이름은 변경이 불가능합니다.
연출 씬 에디터

경로: 출시 버전 기획서 / 스튜디오 수정사항 / 스튜디오 수정 사항

구분: 기본 설정

목표
  • 디렉터가 연출 씬을 작성할 때 1) 잘못 쓰는 오류를 줄인다. 2) 에셋을 쉽게 찾아 쓸 수 있게 한다.
플로우/화면 디자인
기능 요청
  1. 줄바꿈 기준으로 블럭화 + 프레임 번호 알려주기

  2. 에셋 검색 & 포맷 자동 완성

    • 노션 맨션이랑 삽입 검색 예시

    • 슬랙 예시

  3. 작성된 이름 위치 알려주기

    • 노션 예시: 맨션하는 경우 일반 텍스트와 다른 형태, 색깔 등으로 보여줌
  4. 깨진 것 알려주기

    • 슬랙에도 예전에 있었는데 지금은 사라진 것 같음

1. 줄바꿈 기준으로 블럭화 + 프레임 번호 알려주기

  1. 프레임 수 표시: 프레임 수를 보여줌으로써 연출 씬의 프레임 수 뿐만 아니라 줄바꿈으로 프레임이 구분된다는 것을 알립니다.
  2. 내용 인풋 영역: 연출 씬 내용을 작성할 수 있습니다. 줄바꿈(enter)을 할 때마다 프레임 블럭이 나뉘어지며 새로운 프레임 숫자가 매겨집니다.
    1. 블럭 내 줄바꿈(shift+enter)은 허용되지 않습니다. shift+enter를 시도하는 경우 아무 동작도 일어나지 않습니다.

2. 에셋 검색 & 포맷 자동 완성

  1. 유저는 연출 씬 작성 시, ‘@’를 통해 총 4가지의 태그를 검색 및 자동 완성하여 입력할 수 있습니다.
  2. 이름 검색 활성화: @를 입력하면 자동으로 검색창이 뜨며, 아래의 순서대로 보여집니다.
    1. 주인공 대사
    2. 캐릭터 대사
    3. 배경 에셋
    4. 상황 에셋
    5. 비디오
    • (허클 논의 필요) 모든 리스트를 불러오기 어려운 경우, 한 번에 최대 30개까지만 보여주고 아래에 ‘10개 더 불러오기’ 버튼 추가하는 식으로 구현
  3. 구분별 리스트 출처 및 정렬 순서
    1. 주인공 대사: 고정으로 {user}:: 만 존재합니다.
    2. 캐릭터 대사: 캐릭터 상태 이미지 값이 있는 것 중 가나다 순으로 정렬해서 양식에 맞게 보여줍니다. (예: 리제_서있음_무표정:😃
    3. 배경 에셋: 배경 에셋 이름을 가나다 순으로 정렬해서 양식에 맞게 보여줍니다. (예: {bg::폐허가 된 도시})
    4. 상황 에셋: 상황 에셋 이름을 가나다 순으로 정렬해서 양식에 맞게 보여줍니다. (예: {media::리제의 승리})
    5. 비디오: 비디오 에셋 이름을 가나다 순으로 정렬해서 양식에 맞게 보여줍니다. (예: {media::리제 재림의 현장})
  4. 선택 기본값: @만 입력했을 경우, 기본으로 {user}:: 가 선택되어있는 상태입니다.
    1. 선택되어있는 {user}:: 값은 연출 씬 입력 창에도 보여집니다. (적용 전이기 때문에 비활성화색으로 표현)
  5. @를 입력한 후 원하는 이름을 검색하면 직접 입력한 검색어가 연출 씬 입력 창에 보여집니다.
    1. 검색 리스트에는 검색어를 포함한 검색 결과를 아래 순 + 각 영역 내에서는 가나다 순으로 보여집니다.
      1. 주인공 대사
      2. 캐릭터 대사
      3. 배경 에셋
      4. 상황 에셋
      5. 비디오
    2. 각 리스트 내에서 정렬 순서: 검색 키워드가 정확히 일치(태그 있든 없든 둘다 가능?) > 시작 단어 일치(이름와 태그 모두 탐지 가능?) > 검색 키워드가 포함됨 (음절 단위로)
  6. 원하는 것을 찾아서 엔터/클릭으로 입력을 완료하면 자동으로 포맷이 완성됩니다.
    1. 방향키 위/아래 혹은 마우스 호버로 원하는 태그 선택 가능
      • 직접 검색어를 입력한 경우에는 선택한 이름 미리보여주는 기능 없음
    2. 선택한 이름을 엔터 혹은 마우스 클릭으로 입력 가능

3. 작성된 이름 위치 알려주기

  1. 선택을 하고 나면 포맷에 맞춰서 자동으로 작성되고 종류에 맞는 색상이 적용됩니다.
    1. 대사(주인공, 캐릭터)와 미디어 에셋(배경, 상황, 비디오)으로 구분하여 서로 다른 색깔 적용
    2. 색깔 적용 예시 (아래)

4. 포맷 깨진 것 알려주기

  1. 포맷이 깨지는 경우 기본 글씨 색깔로 돌아가서, 포맷이 깨졌다는 것을 알 수 있습니다.
    • 예시:
이벤트

경로: 출시 버전 기획서 / 스튜디오 수정사항 / 스튜디오 수정 사항

구분: 기본 설정

플로우/화면 디자인
  • 피그마 링크 >>
기능 요청
  • 아래 수정사항과 Text validation 외에 기능 변경사항은 없음

수정사항

  • [x] 서브 엔딩에서 스토리 전개 가이드 삭제

    • As-Is 서브 엔딩에 스토리 전개 가이드(아래 이미지 참고)가 포함되어 있습니다.

      • 스토리 전개 가이드
    • To-Be 서브 엔딩에서는 스토리 전개 가이드가 없어야 합니다.

  • [ ] 서브 이벤트에 서브 스토리가이드 추가

  • [ ] 메인 엔딩에 스토리 가이드라인 추가

    • As-Is 메인 엔딩에 스토리 전개 가이드(아래 이미지 참고)가 없습니다.

      • 스토리 전개 가이드
    • To-Be 메인 엔딩에 AI 스토리 가이드(스토리 전개 가이드에서 미션 제외)가 추가되어야 합니다.

      • 참고
  • [ ] 프롤로그를 제외한 모든 메인/서브 이벤트 및 엔딩에서 연출 씬을 선택값으로 변경

  • [ ] 그 외 디자인 수정 사항

캐릭터

경로: 출시 버전 기획서 / 스튜디오 수정사항 / 스튜디오 수정 사항

구분: 기본 설정

플로우/화면 디자인
  • 피그마 링크 >>
기능 요청

페이지 전반

  1. ‘플레이어 정보’ 란이 삭제됩니다. 삭제 필요
  2. 하위 메뉴 탭이 생기며, 캐릭터 정보캐릭터 이미지로 분리됩니다. 수정 필요

캐릭터 정보 수정 필요

  1. 캐릭터 정보에서 메인 캐릭터와 서브 캐릭터 중 1개를 선택할 수 있습니다.
  2. 둘 다 입력 항목은 동일하나, 설명 텍스트 제한에 차이가 있습니다.
    1. 캐릭터 이름: 텍스트로, 최대 20자
    2. 대표 이미지: 캐릭터 대표 이미지 중 1개 보여주기
      • 보기만 가능, 편집 불가
      • 이미지 칸 누르면 ‘캐릭터 이미지’ 탭의 *해당 캐릭터 이미지 카드(요건 P1)*로 이동
      • 대표 이미지가 여러 개라면 그중 랜덤으로 1개 선택 후 해당 이미지가 삭제되기 전까지 고정
    3. 설명: 텍스트로 입력, 메인은 최대 400자 서브는 최대 100자
  3. 캐릭터 설명 글자 수의 합이 2,400자 내에서 캐릭터를 생성할 수 있습니다.
    1. 캐릭터 생성 시점에 사용 가능한 글자 수가 차감되며, 메인은 400자, 서브는 100자 차감됩니다.
  4. [새 캐릭터 생성] 버튼을 누르면 ‘메인 캐릭터_N’으로 이름이 자동 입력되며 캐릭터 이름 입력 창에 자동 포커싱 됩니다.
    1. 사용 가능한 글자 수가 0자가 되면, [새 캐릭터 생성] 버튼이 비활성화됩니다.
    2. 한 번 발행된 캐릭터는 이름을 바꿀 수 없으며 char-id가 보여집니다.
    3. X 버튼을 눌러 삭제할 수 있으며, 삭제 시 정말 삭제할 것인지 안내 모달이 뜹니다.
      • 내용: 작성하신 캐릭터의 정보와 모든 이미지가 삭제됩니다. 정말 삭제하시겠습니까?

캐릭터 이미지 - 조합형

  1. 캐릭터 정보에 생성한 모든 메인, 서브 캐릭터의 캐릭터 이미지 카드가 자동으로 생깁니다.

    • 캐릭터가 있다면, 캐릭터 이미지는 최소 1개 이상 존재해야 합니다.
    • 캐릭터 char-id가 있으면 표시되고 없으면 생략합니다.
    • 캐릭터 이름과 총 이미지 개수(상태가 아니라 전체 이미지 개수)가 표시되어있습니다.
    • 첫 생성 시, 감정 축의 기본이 기본값으로 생성되어 있습니다.
  2. 캐릭터 상태별 이미지는 상태축을 먼저 생성한 뒤에 생성된 상태에 추가할 수 있습니다.

    1. 상태축 정의
      • 상황: Y축(세로축)
        • 축을 추가하면 ‘평상시’ 이름으로 자동 생성됨
      • 감정: X축(가로축)
        • 축을 추가하면 ‘기본’ 이름으로 자동 생성됨
    2. 맨 처음 만들어졌을 때 초기 상태값: X축만 있음
      • 초기값: 기본만 만들어진 상태
    3. Y 상태축 추가
      • 하단의 [+] 버튼을 눌러 Y 상태축을 추가할 수 있습니다.
    4. 상태 이름 추가/수정/삭제
      1. 추가: 세로축과 가로축의 [+] 버튼을 눌러 새로운 상태 이름을 추가할 수 있습니다.
        • 각 축의 상태 이름 개수가 20개 초과하면 더 이상 해당 축에 상태 이름을 추가할 수 없습니다. [+] 버튼이 사라지거나 or [+] 버튼 누르면 알림
      2. 수정: 상태 이름을 눌러 인풋 필드가 활성화되면 수정할 수 있습니다.
        • 캐릭터 내에서 상태 이름을 변경한다고 해도 다른 캐릭터에서 사용되는 상태 이름이 변경되지 않습니다.
      3. 삭제: 상태 이름의 내용을 완전히 비우면 상태값이 삭제됩니다. 이때, 축에 이미지가 한개도 없어야 상태값 삭제가 가능합니다.
      4. 각 상태 이름의 최대 글자수는 6자입니다.
      5. 한 캐릭터 내에서 상태 이름은 중복 불가능합니다.
  3. 사용 중인 캐릭터 상태 이름을 축 별로 확인할 수 있습니다.

    • 각 축마다 유니크 상태 이름을 최대 20개까지 가질 수 있습니다.
    • 이에 따라 캐릭터 간 같은 상태 이름을 공유하도록 유도하기 위해, 상태를 몇개 사용했는지 그리고 어떤 상태 이름을 사용하고 있는지 보여줍니다.
    • 상태 이름 정렬 방법: 가나다순
  4. 대표 상태 등록

    1. 유저는 최소 한 개 이상의 상태값을 대표 상태 이미지로 등록해야 합니다.

      → 등록하지 않은 경우 에러 (= 기본 이미지 없음)

      • 단, **‘AI가 임의로 출력 불가’**로 선택되어 있는 것은 대표 이미지로 등록이 불가능합니다.
    2. 항상 처음 등록된 상태를 대표 상태로 디폴트 설정

      • 대표 상태는 필수 입력값
      • 다른 것을 대표 상태로 등록하고 싶다면 더보기 버튼을 눌러 대표 상태로 등록할 수 있음
    3. 대표 상태가 등록되면, 대표 상태값의 대표 이미지가 [캐릭터 정보] 탭에서도 보여집니다.

  5. 상태별 이미지의 추가/삭제

    1. 각 상태에 이미지 추가 방법
      1. 각 이미지 카드(이미지가 있든 없든)에 이미지 파일을 D&D 하여 업로드
      2. 각 이미지 카드(이미지가 있든 없든)를 클릭하여 사이드 페이지가 뜨면, 사이드페이지에 D&D 혹은 [+]를 눌러 파일 업로드 창을 통해 파일을 선택해서 업로드
    2. 이미지 삭제 방법
      1. ‘더보기’ 버튼을 눌러 이미지 삭제
      2. 사이드 페이지에서 이미지 삭제
  6. 상태별 이미지 설정 (사이드페이지)

    1. 각 캐릭터 상태를 눌러 사이드 페이지로 진입할 수 있습니다.
    2. 사이드 페이지에 있는 항목
      1. 상태 이름: 상태이름1_상태이름2
        • 상태 이름을 그대로 가져와서 보여주며, 수정 불가
        • 이벤트씬에서 사용할 수 있도록 예시를 각 캐릭터 상태별 이미지 이름으로 치환해서 작성해줍니다. (예: {캐릭터이름}{상태이름1}:: “반가워요")
      2. 이미지 출력 자유도: AI가 자유롭게 출력 가능 or AI가 임의로 출력 불가
      3. 이미지 리스트 & 추가 버튼
        • 이미지 추가: 사이드 페이지에 D&D 혹은 [+] 버튼을 눌러 이미지 추가 가능합니다.
        • 이미지 삭제: 각 이미지마다 삭제 아이콘을 눌러 삭제 가능합니다.
      4. AI가 자유롭게 출력 가능할 때, 출력 가능 이벤트 설정
      5. 캐릭터 상태 이미지 삭제
        • 삭제를 누를 경우 캐릭터 상태 이미지가 삭제됩니다.
  7. 캐릭터 상태 이미지가 없는 경우 캐릭터 이미지 출력 로직

    1. 같은 상황 축의 대표 이미지의 감정 이미지를 출력
    2. a가 없는 경우 같은 상황 축의 랜덤 이미지를 출력

    예시)

    • 백시우_수영복_대화중백시우_수영복_미소 이미지를 출력
    • 백시우_전화로_앞으로구부림백시우_전화로_대화중
키워드북

경로: 출시 버전 기획서 / 스튜디오 수정사항 / 스튜디오 수정 사항

구분: 고급 설정

플로우/화면 디자인
  • 피그마 링크 >>
기능 요청

스튜디오 수정사항

경로: 출시 버전 기획서

진행 현황: 기획 중

스튜디오 수정 사항

신작

경로: 출시 버전 기획서

개요: 유저는 [신작] 페이지에서 최신 순과 플레이 많은 순으로 신작 리스트를 볼 수 있습니다. 탭 이름: 홈 유저 목적: 콘텐츠 탐색 진행 현황: 디자인 완료 피그마 링크: https://www.figma.com/design/j0EsFUiD13q2eSUQhRtNz8/🛝01_FronTia_APP_출시?node-id=5402-76785&t=m69Q2Ry5gBE0VPZO-1

목표

  • 유저는 [신작] 페이지에서 플레이 많은 순과 최신 순으로 신작 리스트를 볼 수 있습니다.
    1. 플레이 많은 순: 신작 중에서도 어느 정도 검증된 작품을 노출함으로써 신작 순환을 높이면서 동시에 플레이어 유저 경험도 충족
    2. 최신순: 신작을 더 많이 노출될 수 있게 함으로써 신작 제작 장려 목적

플로우/화면 디자인

기능 요청

  1. 유저는 홈 탭에서 상단의 [신작]을 눌러 [신작] 페이지로 진입할 수 있습니다.
  2. [신작] 페이지에는 [인기 신작]과 [방금 나온 신작] 탭으로 이루어져있으며, 항상 [신작] 페이지 랜딩 시 기본값으로 [인기 신작]에 랜딩합니다.
  3. [신작] 페이지에 노출되는 에피소드 기준: 최근 3일 이내에 최초 ‘공개’된 것
  4. 노출되는 모든 에피소드는 공개 여부가 **‘공개’**이고, Status가 **‘active’**여야 합니다.
    • 참고: 에피소드의 status는 에피소드 노출을 차단하기 위해 어드민에서 설정하는 값입니다.
  5. 노출되는 에피소드 정보:
    1. 인기 신작: 썸네일, 작품 제목, 작가명, 에피소드 설명, 성인용 아이콘, 신작 아이콘, [바로 플레이] 버튼
      • 인기 신작에서는 [바로 플레이] 버튼이 함께 노출되어, 바로 플레이에 진입할 수 있습니다.
    2. 방금 나온 신작: 썸네일, 작품 제목, 작가명, 성인용 아이콘, 신작 아이콘
    3. 아이콘 기준 참고:
      • 성인용 아이콘: 스튜디오에서 발행 시 성인용으로 체크한 것은 성인용 아이콘이 붙습니다.
      • 신작 아이콘: 최근 3일 이내에 최초 ‘공개’된 작품에 신작 아이콘이 붙습니다.
    4. 인터랙션 가능한 것:
      • 썸네일, 작품제목: 누르면 에피소드 상세로 이동
      • 작가명: 누르면 해당 유저의 프로필로 이동
  6. 각 탭 내 에피소드 정렬 기준은 다음과 같습니다.
    1. 인기 신작: 누적 플레이 턴 수가 많은 순 (공개 발행 시점부터 카운트) && 0이 아닌 작품
    2. 방금 나온 신작: 최초 ‘공개’일자 기준으로 최신 순
  7. 성인용 콘텐츠 노출 정책:
    1. 성인 인증을 하지 않은 유저: 성인용 에피소드를 빼고 노출합니다.
    2. 성인 인증을 한 유저: 성인용 에피소드를 포함해서 노출합니다.

알림 센터 - 안함

경로: 출시 버전 기획서

개요: 유저는 본인이 받고 싶은 정보를 알림 페이지에서 확인할 수 있습니다. 탭 이름: 홈 유저 목적: 정보 수신/확인 진행 현황: 보류

목표

  1. 유저는 본인에게 필요한 정보나 공지 사항을 알림 페이지에서 확인할 수 있습니다.

화면 디자인/유저 플로우

기능 요청

  1. 유저는 홈 탭의 우측 상단에서 알림 아이콘을 눌러 알림 페이지로 이동할 수 있습니다.
  2. 아직 확인하지 않은 알림이 있는 경우 알림 아이콘에 레드닷이 노출됩니다.
  3. 30일 이내에 받은 알림만 표시됩니다.
  4. 유저는 알림 페이지에서 본인에게 온 앱 알림 메시지의 기록을 볼 수 있습니다.
    1. 알림 메시지의 종류
      1. 출석 체크 알림
      2. 팔로우한 작가의 신작
        • 내가 팔로우
      3. 내 에피소드에 달린 댓글 알림 (대댓글은 X)
        • {닉네임} 님이 내 에피소드에 댓글을 달았어요.
      4. 내 팔로우 알림
        • {닉네임} 님이 나를 팔로우하기 시작했어요.
      5. 내 에피소드 좋아요 알림
        • {닉네임} 님이 내 에피소드를 좋아했어요.
  5. 각 알림을 누르면 관련 기능으로 이동합니다.
    1. 출석 체크 알림 → 출석 보상 페이지로 이동
    2. 팔로우한 크리에이터의 신작 → 해당 작품 페이지로 이동
    3. 내 활동 관련: 댓글, 좋아요, 팔로우
  6. 확인한 알림 메시지는 읽음 처리되어 유저가 이미 읽은 메시지라는 것을 알 수 있습니다.

알림설정

경로: 출시 버전 기획서

개요: 유저는 [마이]-[메뉴]의 [알림 설정] 메뉴에서 본인이 어떤 알림을 받을 것인지 설정할 수 있습니다. [알림 설정] 메뉴는 모바일 앱에서만 노출됩니다(아직 웹 없지만..) 탭 이름: 마이 유저 목적: 계정 관리 진행 현황: 디자인 완료 피그마 링크: https://www.figma.com/design/j0EsFUiD13q2eSUQhRtNz8/01_FronTia_APP_출시?node-id=6364-355035&t=uhupw7euPS5SPp10-1

목표

  1. 유저는 [마이]-[메뉴]의 [알림 설정] 메뉴에서 본인이 어떤 알림을 받을 것인지 설정할 수 있습니다.

화면 디자인/유저 플로우

기능 요청

  1. [알림 설정]은 모바일 앱에서만 노출됩니다.
  2. 유저는 [마이]-[메뉴]의 [알림 설정]에서 앱 푸시 알림을 켤 수 있습니다.
    1. On/Off 상태에서의 UI
      1. On 상태일 때: Off 하는 토글은 없고, ‘활성화’라고 쓰여있습니다. (이후 토글로 변경 예정)
      2. Off 상태일 때: On하는 토글이 보여지며, 아래 마케팅 알림 및 야간 혜택 알림이 비활성화됩니다.
    2. On/Off 방법
      1. Off상태일때 앱에서 On하려고 하면 시스템 알림 설정으로 이동시킵니다.
        • 원래부터 On되어있거나 시스템 알림 설정에서 푸시 알림을 켠 경우, 앱에서 Off할 수 없습니다.
      2. 앱 푸시 알림을 끄고 싶다면, 시스템 알림 설정으로 가서 꺼야 합니다.
  3. 유저는 [마이]-[메뉴]의 [알림 설정]에 들어와서 아래의 알림 설정을 변경할 수 있습니다.
    1. 마케팅 알림:
      1. 동의한 경우: 토글을 꺼서 마케팅 수신을 철회할 수 있습니다.
        • 가입 시 선택 동의 사항인 마케팅 수신 동의에 동의한 경우 ‘동의함’으로 보여집니다.
        1. 철회 시: 마케팅 알림 수신 동의 철회 OS 모달이 뜹니다.
        2. 데이터: 마케팅 목적 개인정보 활용, 광고성 정보 수신 각각 동의 철회한 것으로 저장
      2. 동의하지 않은 경우: 토글을 켜서 이벤트 소식 알림에 동의할 수 있습니다.
        1. ‘알림 받기’를 누르면 안내 모달이 뜹니다.
          1. 내용: 이벤트 소식 및 마케팅 수신 동의 내용
          2. 버튼: 동의 | 다음에
            1. 동의 시: 마케팅 알림 수신 동의 OS 모달이 뜹니다.
            2. 데이터: 마케팅 목적 개인정보 활용, 광고성 정보 수신 각각 동의한 것으로 저장
        2. 동의한 경우 토글이 켜지며, 야간 혜택 알림도 기본으로 On됩니다. 야간 혜택 알림은 별도로 Off를 눌러 끌 수 있습니다.
      3. 푸시 알림이 Off 상태이면 비활성화됩니다.
    2. 야간 혜택 알림(오후 9:00~오전8:00 알림 발송): On/Off 가능
      • 푸시 알림이 Off 상태이면 비활성화됩니다.

  • 참고: UI만 있고, 데이터 저장하고, 실제로 작동은 하지 않습니다. 광고성 X 정보성만 최소한으로 푸시 쏠 예정이라 작동하지 않아도 괜찮음.
    • 그래서 off를 했을 때 왜 오지? 라는 생각이 들지 않게 현재 필요없는 것들은 모두 제외합니다. 이후 푸시 시스템 디벨롭하면서 추가할 예정
      1. 소식 알림(신규 기능, 이벤트, 에피소드 관련 소식 등): On/Off 가능
      2. 소셜 알림(댓글, 팔로우, 팔로우한 사용자의 새 에피소드 등): On/Off 가능
      3. 출석체크 알림(매일 출석체크 안내): On/Off 가능
  • 참고2: 원시그널에서 푸시 보낼 때 앱 시스템 상에서 알림 off해놓은 것은 알아서 안 갑니다.

약관게시 버전정보

경로: 출시 버전 기획서

개요: 유저는 [마이]-[메뉴]의 약관게시와 버전 정보에서 프론티아 약관과 버전 정보를 확인할 수 있습니다. 탭 이름: 마이 유저 목적: 정보 수신/확인 진행 현황: 기획 완료

목표

  1. 유저는 [마이]-[메뉴]의 약관게시와 버전 정보에서 프론티아 약관과 버전 정보를 확인할 수 있습니다.

화면 디자인/유저 플로우

기능 요청

  1. 유저는 [마이]-[메뉴]의 [이용약관] 메뉴에 들어가면 프론티아 서비스 정책 리스트를 확인할 수 있는 노션 페이지로 이동(앱 내 이동)합니다.
    • 볼 수 있는 약관 및 정책 문서: 1) 서비스 이용약관, 2) 개인정보 처리방침, 3) 청소년 보호 정책
  2. 유저는 [마이]-[메뉴]에서 현재 유저가 사용 중인 프론티아 앱 버전을 확인할 수 있습니다.
    1. [메뉴] 메뉴에서 바로 버전 정보를 확인할 수 있습니다.
    2. 인터랙션은 불가합니다.

어드민

경로: 출시 버전 기획서

개요: 운영/관리자는 어드민을 통해 프론티아 앱 내부에서 일어나는 유저/콘텐츠/재화에 대한 관리를 할 수 있다. 탭 이름: - 진행 현황: 기획 완료

목표

  1. 운영/관리자는 어드민을 통해 프론티아 앱 내부에서 일어나는 유저/콘텐츠/재화에 대한 관리를 할 수 있다.

화면 디자인/유저 플로우

기능 요청

  1. 출시 시점 / 출시 이후
  1. 테이블 name은 이해를 위한 용도로, 임의로 잡았습니다~ / 자세한 데이터 저장 방식이나 API 사용 방식은 바다께서 편하신 방향으로 해주세요!
  2. 당장 필요 없을 것 같은 기능은 괄호&댓글로 ‘확인 필요’로 표시, 추후 논의
  3. 각 기능에서 디테일 변경되면 작업 쉬울 것 같은 내용 짚어주세요 @bada park ~
<출시 시점>
구분기능명기능 설명필요 백엔드 개발사항상세 & 비고
공통어드민 인증어드민 계정으로 로그인/접속 관리(리툴 기능으로 갈음)권한 구분은 현재 단계에선 미적용
유저 관리유저 검색이메일, 닉네임, 유저ID로 검색User 테이블 조회 API + 검색 필터[상세 조회 내용]
  1. 유저 이메일
  2. 프론티아 닉네임
  3. 유저 id
  4. 가입일시
  5. PASS 인증 이력(성인인증)
  6. 나이
  7. 성별 | | | 탈퇴 유저 조회 | 탈퇴 유저 정보 확인 | WithdrawnUser 테이블 조회 API | 상세 조회 내용은 ‘유저 검색’ 기능과 동일 &
  • 탈퇴 일시 | | (제작자 관리) | 제작자 검색 | 이메일, 프론티아 닉네임, 유저ID로 검색 | Creator 테이블 조회 API | [상세 조회 내용]
  • 기본 유저 정보(이메일, 프론티아 닉네임, 유저ID)
  • 보유 에피소드 개수
  • 최근 생성 일자
  • 생성 제재 여부(제재 되었다면 ‘기간(시작일자/종료일자)’ & ‘사유’) | | | 제재 제작자 조회 | 생성 제재 중인 제작자 목록 확인하는 기능 | Restricted Creator 테이블 조회 API | 기간/사유 포함 | | 에피소드 관리 | 에피소드 조회 | 에피소드 중심으로 콘텐츠 조회 | Episode 테이블 조회 API (이름, 닉네임, 유저ID) | [조회 방식] - retool 자체 기능으로 갈음, 참고만
  • 에피소드 이름 or 프론티아 닉네임 or 유저 id [상세 조회 내용]
  • 에피소드 이름
  • 제작자 프론티아 닉네임
  • 제작자 유저id
  • 에피소드 썸네일
  • 에피소드 소개
  • 에피소드 첫 발행 일시
  • 에피소드 첫 공개 일시
  • 에피소드 최종수정일시
  • 에피소드 공개상태 - public, linkonly, private
  • 에피소드 등급 수준(세이프티/언세이프티)
  • 에피소드 Status - active, delete, blocked | | | 에피소드 상세 조회 | 에피소드 상세 정보, 캐릭터/이벤트/에셋/세계관 등 확인 | Episode Detail API (episode_id 기반) → Character, Event, Asset 테이블 Join ?? | [조회 방식]
  • 리툴 내에서 해당 에피소드 테이블에서 더블클릭하면 들어가게 만들 예정 [상세 조회 내용]
  • 바로 위의 ‘에피소드 조회’에서 [상세 조회 내용]
  • 프롬프트(세계관 설정)
  • 캐릭터 정보(이름, 이미지, 설명)
  • 미디어 에셋 정보
  • 이벤트 설계 내용
  • 키워드북 작성 내용
  • 상태값 정보
  • 차단 사유(차단되었다면)
  • 에피소드 장르
  • 에피소드 해시태그 | | | 에피소드 차단/해제 | 어드민으로 차단, 사유 기록 | BlockedEpisode 테이블에 기록, Episode 상태 변경 | 참고 - [상세 작동 방식]
  • 에피소드 조회 테이블에서 특정 에피소드 호버했을 때 버튼 클릭할 수 있게 할 예정 ****1. 프론티아 닉네임, 유저id, 에피소드 이름 으로 차단 에피소드 조회한다.
  1. 차단 버튼 클릭
  2. 차단을 해제할 수 있어야 함.
  3. 차단 상세사유 작성
  4. 유저에게 차단 사유가 보여야 함. | | 결제 관리 | 결제 내역 조회 | 결제 정보 확인 | Payment 테이블 조회 API | - email, nickname, user_id 필터 걸어서 조회할 예정
  • 최신순 기본 정렬 | | | 결제 상세 조회 | 결제 상세 정보 확인 | Payment Detail 조회 API | [상세 조회 내용]
  1. 결제id
  2. 이메일
  3. 프론티아 닉네임
  4. 유저 id
  5. 결제 상품 이름
  6. 상품 금액
  7. 결제 플랫폼(Google play / App store / payments 종류 등)
  8. 결제 일시
  9. 상품 지급 일시
  10. 상품 지급 여부(결제 성공 여부) | | | 환불 내역 조회 | 환불 결제내역을 조회하는 기능 | Refunded Payment 조회 API | [조회 방식] - retool 자체 기능으로 갈음, 참고만
  • 에피소드 이름 or 프론티아 닉네임 or 유저 id [상세 조회 내용]
  1. 결제id
  2. 유저 정보(이메일, 프론티아 닉네임, 유저id)
  3. 결제 상품 이름
  4. 상품 금액
  5. 결제 플랫폼(google play / app store / payments 종류 등)
  6. 결제 일시
  7. 환불 일시
  8. 환불 성공 여부 | | | 환불 | 웹으로 결제한 내역 중 필요에 의해 강제로 환불시키는 기능
  • 운영상의 이유로 환불 필요해지는 경우 존재 | Payment Refund 기능 API | [상세 작동 방식]
  • 결제 내역 조회 테이블에서 호버했을 때 버튼 클릭해서 환불시킬 예정
  • 자동 환불시키면 자동으로 재화 차감 로직 필요 | | 배너 | 배너 조회 | 등록했던 배너를 조회할 수 있는 공간 | | [상세 조회 내용]
  • 배너 이름
  • 배너 한 줄 소개
  • 배너 유형(콘텐츠형, 공지형)
  • 배너 태그
  • 등록된 장르
  • 등록기간 | | | 배너 등록/수정 | 배너를 등록 및 등록기간을 조정할 수 있는 기능 | Banner Create / Update API | [작성될 내용]
  • 배너 제목
  • 배너 한 줄 소개
  • 배너 태그(직접작성, 선택형x)
  • 미디어(미디어 첨부 가능하여야 함) / 에피소드라면 에피소드 썸네일 자동 등록
  • 등록할 장르
  • 배너 등록 기간
  • 바로플레이 or 자세히보기 클릭 시 연결될 링크(딥링크?)

[참고사항]

  • (딥링크 필요하다면 딥링크로 변환해주는 영역 있어야함.)
  • 등록된 배너를 내릴 땐, 삭제하지 않고 등록기간을 조정하는 방식으로. | | 큐레이팅 | 큐레이팅 그룹 조회 | 등록했던 큐레이팅 그룹을 조회할 수 있는 공간 | | [상세 조회 내용]
  • 큐레이팅그룹 이름
  • 큐레이팅된 에피소드
  • 등록된 장르
  • 등록 기간 | | | 큐레이팅 그룹 등록/수정 | 큐레이팅 그룹을 등록 및 등록된 에피소드와 순서, 그리고 등록 기간을 조정할 수 있는 기능 | 등록했을 때 에피소드 썸네일 / 이름 / 작가명 - 앱으로 불러와야 함. | [상세 등록 방식]
  • 그룹 이름 작성
  • 그룹에 들어갈 에피소드를 선택해야한다.
    • 에피소드 검색&그룹에 집어넣을 수 있는 기능 필요
    • 등록 순서를 직접 조정할 수 있어야 함.
  • 등록 기간 조정할 수 있어야 함.
  • 등록할 장르 설정 |

<출시 이후>
구분기능명기능 설명필요 백엔드 개발사항상세 & 비고
유저 관리유저 차단 기능특정 유저의 서비스 이용 제한User 상태 필드(status=blocked) 업데이트 API[상세 조회 내용]은 ‘유저 검색’ 기능과 동일
&
  • 차단 사유 | | | 댓글 생성제재/해제 | 유저의 댓글 생성을 (일정기간)제재할 수 있다. | | 참고 - [상세 작동 방식]
  • 유저 조회 테이블에서 특정 유저 호버했을 때 버튼 클릭할 수 있게 할 예정 ****1. 유저 테이블을 조회
  1. 생성제재 버튼 클릭
  2. 댓글 생성을 제재/해제할 수 있어야 함.
  3. 생성 제재 사유 작성 가능 하여야 함.
  4. 댓글 생성 제재 기간을 작성 가능하여야 함.
  5. 유저에게 제재 사유가 보여야 함. | | | 생성 제재 기능 | 일정 기간 동안 콘텐츠 생성 제한 | Creator Restrict하게 Update 하는 API 필요 Restricted Creator 테이블 (user_id, 기간, 사유) | [생성제재란] → 에피소드의 등록을 일정 기간동안 제한하는 제재방식 참고 - [상세 작동 방식]
  • 제작자 조회 테이블에서 특정 제작자 호버했을 때 버튼 클릭할 수 있게 할 예정
  1. 프론티아 닉네임, 유저id로 제작자를 조회한다.
  2. 생성제재 버튼 클릭(생성제재)
  3. 차단을 해제할 수 있어야 함.
  4. 제재 사유 작성
  5. 제재 기간 작성
  6. 유저에게 제제 사유와 기간이 보여야 함. | | 에피소드 관리 | 신고 에피소드 관리 | 유저가 신고한 에피소드들을 조회할 수 있다. | Reported Episode 조회 API | [조회 내용]
  7. 신고 수 기준 내림차순 정렬 ****1. 에피소드 이름
  8. 제작자
  9. 신고 수 | | | 신고 에피소드 상세 조회 | 유저가 신고한 에피소드id 기준으로 신고 내용을 상세조회 할 수 있다. | | [상세 조회 내용]
  10. 신고 에피소드 관리 테이블에서 클릭해서 상세조회 모달 열 예정 ****1. 신고내용 테이블
  • 신고자
  • 신고 사유
  • 신고 일시 | | | 신고 댓글 관리 | 유저가 신고한 댓글들을 조회할 수 있다. | Reported Comment 조회 API | [조회 내용]
  1. 신고 수 기준 내림차순 정렬 ****1. 댓글 본문
  2. 댓글 작성자 유저 닉네임 or id
  3. 댓글이 작성된 에피소드
  4. 신고 수 | | | 신고 댓글 상세 조회 | 유저가 신고한 댓글id 기준으로 신고 내용을 상세조회 할 수 있다. | | [상세 조회 내용]
  5. 신고 댓글 관리 테이블에서 클릭해서 상세조회 모달 열 예정 ****1. 신고내용 테이블
  • 신고자 유저 닉네임 or id
  • 신고 사유
  • 신고 일시 | | | 공개/비공개 전환 | 에피소드 노출 여부 설정 | Episode.status 필드 toggle API | 참고 - [상세 작동 방식]
  • 에피소드 조회 테이블에서 특정 에피소드 호버했을 때 버튼 클릭할 수 있게 할 예정 | | | 세이프티/언세이프티 전환 | 콘텐츠 등급(세이프/언세이프) 조정 | Episode.safety_level 업데이트 API | 참고 - [상세 작동 방식]
  • 에피소드 조회 테이블에서 특정 에피소드 호버했을 때 버튼 클릭할 수 있게 할 예정 | | | 에피소드 삭제 | 에피소드를 삭제 상태로 변경할 수 있다. | | - 에피소드 데이터를 완전히 삭제하는 기능은 아니며
  • deleted ‘상태’로 전환하는 것 | | 랭킹 관리 | 랭킹 | 랭킹 구좌별 순위 조정 및 특정 에피소드에 대해 랭킹에서 제외를 할 수 있다. | | | | 재화 관리 | 재화 발급 | 유저에게 직접 재화 지급 | CurrencyGrant API (user_id에 대해 amount와 reason을 작성하고, 이후에 조회도 가능해야 함.) | [상세 작동 방식]
  1. 유저 이메일, 프론티아 닉네임, 유저id 로 지급 유저 작성한다.
  2. 발급 개수 작성한다.
  3. 발급 사유 작성한다.
  • 추가) CSV 파일로 벌크로 보낼 수 있어야 함. | | | 재화 발급 로그 | 발급 내역 기록 및 조회 | CurrencyLog 테이블 | [상세 조회 내용]
  • 발급 일시 기준 최신순 정렬 ****- 유저 정보(유저id), 발급 개수, 발급 사유, 발급 일시 | | 결제 관리 | 결제 대시보드 | 결제 상황을 한 눈에 확인할 수 있는 공간 | | (Retool 자체 기능으로 갈음할 수 있나 고민)
  • 세부 확인 필요사항은 ryan, momo와 논의
  • 최소 필요 내용은 하단 토글에 정리 | | 공지 | 공지 조회 | 현재 등록되어 있는 공지를 조회할 수 있는 공간 | | [상세 조회 내용]
  • 공지 제목
  • 작성일시 | | | 공지 작성/삭제 | 공지를 작성 및 삭제할 수 있는 기능 | Notice Create/Delete API | [작성될 내용]
  • 공지 제목
  • 공지 본문
  • 미디어(미디어 첨부 가능하여야 함) |
<결제 대시보드> - (집계 되어야 할 데이터)

고민 @Ryan @momo

  1. 출시 시점에 ‘어드민에’ 대시보드 필요할 것 같은지?
  • 앱/웹 모두 굳이 어드민 아니더라도 매출 추적 가능하지 않나?
  • 공수가 많이 든다면 빼는게 좋지 않을까?(바다 확인 필요) &
  1. 필요하다면 추가적으로 필요할 것 같은 내용이 있으시다면 말씀해주세요!
  • 결제 대시보드는 매출을 확인할 수 있는 공간입니다.
  • 모든 합산되는 데이터 기준은 ‘결제 완료 시점’과 ‘환불 완료 시점’입니다.
    • 금액의 변동은 결제시점 기준
      • ex. 6월에 구매한 상품을 7월에 환불 시, 환불로 인해 줄어든 매출 금액 반영은 6월 매출에 되어야 한다.
  • 대시보드는 아래의 기간 설정 기능이 있어야 합니다.
    • 직접 설정한 기간
      • 시간까지 조절이 가능.
  • 해당 대시보드에는 다음의 정보가 조회됩니다.
    • 상품 종류별 총 결제 횟수
      • 총 환불 횟수 또한 표시
    • 상품 종류별 총 결제 합산 금액
      • 상품 종류별 총 환불 합산 금액 또한 표시
    • 설정 기간 전체 결제 합산 금액
      • 전체 환불 합산 금액 표시
      • ‘결제 합산 금액 - 전체 환불 금액’ 표시

에피소드 상세

경로: 출시 버전 기획서

개요: 유저는 에피소드 상세 페이지에서 에피소드 정보를 확인하고 플레이로 쉽게 진입할 수 있습니다. 탭 이름: 홈 유저 목적: 콘텐츠 탐색 진행 현황: 디자인 완료 피그마 링크: https://www.figma.com/design/j0EsFUiD13q2eSUQhRtNz8/🛝01_FronTia_APP_출시?node-id=5450-84079&t=m69Q2Ry5gBE0VPZO-1

목표

  • 유저는 에피소드의 매력을 확인하고 플레이로 자연스럽게 진입할 수 있습니다.
    1. 유저는 해당 에피소드의 매력(스토리, 이미지, 작가의 어필 등)을 충분히 알 수 있습니다.
    2. 유저는 쉽게 에피소드 플레이로 진입할 수 있습니다.
  • 고려해야할 것:
    1. 유저가 본인이 원하는 에피소드인지(본인 취향의 에피소드인지) 빠르고 쉽게 확인하게 만듭니다.
    2. 유저가 해당 에피소드를 플레이를 하고 싶게 만듭니다.

화면 디자인/유저 플로우

기능 요청

에피소드 상세 페이지 공통 정책

  1. 유저는 에피소드의 썸네일이나 설명 영역을 선택하여 에피소드 상세 페이지(풀스크린 모달)로 이동할 수 있습니다.
    • 진입점: 홈 탭 및 플레이 탭, 검색 시 나오는 에피소드 썸네일 혹은 설명 영역, 알림
    • 삭제된 에피소드의 상세 페이지에에 진입하려고 시도하는 경우, 에러 모달이 뜨며 진입할 수 없습니다.
  2. 유저는 좌측 상단의 뒤로 가기(<) 버튼을 눌러 이전 페이지로 돌아갈 수 있습니다.
  3. 유저는 우측 상단의 메뉴 버튼을 눌러 에피소드 공유, 신고, 차단을 할 수 있습니다.
    1. 에피소드 공유: 공유를 누르면 os 공유 바텀시트가 뜹니다.
    2. 에피소드 신고: 신고를 누르면 신고 사유를 선택하고 상세 내용을 작성하여 제출할 수 있습니다.
      1. 신고 사유(필수): 다음 중 택1
        1. 유해한 내용이 있어요.
        2. 권리(초상권, 저작권 등)를 무시한 내용이 있어요.
        3. 악의적인/혐오적인 주제가 있어요.
        4. 전체이용가 등급에 맞지 않는 내용이 있어요.
        5. 오류가 자주 발생해요.
        6. 기타
      2. 상세 내용(필수): 텍스트로 최대 1,000자 이내로 작성
      3. [제출 버튼]을 누르면 ‘[에피소드 신고] 에피소드 이름’의 제목으로 고객 센터 메일(help@deepgrov.io-미정)로 전송됩니다. → DB에 저장됩니다.
    3. 에피소드 차단: 차단을 누르면 [차단 관리] 리스트에 해당 에피소드가 추가되고, 차단을 해제하기 전까지 해당 에피소드의 상세 페이지에 진입할 수 없습니다.
  4. [유저 차단 에피소드] 차단한 에피소드 or 차단한 유저가 만든 에피소드의 상세 페이지에 진입하려고 시도하는 경우:
    • 차단한 에피소드라는 모달이 뜨며 에피소드 상세 페이지로 이동이 불가능합니다.
    • 모달 내용(문구 변경될 수 있음): {닉네임} 님이 차단한 에피소드입니다. [확인] [차단 해제]
      • [확인]을 누르면 이전 페이지로 이동합니다.
      • [차단 해제]: 에피소드 차단이 해제되고 에피소드 상세 페이지를 확인할 수 있습니다.
  5. [어드민 차단 에피소드] 에피소드의 status가 ‘blocked’인 에피소드의 상세 페이지에 진입하려고 시도하는 경우:
    • 차단한 에피소드라는 모달이 뜨며 에피소드 상세 페이지로 이동이 불가능합니다.
    • 다른 유저 에피소드일 경우:
      • 모달 내용(문구 변경될 수 있음): 차단된 에피소드입니다. [확인]
      • [확인]을 누르면 이전 페이지로 이동합니다.
    • 내 에피소드일 경우:
      • 모달 내용(문구 변경될 수 있음): {차단 사유}로 차단된 에피소드입니다. 연락 주세요. [확인]
      • [확인]을 누르면 이전 페이지로 이동합니다.
  6. 유저는 에피소드 상세 화면에서 1) 에피소드의 정보 확인 2) 댓글 리스트로 이동 3) 에피소드를 플레이할 수 있습니다.
  7. 에피소드 상세 정보: 에피소드의 정보 영역에서 표시되는 정보와 인터랙션 가능한 내용은 다음과 같습니다.
    1. 에피소드 정보 영역에는 다음과 같은 정보가 표시됩니다.
      1. 썸네일: 에피소드 썸네일
      2. 성인용 콘텐츠 여부: 성인용 콘텐츠일 경우에만 태그 표시
      3. 에피소드 제목
      4. 작가명: 작가의 계정 닉네임
      5. 작품 장르 및 태그: 스튜디오에서 지정한 작품 장르와 태그
      6. 좋아요 수: 해당 에피소드가 받은 총 좋아요 수
      7. 댓글 수: 해당 에피소드에 작성된 총 댓글 수 (대댓글 포함)
      8. 수집한 미디어 개수: 해당 에피소드에서 수집한 미디어 개수를 ‘수집한 미디어 누적 개수 / 전체 수집 가능한 개수’로 표시
        • 수집한 미디어 개수: 에피소드를 플레이하면서 확인한 미디어 개수가 누적되어서 보여짐
        • 전체 수집 가능한 개수: 작가가 스튜디오에서 등록한 미디어 개수
        • 미디어 종류: 캐릭터 상태별 이미지, 상황 이미지, 배경 이미지, 비디오
        • 이미지 갤러리 기능은 이번 스펙에서 제외됩니다.
          • 이유: 업로드 가능한 미디어의 최대 개수가 4,010개로 늘어나면서, 제작자들이 미디어 공유에 대해 저작권 등의 문제로 업로드에 소극적일지도 모른다는 판단으로, 파급 효과를 예측할 수 없기 때문에 추후 업데이트하는 것으로 결정. 원래 목적은 못본 미디어를 더 보고 싶도록 만드는 것이므로, 갤러리 기능만 제외하고 수집한 미디어 개수를 보여주는 정도로 남김.
      9. 에피소드 설명: 3줄까지만 보이고 접기
      10. 에피소드 설명 이미지(4:5 비율): 작가가 스튜디오에서 직접 업로드한 이미지 최대 10장
        1. 가로 스크롤로 여러 이미지를 볼 수 있음
        2. 이미지를 눌렀을 때 확대해서 볼 수 있음
        3. 이미지 비율이 4:5가 아닌 경우 가득차게 보이도록?
      11. 마지막 업데이트 일자: 마지막 발행 일자
      12. 대표 댓글: 가장 좋아요 수가 많은 댓글 1개가 보여집니다. (좋아요가 없다면 가장 오래된 댓글)
        1. 표시되는 내용: 작성자의 프로필 사진, 작성자의 닉네임, 작가 표시(댓글을 쓴 작성자가 작가일때만 표시), 댓글 내용, 댓글 작성 시간
        2. 댓글 내용이 긴 경우, 3줄까지만 보여지고 접혀져 있습니다. 펼친 후에는 다시 접을 수 있습니다.
        3. 대표 댓글을 좋아요/좋아요 취소할 수 있습니다.
        4. 대댓글 아이콘 or 댓글 내용 or 댓글 전체 보기(>)를 누르면 댓글 바텀시트로 이동합니다.
    2. 유저는 에피소드 정보 영역에서 아래의 인터랙션을 할 수 있습니다.
      1. 작가 팔로우/팔로우 취소: 에피소드의 작가를 팔로우하거나 이미 팔로우 중인 작가를 팔로우 취소할 수 있습니다.
      2. 에피소드 좋아요/좋아요 취소: 에피소드를 좋아요하거나, 이미 좋아요한 에피소드를 좋아요 취소할 수 있습니다.
      3. 전체 댓글 보기: 댓글 아이콘, 댓글 전체 보기(>), 대표 댓글 내용, 대표 댓글의 대댓글 아이콘을 누르면 댓글 바텀시트로 이동할 수 있습니다.
      4. 작가 프로필로 이동: 작가명을 눌러 해당 유저의 프로필로 이동할 수 있습니다.
  8. 에피소드 댓글: 유저는 에피소드 댓글 바텀시트에서 댓글/대댓글 작성/삭제, 댓글 좋아요/좋아요 취소를 할 수 있습니다.
    1. 하단의 입력창에 댓글을 입력하고 작성할 수 있습니다.
      • 댓글 최대 글자 수: 3,000자 (text validation 제한 없음)
    2. 작성된 댓글에 표시되는 내용: 작성자의 프로필 사진, 작성자의 닉네임, 작가 표시(댓글을 쓴 작성자가 작가일때만 표시), 댓글 내용, 댓글 작성 시간
      1. 댓글의 내용이 긴 경우, 3줄까지만 보여지고 접혀져 있습니다. 펼친 후에는 다시 접을 수 있습니다.
      2. 댓글 작성 시간 표시 정책:
        • 1분 미만: 방금
        • 1분~59분 전
        • 1~23시간 전
        • 1~31일 전
        • YYYY.MM.DD
    3. 가능한 인터랙션:
      • 다른 유저 댓글(대댓글)이면, [신고] 버튼이 존재하고 신고확인 모달이 뜬뒤 한 번 더 신고 버튼을 누르면 신고되었다는 알림이 뜹니다. (작동은 안하고 UI만)
      • 내 댓글(대댓글)이면, [삭제] 버튼이 존재하고 정말 삭제할 것인지 확인 바텀시트가 뜹니다. [삭제하기]를 누르면 댓글이 삭제되고, [취소]를 누르면 삭제되지 않습니다.
    • 댓글이 삭제되는 경우, 대댓글이 있는 경우에는 형태는 남고 삭제된 댓글의 내용만 변경됩니다.
      • 삭제된 댓글의 내용이 ‘삭제된 댓글입니다.’ 와 같은 내용으로 변경됨
      • 프로필 이미지도 디폴트 이미지로 변경
      • 닉네임도 ‘삭제된 댓글’과 같은 식으로 변경
    • 댓글 정렬: 일반 댓글은 최신 순, 대댓글은 오래된 순
  9. 같은 작가의 신작 추천: 유저는 에피소드 상세 화면의 가장 하단에서 같은 작가의 신작 리스트를 확인할 수 있습니다.
    1. 해당 에피소드 외 작가의 작품이 없다면: 아무것도 뜨지 않습니다.
    2. 해당 에피소드 외 작가의 작품이 1개 이상이라면: 최초 ‘공개’ 시점을 기준으로 최신 순으로 정렬됩니다.
    3. 최대 10개까지 보여집니다.
    4. ‘더보기’ 버튼을 누르면 작가 페이지로 이동합니다.
    5. 노출되는 정보: 에피소드 썸네일(+ 성인용 아이콘), 에피소드 제목, 작가명, 신작 아이콘
    • 참고: 요 영역은 출시 이후에 추천 기준이 변경될 수 있습니다.
  10. **에피소드 플레이😗* 유저는 화면 하단에 플로팅 상태로 고정된 플레이 버튼을 눌러서 에피소드를 플레이할 수 있습니다.
    • 플레이 기록이 없는 경우: [지금 바로 플레이] 버튼 하나만 있고, 버튼을 누르면 바로 플레이 프롤로그로 진입합니다.
    • 플레이 기록이 1개 이상 있는 경우: [새로하기]와 [이어하기] 버튼이 있습니다.
      • [새로하기]: 새로운 플레이를 시작합니다.
      • [이어하기]: 가장 마지막에 플레이했던 기록을 이어서 플레이할 수 있습니다.

에피소드 플레이

경로: 출시 버전 기획서

개요: 유저는 플레이 화면에서 작가가 만든 에피소드를 재화를 활용하여 플레이할 수 있습니다. 탭 이름: 홈 유저 목적: 플레이 진행 현황: 기획 완료

목표

  1. 유저가 플레이 화면에서 에피소드를 플레이할 수 있습니다.
  2. 작가가 만들어둔 이벤트 씬 외에, 대부분의 씬은 유저가 재화를 활용하여 생성합니다.
  3. 유저는 재화가 부족하여 더이상 플레이를 진행할 수 없을 시, 플레이 화면에서 바로 재화를 구매할 수 있습니다.

화면 디자인/유저 플로우

기능 요청

  1. 진입점
  2. 플레이 화면 진입 전 안내
  3. 플레이 화면 구성 및 작동 방법
  4. 플레이 방법: 씬 플레이 + 선택
  5. 플레이 완료: 엔딩
  6. 에러 케이스 정의

진입점

  1. 에피소드 상세 페이지: [새로하기] 혹은 [이어하기]를 눌러 플레이 화면으로 이동할 수 있습니다.
  2. 플레이 기록: [이어하기] 혹은 플레이 정보 영역을 눌러 플레이 화면으로 이동할 수 있습니다.
  3. [바로 플레이] 버튼: [추천] 탭 배너, [검색] 탭의 추천 리스트, [신작] 탭의 인기 신작 리스트 등 [바로 플레이] 버튼이 있는경우, 해당 버튼을 눌러 플레이 화면으로 이동할 수 있습니다.
    1. [바로 플레이] 버튼을 누르는 경우 아래 조건에 따라 처음부터 시작하거나 이어서 시작됩니다.
      1. 최초 플레이하는 경우: 처음부터 시작
      2. 이전 플레이가 있는 경우: 가장 최근 플레이를 이어서 시작

플레이 화면 진입 전 안내

  1. 진입 시 에셋 로딩이 오래 걸린다면, 유저는 로딩 인디케이터를 보게 됩니다.
    • 게임 같은 느낌으로 가면 좋을 듯? (디자인 논의 필요)
      • 게이트 연결 중, 에피소드 불러오는 중, 캐릭터 소환 중 …?
      • 아니면 비슷한 느낌의 아이콘으로..
  2. 유저는 프롤로그 시작 전, 처음 진입 시 프롤로그 이벤트 제목 아래에서 AI 생성 콘텐츠라는 안내 문구를 볼 수 있습니다.
    • 문구 예시: 이 이야기는 AI가 생성한 내용을 포함하고 있습니다.
      • 이게 아마 크랙? (지금은 안보이는데.. → 웹에서 보임)

      • 제타: 캐릭터가 보내는 메시지는 모두 생성된 내용이에요

  3. 유저는 프롤로그 시작 전, 비디오나 오디오가 포함된 에피소드일 때 이어폰 사용을 권장하는 안내 문구를 볼 수 있습니다.
  4. 유저는 앱 다운로드 후 최초 1회에 한하여, 프롤로그 시작 전에 튜토리얼 화면을 확인할 수 있습니다.
    • 디자인 필요
    • 튜토리얼 화면에 들어가야할 내용:
      1. 기본적인 화면 조작법(1/3 뒤로, 1/3 메뉴, 1/3 앞으로)
      2. 선택지 or 직접 입력으로 씬 생성할 수 있으며, 재화가 N개 소모됨

플레이 화면 구성 및 작동 방법 (피그마 링크)

  • 포커스 모드: 이벤트 씬 및 생성된 씬을 즐기는 일반적인 화면

    1. 유저는 플레이 화면의 오른쪽 1/3 영역을 탭하여 다음 내용을 확인할 수 있습니다.
      1. 롱 프레스하면: 현재 씬의 가장 마지막 프레임(선택지)으로 이동
    2. 유저는 플레이 화면의 왼쪽 1/3 영역을 탭하여 이전 내용을 확인할 수 있습니다.
      1. 롱 프레스하면: 현재 씬의 가장 첫 프레임(내 인풋 프레임)으로 이동
    3. 각 씬의 첫 프레임에는 유저가 선택/입력한 내용이 보여집니다.
      1. 유저가 입력한 내용이 보여지는 프레임에서 *[다시 생성]*을 클릭하여 입력값 그대로 씬을 재생성할 수 있습니다.
      2. 재생성하는 경우 덮어씌워지며, 첫 1회에 한해 안내 모달을 확인할 수 있습니다.
  • 동영상 시네마틱 모드: 동영상이 재생되는 화면

    1. 동영상은 자동 재생 됩니다.
    2. 시네마틱 모드일 때에는 화면을 눌렀을 때 메뉴 모드가 나오지 않고 동영상 컨트롤러가 나오며, 동영상 컨트롤러를 통해 아래 기능을 조정할 수 있습니다: 1) 소리 On/off, 2) 재생/일시정지, 3) 처음부터 다시 보기, 4) 스킵
  • 동영상 프레임 모드: 동영상의 가장 마지막 화면이 보여지는 일반 프레임 모드

    • 프레임 모드의 의의: 시네마틱 모드에서는 앞/뒤로 이동, 메뉴 모드 등이 동작하지 않기 때문에 일반 프레임처럼 동작하는 화면을 추가함
    • 프레임 모드와 동일하게 동작합니다.
  • 메뉴 모드: 상태값 확인, 재화 확인 및 구매, 작품 제목, 뒤로가기, 배경음/효과음 설정 등

    1. 유저는 플레이 화면의 중간 1/3 영역을 탭하여 메뉴 모드를 켤 수 있습니다.
    2. 메뉴 모드에서 왼쪽 상단의 뒤로가기(<) 버튼을 눌러 플레이 시작 전 화면(에피소드 상세, 플레이 기록, 에피소드 리스트 등 진입점)으로 이동할 수 있습니다.
    3. 우측 상단의 햄버거 버튼을 눌러 1) 보유 재화 확인 및 구매 2) 배경음악 on/off 3) 효과음 on/off 를 할 수 있습니다.
    4. 메뉴 모드에서 최근 발화한 1명의 캐릭터와 유저의 상태창을 상시 볼 수 있습니다.
      1. 캐릭터 상태 항목은 최대 3개, 유저의 상태 항목은 최대 5개까지 보여집니다.
      2. 최근 발화한 캐릭터 상태창에서 [전체보기]를 클릭하면 전체 캐릭터 상태값을 확인할 수 있습니다.
    5. 메뉴 모드에서 현재 프레임 수 / 전체 프레임 수를 확인할 수 있습니다.
      1. 전체 프레임 수는 현재 플레이에서 볼 수 있는 프레임 수를 의미하며, 따라서 재생성한 경우 덮어씌워진 이전 프레임은 카운트되지 않습니다.

플레이 방법: 씬 플레이 + 선택

  1. 씬 플레이
    1. 첫 플레이 시 프롤로그 제목이 보여지며 플레이가 시작됩니다.
      • 이후에도 모든 이벤트 씬 시작 프레임에 이벤트 유형과 제목이 보여집니다.
    2. 유저는 에피소드를 플레이하면서 플레이 내용에 맞는 이미지(캐릭터, 상황, 배경), 비디오, 오디오(배경 오디오, 상황별 오디오)를 보고 들을 수 있습니다.
      • 참고: 미디어 출력 정책

        • 캐릭터 이미지
          • 캐릭터 등장 시 해당 캐릭터의 이미지를 출력한다.
            • ex) 라이언:: 다들 점심먹고와요 → “라이언” 이미지 출력
          • 캐릭터 상태출력
            • 캐릭터 상태 출력이 나오는 경우 해당 캐릭터 상태이미지를 출력한다.
            • 대사는 원본 캐릭터가 한 것으로 한다.
              • ex) 라이언_분노:: 다들 점심먹고와요!!!! → “라이언_분노” 이미지 출력, UI에는 “라이언"으로 표기
          • 캐릭터 이미지는 등장하는 프레임을 포함해서 4 프레임 동안 나온다.
          • 캐릭터 이미지가 남아있을 때, 다음 캐릭터 이미지가 나오는 경우, 오른쪽에 출력한다. 개별 캐릭터 이미지는 각자 4 프레임 동안 나왔다가 사라진다.
          • 캐릭터 이미지가 2개 남아있을 때, 다음 캐릭터 이미지가 나오는 경우, 가장 오래된 캐릭터 이미지를 내리고 그 곳에 다음 캐릭터 이미지를 출력한다. (왼쪽)
          • 상황별 이미지는 캐릭터 이미지에 우선한다. 상황별 이미지의 프레임 카운트 최초 4턴까지는 캐릭터 이미지가 등장하지 않는다.
        • 상황별 이미지, 오디오
          • 상황별 이미지 출력 시 이전의 캐릭터 이미지, 상황별 이미지 등을 모두 날리고 출력한다.
          • 이미지,오디오 동시 존재 경우
            • 한 키워드에 상황별 이미지와 오디오가 동시에 존재하는 경우 동시에 출력한다.
              • ex) {media::천둥} (이미지,오디오 존재) → 천둥.png , 천둥.mp3 둘 다 출력
            • 이미지는 이미지끼리, 충돌하는 경우 바뀜. 다른 형식인 경우 겹칠 수 있음.
            • 오디오는 충돌하는 경우 바뀌지 않고, 계속 쌓임
              • ex) {media::천둥} (이미지,오디오 존재) {media::비} (오디오 존재) → 출력중이라면 비 오디오도 동시 출력 {media::바위} (이미지 존재) → 바위 이미지로 변경(비 계속 출력) {media::드래곤등장} (이미지,오디오 존재) → 드래곤 이미지로 변경, 오디오 동시 출력
          • 상황 이미지는 등장 후 10 프레임 동안 나타난다.
          • 상황 이미지 나올 때 배경 이미지는 dim처리 됩니다.
        • 배경 이미지, 오디오
          • 한 키워드에 배경음악과 배경이미지가 동시에 존재하는 경우 동시에 출력한다.
          • 이미지는 이미지끼리, 오디오는 오디오끼리 충돌하는 경우 바뀜. 다른 형식인 경우 겹칠 수 있음.
          • 배경 이미지가 처음 등장하는 경우 배경 이미지만 단독으로 보여주는 프레임이 존재한다.
            • 이 경우 이전에 떠있던 모든 이미지 에셋(캐릭터, 상황, 배경)이 사라진다.
          • 배경 오디오는 loop됩니다.
        • 비디오
          • 비디오 프레임에서는 비디오만 출력된다. (배경도 보이지 않는다.)
          • 이후 프레임에서는 배경이미지, 배경오디오가 유지된다.
    3. 유저가 이벤트 활성화 조건 및 트리거를 만족하면 해당 이벤트를 시작하게 되며, 이벤트 씬을 볼 수 있습니다.
      • 이벤트 시작 시 첫 프레임에서 이벤트 유형과 이벤트 제목이 노출되며, 유저는 새로운 이벤트가 시작되었다는 것을 알 수 있습니다.
  2. 선택지 프레임 (씬의 가장 마지막 프레임)
    1. 유저는 각 씬의 마지막 프레임에서 선택지와 직접 입력 필드를 볼 수 있습니다. 유저는 선택지를 선택하거나 직접 입력하여 다음 씬을 생성할 수 있습니다.
      1. 선택지는 최대 3개까지 보여집니다.
        • 이벤트 씬의 경우 작가가 선택지를 작성한 경우 해당 선택지가 보여지며, 작가가 작성한 선택지가 3개가 되지 않을 경우, 3개보다 적은 개수의 선택지가 보여지게 됩니다.
      2. 선택지는 프레임 전환 후 1초 뒤에, 혹은 미션이 있다면 미션이 사라진 후 뜹니다.
      3. 선택지 중 하나를 롱프레스 하면 선택지 내용이 직접 입력창에 입력됩니다.
    2. 이벤트에 미션이 존재한다면, 해당 이벤트씬 마지막 프레임에서 확인할 수 있습니다.
      • 이벤트 씬의 선택지 프레임이고 미션이 존재할 경우, 프레임 전환 후 1초 뒤 미션이 떴다가 사라집니다.
    3. 유저는 특정 답변을 선택 혹은 입력하지 않고 [이어서 생성] 버튼을 눌러 AI가 다음 내용을 계속 생성하게 할 수 있습니다.
    4. 유저가 선택 분기에서 선택지를 누르거나 직접 작성해서 답변을 보냈을 때:
      1. 재화가 충분하다면: LLM 생성을 완료되는 시점에 재화가 차감됩니다.
        • 재화 차감 시점: LLM 생성이 성공적으로 완료된 시점
        • 재화의 사용 순서
          1. 무료 재화를 먼저 사용하고 유료 재화가 사용됩니다.
          2. 같은 무료/유료 안에서는 획득일 기준으로 오래된 순으로 사용됩니다.
      2. 재화가 부족한 경우: LLM 생성 요청 전에 재화 부족 알림 모달을 띄웁니다.
        • 내용: {재화명}이 부족해서 플레이를 이어갈 수 없어요.
        • 버튼: 충전(재화 구매 바텀 시트) | 취소(모달 닫기)
    5. 선택지를 누르거나 직접 입력을 통해 씬을 (재)생성할 수 있으며, 재화가 충분하다면 이후 씬이 생성됩니다.
      1. 재화가 부족하다면 LLM 호출 전 재화 부족 안내 모달을 띄웁니다.
      2. 씬을 재생성하는 경우:
        1. 이후 씬이 생성된 뒤 다시 이전에 선택지를 눌렀던 위치로 돌아가서 선택지를 누르거나 직접 입력하면 이후 씬을 재생성 & 덮어쓰기 할 수 있습니다.
          • 에피소드 당 최초 1회(모달 내 버튼 누르는 것 기준)에 한해 선택지를 다시 눌렀을 때 내용이 덮어씌워지는데 괜찮을지 묻는 안내 모달을 볼 수 있습니다.
            • 내용: 이후 스토리를 새로 생성하는 경우, 이전 내용을 다시 볼 수 없어요. 다시 생성하시겠어요?
            • 버튼: 생성 | 취소
        2. 유저가 입력한 내용이 보여지는 프레임에서 *[다시 생성]*을 클릭하여 입력값 그대로 씬을 재생성할 수 있으며, 덮어쓰여집니다.
          • 에피소드 당 최초 1회(모달 내 버튼 누르는 것 기준)에 한해 [다시 생성]을 눌렀을 때 내용이 덮어씌워지는데 괜찮을지 묻는 안내 모달을 볼 수 있습니다.
            • 내용: 이후 스토리를 새로 생성하는 경우, 이전 내용을 다시 볼 수 없어요. 다시 생성하시겠어요?
            • 버튼: 생성 | 취소
  3. 유저가 해당 플레이에서 1회 이상 씬을 생성했을 경우, 플레이 중간에 이탈(뒤로가기, 강제 종료 등)하는 경우 해당 시점의 플레이 기록이 저장됩니다.

플레이 완료: 엔딩

  1. 유저가 에피소드를 완주하여 엔딩 이벤트를 끝까지 확인한 경우, 엔딩 풀스크린 모달을 확인할 수 있습니다.
    • 엔딩 씬의 마지막 프레임에서는 선택지와 직접 입력 UI가 제공되지 않습니다.
  2. 엔딩 화면에 보여지는 정보
    1. 엔딩 이벤트의 제목
    2. 배경 이미지: 가장 마지막에 보여진 배경 이미지
    3. 캐릭터 이미지: 가장 마지막에 보여진 캐릭터 이미지
    4. 플레이 턴 수: 해당 플레이에서 확인한 전체 프레임 수
      1. 전체 프레임 수는 현재 플레이에서 볼 수 있는 프레임 수를 의미하며, 따라서 재생성한 경우 덮어씌워진 이전 프레임은 카운트되지 않습니다.
    5. 누적 플레이 경험: 전체 이벤트 중 유저가 누적 경험한 이벤트 수의 비율
      • 해당 에피소드에서 누적으로 해금한 이벤트 개수에 따라 퍼센트를 보여줍니다.
      • 모든 이벤트 유형(프롤로그, 메인/서브 이벤트, 메인/서브 엔딩) 포함해서 ‘해금한 이벤트 개수/전체 이벤트 개수'를 N% (n/N)로 표기
      • 이를 위해 서버에서 유저가 트리거한 이벤트를 따로 저장해둡니다.
        • [나중을 위한 참고] 이번에 스콥아웃 되었지만 들어갈 수도 있는 것: 유저는 특정 에피소드를 한 번 완료한 후에 2회차부터 해당 에피소드의 전체 이벤트 리스트를 확인할 수 있습니다.
          • 메인 이벤트의 경우 노드 형태를 그대로 보여주고, 서브 이벤트는 그냥 리스트로.
          • 이벤트 리스트:
            • 유저는 에피소드 단위로 전체 이벤트(메인 & 서브)의 리스트를 볼 수 있습니다.
            • 유저가 아직 경험하지 못한 이벤트는 잠금처리 되어있습니다.
            • 유저가 플레이 중 이벤트가 트리거 되면 이벤트 기록이 해금되며, 기록은 누적됩니다. (에피소드를 처음부터 다시 시작할 경우에도 기록은 사라지지 않음)
            • 해금된 이벤트 리스트에 포함되어야하는 내용: 이벤트 이름, 해금 조건
    6. 새로 수집한 이미지: 이번 플레이에서 새로 확인한 이미지와 개수
      • 추가될 수 있는 에셋 유형: 캐릭터 이미지, 상황별 이미지, 배경 이미지, 동영상
      • 이미지 미리보기는 최대 20장까지만 보여주고 이후는 개수 표기
      • 이미지는 인터랙션 불가능합니다. (이후 갤러리 생기면..)
      • [나중을 위한 참고] 서버에서 이번 플레이에서 얻은 에셋 및 누적으로 유저가 확인한 에셋을 따로 저장해둡니다. 추후 갤러리 기능이 오픈되면 얻은 에셋이 누적되어 해금될 예정입니다. (에셋: 모든 이미지와 비디오)
  3. 엔딩화면 내 인터랙션
    1. 엔딩 모달을 내려서 엔딩 모달에서 빠져나갈 수 있습니다.

      • 내렸을 때 엔딩 씬 마지막 그대로 보여지고 선택지/입력창 없음
      • 왼쪽 1/3 영역 눌러서 뒤로 가기 가능
      • 이전 씬으로 돌아가 재생성 가능
    2. 상단 메뉴

      1. 뒤로가기(<): 이전 프레임으로 이동
      2. 나가기 버튼: 플레이 시작 전 화면(에피소드 상세, 플레이 기록, 에피소드 리스트 등 진입점)으로 이동합니다.
      3. 댓글보기: 누르면 에피소드 상세 페이지 내 댓글 바텀시트로 이동합니다. → 공수 크면 스콥아웃 가능
    3. CTA: 다시하기 | 이어하기

      1. 다시하기: 처음부터 다시 시작합니다.
      2. 이어하기: 엔딩 씬 다음부터 에피소드를 계속 이어갈 수 있습니다. 이어하기를 누른 경우에만 엔딩 씬 마지막 프레임에서 선택지와 직접 입력 UI를 확인할 수 있습니다.

      ⇒ 서브 엔딩의 경우 이어하기가 없고 다시하기만 존재합니다.

에러/로딩 케이스 정의

  1. 씬 생성 실패 오류: 통신 오류, gemini 자체 문제 혹은 검열 등의 이유로 응답이 오지 않는 경우 (씬 생성 실패 케이스)

    • 대응 UX:
      1. 로딩 인디케이터가 떠서 생성 씬을 기다리다가 오류 메시지 띄움

      2. 토스트나 띠 모양으로 안내 띄우기 (UI 의도: 너무 강하지 않게 안내하고 싶음)

        1. 검열에 걸렸을 경우(PROHIBITED_CONTENT): 부적절한 내용으로 검열되어 씬 생성이 어려워요. 다시 시도해주세요. ({재화명}은 차감되지 않습니다.)
        2. 그 외의 경우: 씬 생성에 실패했어요. 다시 시도해주세요. ({재화명}은 차감되지 않습니다.)

        → 잠시 떴다가 사라지거나 X 버튼 있는 UI?

      3. 직접 입력 했다면, 입력했던 내용을 입력창에 복구해주기

  2. 스트리밍 중 씬 생성 실패: 스트리밍 되다가 오류가 나서 응답이 사라지는 경우

    • 대응 UX:
      1. 토스트나 띠 모양으로 안내 띄우기 (UI 의도: 너무 강하지 않게 안내하고 싶음)

        • 검열에 걸렸을 경우: 부적절한 내용으로 검열되어 씬 생성이 어려워요. 다시 시도해주세요. ({재화명}은 차감되지 않습니다.)
        • 그 외 에러의 경우: 씬 생성에 실패했어요. 다시 시도해주세요. ({재화명}은 차감되지 않습니다.)

        → 잠시 떴다가 사라지거나 X 버튼 있는 UI?

      2. 생성을 시도했던 선택 프레임으로 이동하기

      3. 직접 입력 했다면, 입력했던 내용을 입력창에 복구해주기

  3. 에셋 다운로드 오류: 에셋 자체에 문제가 있을 수도 있고, 다운로드 문제일 수도 있음.

    • 대응 UX:
      1. 오류난 에셋 제외하고 그대로 플레이 진행

      2. 토스트나 띠 모양으로 안내 띄우기 (UI 의도: 너무 강하지 않게 안내하고 싶음)

        • 일부 에셋 다운로드에 오류가 있어요. 플레이 화면에서 나갔다가 다시 들어와주세요. (or 앱을 완전히 껐다가 다시 켜주세요?)

          → 나갔다가 들어온다고 해결되는지도 확인 필요

        → 잠시 떴다가 사라지거나 X 버튼 있는 UI?

  4. 에셋 혹은 LLM 응답 로딩

    • 대응 UX:
      1. 초반 에셋 다운로드 시 오래 걸리는 경우(0~3초): 로딩 인디케이터
      2. 생성 첫 응답이 오래 걸리는 경우(최대 10초 대도 가능): 로딩 인디케이터(디자인에 따라 a랑 같은거 써도 됨)
      3. 중간에 스트리밍 및 에셋 다운로드를 위해 시간이 필요한 경우(2초 이내 예상): 다음 표시(>>) 대신 로딩 표시?
        1. 너무 길어지는 경우(시간 조건: ?): 에러 띄우기
  5. 인터넷 연결 불안정할 때 & 소켓 연결 끊겼을 때

    • 대응 UX: 토스트나 띠 모양으로 안내 띄우기 (UI 의도: 너무 강하지 않게 안내하고 싶음)

      • 인터넷 연결이 불안정해요. 안정된 인터넷 환경에서 다시 시도해주세요.

      → 잠시 떴다가 사라지는 UI?

  6. 상태값 로딩 혹은 실패 했을 때

    • 대응 UX:
      1. 상태값 로딩 중: 상태창에서 이전 값을 보여주고 이후 상태값은 로딩 중임을 알리는 UI(디자인 필요)
      2. 상태값 로딩 실패(서버 혹은 네트워크 오류) 시: 상태창에서 상태창에서 이전 값을 보여주고 이후 상태값 로딩에 에러가 있음을 알리는 UI(디자인 필요)
  7. 유저가 플레이 화면에 진입한 시점에 씬 생성 중인 경우

    • 해당되는 케이스: 씬 생성을 요청하자마자 유저가 플레이 화면에서 나갔다가 바로 들어온 경우 (많으면 10~15초 기다려야할 수 있음)
    • 대응 UX: 토스트나 띠 모양으로 안내 띄우기 (UI 의도: 너무 강하지 않게 안내하고 싶음)
      • (플레이 기록을 불러오고 있다는 식의 문구와 UI)

        → 잠시 떴다가 사라지는 UI?

재화 충전 결제

경로: 출시 버전 기획서

개요: 유저는 본인의 재화 개수와 이용 내역을 확인하고, 필요한 재화를 쉽게 구매할 수 있습니다. 탭 이름: 결제 유저 목적: 결제 진행 현황: 디자인 완료 피그마 링크: https://www.figma.com/design/j0EsFUiD13q2eSUQhRtNz8/🛝01_FronTia_APP_출시?node-id=5555-388402&t=V0XXUb0gYPnUqPvK-1

목표

  1. 유저는 본인이 가진 재화의 개수를 확인하고 필요한 재화를 쉽게 구매할 수 있습니다.
  2. 유저는 재화의 구매 및 사용 내역을 확인할 수 있습니다.
  • 고려해야할 것: [충전하기]만 누르면 되도록 기본값을 다 세팅해두자

화면 디자인/유저 플로우

기능 요청

진입 경로

  1. 홈 탭: 유저는 홈 탭의 우측 상단의 재화 아이콘을 클릭하여 재화 충전 바텀시트로 이동할 수 있습니다.
  2. 마이 탭: 유저는 마이 탭에서 본인이 현재 사용할 수 있는 재화의 개수를 확인하고, [충전] 버튼을 눌러 재화 충전 바텀시트로 이동할 수 있습니다.
  3. 플레이 화면: 유저는 플레이 중 메뉴 혹은 재화 부족 바텀시트를 통해 재화 충전 페이지로 이동할 수 있습니다.
    1. 플레이 메뉴: 메뉴 모드의 메뉴 내 재화 섹션을 누르면 재화 충전 바텀시트가 뜹니다.
    2. 씬 생성 시도 시 재화 부족할 때: 재화 부족을 알리는 모달이 뜨고, 해당 모델에서 [충전하기] 버튼을 누르면 재화 충전 바텀시트가 뜹니다.
  4. 프론티아 웹: 유저는 프론티아 웹(frontia.ai)에서 재화 충전 페이지(앱 화면과 동일)로 진입할 수 있습니다.

진입 경로 별 재화 충전 플로우

  1. 홈 탭/마이 탭 → 재화 충전 바텀 시트 뜸 → 상품 선택 → [충전하기] 버튼 클릭 → 결제 프로세스 → 완료/실패 시 안내 모달 → 재화 충전 바텀시트에서 벗어나면 이전 화면(홈 탭 혹은 마이 탭)으로 이동
  2. 플레이 화면 → 메뉴 → 재화 아이콘 → 재화 충전 바텀 시트 뜸 → 상품 선택 → [충전하기] 버튼 클릭 → 결제 프로세스 → 완료/실패 시 안내 모달 → 재화 충전 바텀시트에서 벗어나면 플레이 화면으로 돌아옴
  3. 플레이 화면 → 재화 부족 안내 모달 → [충전하기] 버튼 클릭 → 재화 충전 바텀 시트 뜸 → 상품 선택 → [충전하기] 버튼 클릭 → 결제 프로세스 → 완료/실패 시 안내 모달 → 재화충전 바텀시트에서 벗어나면 플레이 화면으로 돌아옴 → 다시 씬 생성 요청하면 씬 생성+재화 사용
    • 직접 입력해서 요청했는데 씬 생성에 실패한 경우라면, 직접 입력 내용이 남아있어야 합니다.
  4. 프론티아 웹 → 재화 충전 페이지 → 상품 & 결제 수단 선택 → [충전하기] 버튼 클릭 → 결제 프로세스 → 완료/실패 시 안내 모달

보유 재화 정보 노출 정책

  1. 유저는 재화 충전 바텀시트에서 본인이 현재 보유한(사용 가능한) 총 재화의 수를 확인할 수 있습니다.

    • 무료/유료 재화 구분 없이 총 합이 보여집니다.
  2. 유저는 재화의 구매 내역과 획득/사용 내역을 확인할 수 있습니다.

    1. 구매 내역은 최근 1년 이내의 내역만 조회할수 있으며, 최신 날짜/시간 순으로 정렬됩니다.
      • 제공 정보: 획득 날짜 및 시간, 구매처(Apple, Web, 안드로 표시 확인 필요), 재화 개수(상품 명), 금액, 취소 불가(표시)
    2. 획득/사용 내역은 최신 날짜/시간 순으로 정렬됩니다.
      • 제공 정보: 획득/사용 날짜 및 시간, 획득/사용처(에피소드명 or 출석체크), 획득/사용한 재화 개수, 유/무료 구분 정보
    • 크랙 구매 내역, 이용 내역 화면 참고
      • 구매 내역

        구매 내역 (크랙)

      • 이용 내역

        이용 내역 (크랙)

  3. 재화의 유효기간

    1. 무료 재화: 획득 후 30일 이내
    2. 유료 재화: 획득 후 1년 이내
    • 기간 내에 사용하지 않은 재화는 자동으로 소멸되며 복구되지 않습니다.
  4. 재화의 사용 순서

    1. 무료 재화를 먼저 사용하고 유료 재화가 사용됩니다.
    2. 같은 무료/유료 안에서는 획득일 기준으로 오래된 순으로 사용됩니다.

재화 충전(결제)

  1. 유저는 재화 충전 페이지에서 재화의 복구, 양도, 사용 기한에 대한 내용을 확인할 수 있습니다.

  2. 유저는 원하는 상품(재화 개수)을 선택하여 재화를 충전할 수 있습니다.

    • 충전 바텀시트에 랜딩 시 [추천]이 붙어있는 상품이 기본값으로 선택되어 있습니다.

    • 상품 구성

      상품명앱 구매 가격수수료 계산 가격
      1,000개1,400원1,429원
      2,000개2,800원2,857원
      5,000개7,000원7,143원
      10,000개14,000원14,286원
      30,000개 [추천]42,000원42,857원
      50,000개70,000원71,429원
    • 상품 구성

      상품명웹 구매 가격
      1,000개1,000원
      2,000개2,000원
      5,000개5,000원
      10,000개10,000원
      30,000개 [추천]30,000원
      50,000개50,000원
      70,000개70,000원
      100,000개100,000원
    • (Deprecated) 상품 구성 (웹/앱 기준 가격) → 크랙과 동일

      상품명웹 구매 가격앱 구매 가격
      2,000개2,000원2,800원
      4,900 + 100개4,900원6,900원
      9,600 + 400개9,600원13,500원
      28,000 + 2,000개 [추천]28,000원39,000원
      46,000 + 4,000개46,000원64,000원
      90,000 + 10,000개90,000원126,000원
  3. 안드로이드 앱 유저는 상품을 선택 후 [충전하기] 버튼을 누르면 구글 플레이 인앱 결제가 진행됩니다.

  4. 아이폰 앱 유저는 상품을 선택 후 [충전하기] 버튼을 누르면 애플 스토어 인앱 결제가 진행됩니다.

  5. 웹 유저는 상품을 선택 후 결제 수단을 선택하고 [충전하기] 버튼을 누르면 토스페이먼츠를 통해 선택한 결제 수단으로 결제가 진행됩니다.

    • 결제 수단의 종류: 토스페이, 신용/체크카드, 계좌이체, 휴대폰결제, 문화상품권
      • 디폴트는 아마 토스페이..?
    • 크랙 웹 결제 화면 내 결제 수단 참고
  6. 유저가 만 14세 미만인 경우, 본인 인증 실패로 간주합니다.

  7. 유저가 미성년자(만19세 미만)인 경우, 첫 결제 시 법정대리인 동의를 받습니다. (이건 출시 시점에 스콥아웃 가능) (디자인 일단 안해도 됩니다)

    1. 19세 미만인 것을 아는 기준: 가지고 있는 생일 정보 중 가자 우선순위 높은 것을 기준으로 결정합니다.
      • 우선순위: 본인인증에서 받은 생년월일 > SNS에서 받은 정보 > 직접 입력한 정보
    2. 19세 미만이라면, 첫 결제 시 1회에 한해 법정대리인 동의를 받습니다.
      • 내용:
        1. 서비스 고지
          • "본 동의는 자녀 OOO 님이 'Frontia' 서비스를 이용하는 것에 대한 동의입니다."
        2. 법정대리인 신원 확인 (고지)
          • "법정대리인 본인 확인을 위해 '본인인증'을 진행합니다."
        3. 필수 동의 항목 (체크박스)
          • [ ] [필수] 미성년자 유료 서비스 결제 동의
            • (이것이 핵심입니다!) "본인은 법정대리인으로서, 자녀 OOO 님이 Frontia 서비스 내에서 유료 콘텐츠 구매, 인앱 재화 충전 등 전자상거래(유료 결제) 행위를 하는 것에 포괄적으로 동의합니다."
          • [ ] [필수] 법정대리인(보호자 본인) 개인정보 수집·이용 동의
            • (이것도 필수입니다!) "법정대리인 자격 확인 및 동의 증빙 보관을 목적으로 본인확인 정보(CI, DI, 이름, 생년월일, 통신사 정보)를 수집하는 데 동의합니다. (보관 기간: 서비스 탈퇴 또는 동의 철회 시까지)"
          • [ ] [전체 동의]
        4. 버튼: 본인 인증하기
      1. 토스페이먼츠를 통해 법정대리인 본인인증이 완료되면, 결제가 가능합니다.
        • 본인인증 성공 후 받을 데이터: 법정대리인 본인인증 성공(Y)
      2. 법정대리인 본인인증에 실패하는 경우, 실패 안내 모달을 띄웁니다.
  8. 유저가 결제에 성공하면, 구매 완료 모달을 확인할 수 있습니다.

    • 모달 내용 (미정)
      • 제목: {재화명} 충전 완료
      • 내용: {재화명} N개 충전이 완료되었어요. 바로 에피소드를 즐기러 갈까요?
      • 버튼: 에피소드 구경가기 (홈 탭의 [추천] 페이지로 이동) | X (모달 닫기)
  9. 유저가 결제에 성공하면, 본인의 보유 재화 수가 구매 수량만큼 늘어난 것을 확인할 수 있습니다.

  10. 유저가 결제에 실패하면, 결제에 실패했다는 모달을 확인할 수 있습니다.

    • 모달 내용 (미정)
      • 제목: {재화명} 충전 실패
      • 내용: {재화명} 충전에 실패했어요. 다시 시도해주세요ㅠㅠ
      • 버튼: 확인 (모달 닫기)
  11. 결제해서 얻은 재화는 ‘유료’ 구분으로 충전됩니다.

환불 정책 안내

  1. 유저는 상점 페이지 맨 하단에서 환불 정책을 확인할 수 있습니다.
    • 고지되는 환불 정책 내용

      크랙 문구에서 살짝씩 변형 & 추가혜택~ 관련 문구 추가

      프론티아 환불 정책

      • 모든 결제 상품은 결제일로부터 7일 이내에 청약철회(환불)를 요청할 수 있습니다.
      • 결제 후 7일 이내라도, 구매한 '스타'를 일부라도 사용한 이력이 있는 경우 환불이 불가능합니다.
      • 사용 이력이 있는 경우, 구매한 상품에 포함된 '스타' 중 남은 스타에 대한 부분 환불은 불가능합니다.
      • AI가 생성한 콘텐츠의 주관적인 불만족을 사유로 이미 사용한 스타를 환불 요청하는 것은 불가능합니다.
      • 추가 혜택이 제공되는 경우에 그 추가 혜택이 사용되었다면 환불이 불가능합니다.
      • 환불 요청 및 문의는 앱(App Store, Google Play) 결제의 경우 각 스토어의 고객지원(애플, 구글)에서, 웹 결제의 경우 프론티아 고객센터에서 가능합니다.
      • 그 외 모든 결제 및 환불 관련 문제는 프론티아 고객센터로 문의해 주세요.
    • 참고: 크랙 환불 정책

      • 모든 결제 상품은 결제일로 부터 7일 이내 환불을 요청할 수 있습니다.
      • 7일 이내여도 구매한 크래커 묶음을 사용한 이력이 있다면 환불이 불가능합니다.
      • 사용 이력이 있을 경우, 남은 크래커에 대한 환불은 불가능합니다.
      • 주관적인 답변 생성의 불만족으로 인한 환불은 불가능합니다.
      • 환불 요청 및 문의는 앱 결제의 경우 구글 플레이 고객센터 혹은 애플 고객지원에서, 웹 결제의 경우 크랙 고객센터에서 가능합니다.
      • 그 외 모든 문제는 크랙 고객센터로 문의주세요.
  2. 내부 환불 운영 정책
    1. 앱 결제의 경우 구글 플레이 고객센터 혹은 애플 고객지원에서 환불 요청이 가능합니다.
      1. 유저가 각 앱 스토어에 환불 요청을 했을 때 환불 요청 여부를 알 수 있어야 합니다. (어드민)
        • 필요한 데이터: 유저 식별자, 구매 상품, 구매 날짜/시간, 사용 내역, 해당 상품의 환불 여부
      2. 환불 승인이 확인되면 재화가 자동으로 회수조치 됩니다.
      3. 이미 사용되어 회수가 불가능할 경우의 조치 (출시 버전 스펙 아님)
    2. 웹 결제의 경우 프론티아 고객센터 문의를 통해 환불 요청이 가능합니다.
      1. 환불을 요청한 유저의 구매 정보 및 재화 사용 정보를 알 수 있어야 합니다. (어드민)
        • 필요한 데이터: 유저 식별자, 구매 상품, 구매 날짜/시간, 사용 내역, 해당 상품의 환불 여부
      2. 7일 이내에 사용 내역이 없으면 환불이 가능합니다.
      3. 환불 후 자동으로 회수조치 됩니다.
  3. 재화 회수 정책
    1. 회수 처리시 환불 대상 재화를 먼저 회수하고, 만약 이미 일부 또는 전부 소진했을 경우 남은 크레딧들 중 만료 기한 얼마 안 남은 순으로 회수합니다.
      1. 유료/무료 재화 구분 없이 만료 기한이 얼마 안 남은 순으로 회수합니다.
    2. 회수 후 유저가 가지고 있는 재화 수가 음수(-)가 되는 경우 보유 재화 개수를 0으로 처리합니다.
      • 운영 단에서 음수가 된 유저 리스트를 별도로 관리해야합니다. 반복되는 경우 차단 등 조치를 취하기 위함 @sion lim
    • 회수해야하는 재화가 10개인 경우 회수 예시:
      1. 15개의 재화를 가진 유저: 10개 회수 후 유저에게 보여지는 보유 재화 5개(실제로 5개)
      2. 5개의 재화를 가진 유저: 10개 회수 후 유저에게 보여지는 보유 재화 0개(실제로 0개)

출석 보상 무료 재화 획득

차단관리

경로: 출시 버전 기획서

개요: 유저가 자신이 차단한 에피소드와 유저의 리스트를 확인하고 차단을 해제할 수 있습니다. 탭 이름: 마이 유저 목적: 커뮤니티 활동 진행 현황: 디자인 완료 피그마 링크: https://www.figma.com/design/j0EsFUiD13q2eSUQhRtNz8/01_FronTia_APP_출시?node-id=6399-526922&t=Ydbk5RSgrUtZgbOF-1

목표

  1. 유저가 자신이 차단한 에피소드와 유저의 리스트를 확인하고 차단을 해제할 수 있습니다.

화면 디자인/유저 플로우

기능 요청

차단 관리

  1. 유저는 ‘차단 관리’에서 유저가 차단한 에피소드와 유저의 리스트를 확인할 수 있습니다.
    • 차단 관리 리스트에 들어오는 경우
      • 에피소드: 해당 에피소드 상세 페이지에서 차단을 누르는 경우
      • 유저: 해당 유저 프로필에서 차단을 누르는 경우
    • 노출 정보:
      1. 에피소드: 에피소드 썸네일, 에피소드 명
      2. 유저: 유저 프로필 사진, 유저 닉네임
  2. 유저가 차단 관리에서 [차단 해제] 버튼을 누르면 바로 해당 에피소드 혹은 유저가 차단 해제됩니다.
    • ‘차단 해제’ 외의 동작/인터랙션은 불가합니다.

차단한 에피소드 혹은 유저 프로필에 진입하려고 하는 경우

  1. 차단한 에피소드의 상세 페이지에 진입하려고 시도하는 경우 (참고 문서 링크)
    • 차단한 에피소드라는 모달이 뜨며 에피소드 상세 페이지로 이동이 불가능합니다.
    • 모달 내용(문구 변경될 수 있음): {닉네임} 님이 차단한 에피소드입니다. [확인] [차단 해제]
      • [확인]을 누르면 이전 페이지로 이동합니다.
      • [차단 해제]: 에피소드 차단이 해제되고 에피소드 상세 페이지를 확인할 수 있습니다.
  2. 차단한 유저의 프로필 or 차단한 유저가 만든 에피소드에 진입하려고 시도하는 경우 (참고 문서 링크)
    • 프로필로 진입 후 차단한 유저라는 모달이 뜨며 유저 프로필을 확인할 수 없습니다.
    • 모달 내용(문구 변경될 수 있음): 차단한 유저입니다. [확인] [차단 해제]
      • [확인]을 누르면 이전 페이지로 이동합니다.
      • [차단 해제]: 유저 차단이 해제되고 유저의 프로필을 확인할 수 있습니다.

추천

경로: 출시 버전 기획서

개요: 1. 유저는 [추천] 페이지에서 이전에 진행하던 플레이에 쉽게 진입할 수 있습니다. 2. 유저는 [추천] 페이지에서 랭킹, 인기 신작, 팔로우 작가 신작 등 검증된 작품을 추천받을 수 있습니다. 탭 이름: 홈 유저 목적: 콘텐츠 탐색 진행 현황: 디자인 완료 피그마 링크: https://www.figma.com/design/j0EsFUiD13q2eSUQhRtNz8/🛝01_FronTia_APP_출시?node-id=5389-28709&t=5QVUTp8cDEW4o9or-1

목표

  • 유저는 홈 탭 내에 위치한 [추천] 페이지에서 믿고 볼 수 있는 검증된 에피소드를 추천 받을 수 있습니다.
    1. 유저는 이전에 진행하고 있던 플레이로 바로 진입할 수 있습니다.
    2. 유저는 랭킹, 인기 신작, 팔로우하는 작가의 신작 등 검증된 작품을 추천받을 수 있습니다.
  • 고려하지 않아도 되는 것: 내 마음을 다 알아주는 것 같은 추천 알고리즘

플로우/화면 디자인

기능 요청

추천 페이지 공통 정책

  1. 유저는 앱을 처음 켰을 때(껐다가 켰을 때) 로그인 상태라면 홈의 추천 페이지 내 [전체] 탭에 랜딩됩니다.

    • 앱이 백그라운드에 있던 상태라면 기존 화면에 머물게 됩니다. (초기화 기간은?)
  2. 장르별 태그: 홈의 추천 페이지에는 총 6개의 태그가 존재합니다.

    • 전체, 로맨스/로판, SF/판타지/무협, 일상/현대, 미스터리/공포, 어른용 (각 태그 이름은 변경될 수 있음. 출시 시점에는 이걸로 픽스)

    • [전체]와 [어른용]을 제외하고 작품 장르를 기준으로 각 탭에 포함되게 됩니다.

      • 참고: 작품 장르는 스튜디오에서 작품 발행 시 선택할 수 있습니다.
      장르 탭 이름포함 기준
      전체전체 포함
      로맨스/로판장르: 연애/로맨스, 로맨스판타지
      SF/판타지/무협장르: SF/판타지, 무협, 역사/시대, 액션, 전쟁/밀리터리
      일상/현대장르: 일상/현대, 학원, 스포츠, 코미디
      미스터리/공포장르: 공포/스릴러, 추리/미스터리
      어른용장르와 무관하게 성인용 콘텐츠 전체
  3. 노출되는 모든 에피소드는 공개 여부가 **‘공개’**이고, Status가 **‘active’**여야 합니다.

    • 참고: 에피소드의 status는 에피소드 노출을 차단하기 위해 어드민에서 설정하는 값입니다.
  4. 노출되는 에피소드 정보: 썸네일, 작품 제목, 작가명, 성인용 아이콘, 신작 아이콘

    • 썸네일, 작품제목: 누르면 에피소드 상세로 이동
    • 작가명: 누르면 해당 유저의 프로필로 이동
    • 성인용 아이콘: 스튜디오에서 발행 시 성인용으로 체크한 것은 성인용 아이콘이 붙습니다.
    • 신작 아이콘: 최근 3일 이내에 최초 ‘공개’된 작품에 신작 아이콘이 붙습니다.
    • 디자인 참고:
  5. 성인용 작품 노출 및 진입 정책

    1. 성인 인증을 한 유저의 경우:
      1. 모든 탭에서 성인용 콘텐츠가 노출되며, 에피소드 상세 페이지로 진입 가능합니다.
      2. [어른용] 탭에 진입 가능합니다.
    2. 성인 인증을 하지 않은 유저의 경우:
      1. [어른용]을 제외한 모든 탭에서 <프론티아 추천 영역>을 제외한 모든 영역에 성인용 작품이 노출되지 않습니다.
        • 단, <프론티아 추천 영역>에서는 성인용 작품이 노출됩니다.
        • <프론티아 추천 영역>에 보여진 성인용 작품을 탭하여 에피소드 상세 페이지로 진입 시도 시 성인인증을 하라는 모달이 뜨고, [인증하기] 버튼을 누르면 계정 설정으로 이동합니다.
      2. [어른용] 탭으로 진입 시도 시 성인인증을 하라는 모달이 뜨고, [인증하기] 버튼을 누르면 계정 설정으로 이동합니다.

추천 페이지 내 [전체] 탭 화면 구성

  1. 상단 배너: 유저는 각 탭의 상단에서 추천 콘텐츠를 게시하는 배너를 볼 수 있습니다.
    1. 배너는 가로 스크롤이 가능하며, 최소 3개 이상 유지…하기 위해 노력합니다!

    2. 배너는 콘텐츠형과 공지형으로 나뉘며, 종류 선택 및 배너 내용 작성은 어드민에서 할 수 있습니다.

      • 디자인 화면 참고
      1. 콘텐츠형 작성 가능 항목
        • 콘텐츠 → [썸네일 / 제목 / 장르 / 어른 뱃지] 불러오기
        • 콘텐츠 태그 → [추천 신작 / 인기 급상승 / 해당없음]
      2. 공지형 작성 가능 항목
        • 공지태그
        • 썸네일 이미지
        • 메인 문구
        • 서브 문구
    3. 인터랙션 방식:

      1. 콘텐츠형: [바로 플레이하기]를 누르면 플레이 화면으로, 그 외 영역을 누르면 해당 에피소드의 상세 페이지로 이동합니다.
        • [바로 플레이하기] 버튼을 누르면 바로 에피소드 플레이 화면으로 이동합니다.
          1. 처음 플레이하는 경우: 처음부터 시작
          2. 이전에 플레이했던 경우: 가장 최근 플레이 이어하기
      2. 배너형: [자세히 보기]를 누르거나 그 외 영역을 누르면 해당 공지 페이지로 이동합니다.
  2. 플레이 중인 에피소드: 배너 바로 하단에 플레이 기록이 최신순으로 정렬되며, 해당 플레이의 썸네일을 눌러 바로 진행 중인 플레이 화면으로 진입할 수 있습니다.
    • 최대 노출 개수: 30개
    • 최신 순 기준: 마지막 플레이 일자 기준
    • 한 에피소드에 플레이가 여러 개면 최신 것만 보여줌(유니크 에피소드 노출): 여러 에피소드를 골고루 노출하기 위함(P1)
  3. 주간 랭킹 Top10: 주간 랭킹 상위 10개 에피소드를 노출합니다.
    • 초기화 시점: 추천 탭에 랜딩할 때마다
      • or 다른 방법이 있을까요? 좀 더 간격을 늘리거나?
  4. 프론티아 추천 영역: 프론티아에서 운영자가 추천한 작품을 한 영역 당 최대 10개 노출합니다.
    1. 추천 제목과 해당하는 작품 및 정렬 순서를 어드민에서 입력할 수 있습니다.
    2. 프론티아 추천 영역은 최소 3줄 이상을 유지합니다(운영 규칙).

추천 페이지 내 [전체] 외의 탭 화면 구성

  1. 상단 배너: [전체] 탭의 상단 배너와 정책이 같습니다.
  2. {해당 장르}의 인기 신작: 아래 조건에 만족하는 작품을 누적 플레이 턴 수가 많은 순으로 최대 10개까지 노출
    1. 해당 탭에 포함되는 작품 (각 탭에 포함되는 장르 혹은 조건 참고)
    2. 최근 3일 이내에 최초 ‘공개’된 작품
  3. 프론티아 추천 영역: 프론티아에서 운영자가 추천한 작품을 한 영역 당 최대 10개 노출합니다.
    1. 추천 제목과 해당하는 작품 및 정렬 순서를 어드민에서 입력할 수 있습니다.
    2. 프론티아 추천 영역은 최소 3줄 이상을 유지합니다(운영 규칙).
  4. {해당 장르} 모아보기: 해당 탭에 포함되는 작품(참고)을 누적 플레이 턴 수가 많은 순으로 노출
    • 최대 개수 없음. 계속 무한 불러오기?

출석보상 본인인증

경로: 출시 버전 기획서

개요: 유저는 매일 출석 보상으로 무료 재화를 얻을 수 있습니다. 무료 재화를 얻기 위해서는 최초 1회 본인 인증이 필요합니다. 탭 이름: 홈 유저 목적: 무료재화 획득 진행 현황: 디자인 완료 피그마 링크: https://www.figma.com/design/j0EsFUiD13q2eSUQhRtNz8/🛝01_FronTia_APP_출시?node-id=5712-127515&t=V0XXUb0gYPnUqPvK-1

목표

  1. 유저는 매일 출석 보상으로 무료 재화를 얻을 수 있습니다.
  2. 무료 재화를 얻기 위해서는 최초 1회 본인 인증이 필요합니다.
  • 고려하지 않아도 되는 것: 매일매일 누적되는 출석 체크, 애니메이션..

화면 디자인/유저 플로우

기능 요청

  1. 유저는 재화 충전 바텀시트에서 [출석하기]를 누르고 출석 보상으로 무료 재화를 획득할 수 있습니다.
    • 출석 보상은 하루에 1번만 획득 가능하며, 하루의 기준은 오전 6시입니다. (오전 6:00~다음날 오전 5:59)
    • 본인 인증을 한 경우에만 무료 재화를 획득할 수 있습니다.
    • 여러 계정을 보유 시 1일 1계정만 가능합니다.
    • 획득 가능한 무료 재화 수: N개 (미정)
  2. 이미 출석 보상을 받은 경우 [출석하기] 버튼이 비활성화되어 있습니다.
    • 본인 인증을 한 다른 계정으로 출석 보상을 받은 경우도 동일
  3. 충전이 완료되면 보상 획득 안내 모달이 뜨고 [출석하기] 버튼이 비활성화됩니다.
    • 모달 내용 (미정)
      • 제목: {재화명} 충전 완료
      • 내용: 출석 보상으로 {재화명} N개를 받았어요. 바로 에피소드를 즐기러 갈까요?
      • 버튼: 에피소드 구경가기 (홈 탭의 [추천] 페이지로 이동) | X (모달 닫기)
    • 출석 보상으로 얻은 재화는 ‘무료’ 구분으로 충전됩니다.
  4. 본인인증을 하지 않은 유저는 무료 재화를 획득하기 위해 최초 1회 본인인증을 진행해야 합니다.
    1. 본인인증을 하지 않은 유저가 [출석하기]를 누르면 본인인증 유도 모달이 뜹니다.

      • 모달 내용 (미정)
        • 제목: 본인인증을 하시겠어요?
        • 내용: 출석 보상을 받기 위해 최초 1회 본인인증이 필요해요.
        • 버튼: 취소 | 확인
      • 참고: 크랙 본인인증 유도 모달
    2. 본인인증 유도 모달에서 [확인]을 누른 경우 바로 본인인증 플로우를 따릅니다.

      • 참고: PASS 본인인증 화면
    3. 우리가 본인인증 후 받을 정보: 생년월일, 본인인증 성공 여부(Y)

  5. 본인인증 성공 시, 만 14세 이상인 경우: 본인인증에 성공하여 무료 출석 보상을 획득했다는 모달이 뜹니다.
    • 모달 내용 (미정)
      • 제목: 본인인증에 성공했어요.
      • 내용: 무료 출석 보상을 드렸어요. 마음껏 즐겨주세요!
      • 버튼: 확인
  6. 본인인증 성공했으나, 만 14세 미만인 경우: 본인인증에 실패하였다는 모달이 뜨고 본인인증 취소처리
    • 모달 내용 (미정)
      • 제목: 본인인증에 실패했어요.
      • 내용: 다시 한 번 시도해주세요.
      • 버튼: 확인
  7. 본인인증 플로우에서 뒤로 가는 경우 다시 재화 충전 바텀시트로 돌아옵니다.
    • 본인 인증 절차 도중에 실패하는 경우(잘못 입력했거나 통신 오류 등)는 플로우 내에서 실패 안내 모달이 뜨는 것 같음. 그 외 실패 케이스가 생길 수 있다면 알려주세요!

푸시

경로: 출시 버전 기획서

개요: 유저는 자신의 활동에 대한 피드백을 푸시 알림으로 받을 수 있습니다. 탭 이름: - 유저 목적: 정보 수신/확인 진행 현황: 기획 완료

목표

  1. 유저는 자신의 활동에 대한 피드백을 알림으로 받을 수 있습니다.

화면 디자인/유저 플로우

기능 요청

  1. 푸시 알림 메시지의 종류
    1. 출석 체크 알림: 매일 저녁 8시에 모든 유저에게 전송
      • title: 오늘도 스타 300개를 드렸어요 ✨
      • body: 새로운 모험을 떠나볼까요?
      • 랜딩: 홈 + 상점 바텀시트
    2. 내 에피소드에 달린 댓글 알림 (대댓글 포함)
      • title: 디렉터님, 새로운 댓글이 달렸어요 💬
      • body: 어떤 내용인지 확인하러 갈까요?
      • 랜딩: 해당 에피소드 상세 페이지 내 댓글 바텀시트
    3. 내 댓글에 댓글 알림 (내가 쓴 댓글은 제외)
      • title: 내 댓글에 새로운 댓글이 달렸어요 💬
      • body: 어떤 내용인지 확인하러 갈까요?
      • 랜딩: 해당 에피소드 상세 페이지 내 댓글 바텀시트
    4. 내 팔로우 알림
      • title: 새로운 팬이 생겼어요 🌟
      • body: {닉네임}님이 나를 팔로우하기 시작했어요!
      • 랜딩: 팔로우 목록 - 팔로워로 이동
    5. 내 에피소드 좋아요 알림 (내가 한 좋아요는 제외)
      • title: 내 에피소드를 좋아하는 사람이 있어요 ❤️
      • body: {닉네임} 님이 내 에피소드에 감동했어요.
      • 랜딩: 해당 에피소드 상세 페이지
  2. 푸시 메시지는 파이어베이스 사용

프론티아 웹

경로: 출시 버전 기획서

개요: 1. 유저는 프론티아 웹에서 앱에서보다 저렴한 가격으로 재화를 구매할 수 있습니다. 2. 유저(비로그인/로그인 상태 가능)는 프론티아 웹(frontia.ai)에서 어떤 작품들이 있는지 탐색할 수 있습니다. (플레이 불가) 3. 유저는 프론티아 스튜디오(frontia.ai/studio)로 이동해서 에피소드를 제작할 수 있습니다. 진행 현황: 기획 완료

목적

  1. 기존 유저: 웹에서 더 싸게 재화를 구매/결제할 수 있도록 함 → 가장 중요!!
  2. 신규 유저: 서비스를 맛볼 수 있게 하고 앱으로 유인
    • 비로그인 상태에서 좋은 작품에 노출되고, 콘텐츠를 즐기려면 앱으로 이동해야한다는 것을 알 수 있음

고려하지 않아도 되는 것

  1. 완전한 플레이 경험: 씬 생성 X, 씬 생성 안되기 때문에 플레이 기록 저장도 X
  2. 앱과 같은 수준의 설정 및 서비스 경험: 최소한의 것 외에는 앱에서 하도록 안내

구현 범위와 우선순위

  • P0: 꼭 필요. 최소 스콥.
  • P1: 여기까지 구현되면 좋음!
탭 이름 (앱 기준)기능 이름웹 구현 여부 & 순위로그인 상태비로그인 상태비고
-회원가입구현 (P0)불가가능웹이랑 모바일 UI 다르게 가기 (받아야하는 항목 한 페이지에 다 때려넣기?)
-로그인구현 (P0)불가가능다 합친 프로젝트로 간다. → 단점: 프로젝트 사이즈가 커져서 검색어 최적화가 하나로만 된다.
추천구현 (P0)가능가능
랭킹구현 (P1)가능가능
신작구현 (P1)가능가능
검색안 함--
에피소드 상세일부 구현 (P0)가능불가- P0: 에피소드 정보 & 대표 댓글 보기, 플레이 버튼
~~- P1: 좋아요/좋아요 취소, 팔로잉/팔로우취소, 댓글 작성, 작가 프로필 이동 등 인터랙션
→ 구현X 중에 공수 많이 안드는 건 가능하면 넣으면 좋을듯! 빼는게 더 번거로울것 같기도 해서.~~
에피소드 플레이일부 구현 (P1)일부 가능불가- 로그인 상태에서만 에피소드 플레이 진입 가능
  • 프롤로그까지만 가능하고 이후 입력 보내려고 하면 앱으로 유도.
  • 씬 생성 X & 플레이 기록 저장 X | | 플레이 | 플레이 기록 | 안 함 | - | - | | | 마이 | 플레이 프로필 | 안 함 | - | - | | | 결제 | 재화 충전/결제 | 구현 (P0) | 가능 | 불가 | - 로그인해야만 진입 가능
  • 웹 상품 구성 >> | | 홈 | 출석보상/본인인증 | 안 함 | - | - | | | 마이 | 계정 설정/탈퇴 | 안 함 | - | - | | | 마이 | 알림설정 | 안 함 | - | - | | | 마이 | 로그아웃 | 구현 (P0) | 가능 | 불가 | | | 마이 | 공지사항 | 안 함 | - | - | 공수 많이 들면 스콥아웃 | | 마이 | 고객센터 | 안 함 | - | - | | | 마이 | 내 프로필 | 안 함 | - | - | | | 마이 | 차단관리 | 안 함 | - | - | | | - | 다른 유저 프로필 | 안 함 | - | - | | | 홈 | 푸시 | 안 함 | - | - | | | 마이 | 약관게시/버전정보 | 구현 (P0) | 가능 | 가능 | 약관 링크만 홈 푸터에 게시 | | (추가) | 스튜디오로 이동 | 구현 (P0) | 가능 | 불가 | 스튜디오 페이지로 이동하는 버튼 (비로그인 상태면 로그인 화면으로 이동) |

화면 디자인/유저 플로우

기능 요청

탭 이름기능 이름프론티아 웹 (frontia.ai)스튜디오 웹 (studio.frontia.ai)
-회원가입가능불가능
  • 프론티아 스튜디오는 구조상 프론티아 웹의 하위로 들어가게됩니다. | | - | 로그인 | 가능
  • frontia.ai에서 [스튜디오로 이동] 버튼을 눌렀을 때 로그인 상태가 아니라면 로그인 화면으로 이동합니다. — 이후 로그인 완료했을 때 스튜디오 홈(가능하면! 아니면 frontia.ai)으로 랜딩됩니다. | 불가능: 프론티아 스튜디오는 로그인하지 않은 상태에서 진입할 수 없습니다.
  • studio.frontia.ai로 진입 시 로그인 상태가 아니라면 로그인 화면으로 이동합니다. — 이후 로그인 완료했을 때 스튜디오 홈(가능하면! 아니면 frontia.ai)으로 랜딩됩니다. | | 홈 | 추천 | 앱과 동일 | - | | 홈 | 랭킹 | 앱과 동일 | - | | 홈 | 신작 | 앱과 동일 | - | | | 에피소드 상세 | 제공하는 기능1. 에피소드 정보 (로그인/비로그인 모두 해당)
  • ‘팔로우’ 버튼 삭제
  • 좋아요/댓글 수는 보여주되 인터랙션 불가
  • 나머지는 앱과 동일

2. 대표 댓글 보기 (로그인/비로그인 모두 해당)

  • 대표 댓글은 보이되, 댓글에서 인터랙션 버튼(전체보기, 댓글 좋아요, 대댓글)은 인터랙션 불가
  • 아래에 ‘전체 댓글 보기 및 댓글 작성은 앱에서만 가능합니다’라는 문구 노출

3. 플레이 버튼(이어하기/새로하기)

  1. 플레이 기록이 있다면 이어하기도 보임
  2. 이어하기를 누르는 경우: 앱에서 실행해달라고 안내하는 모달 뜸
  3. 새로하기를 누르는 경우: (1) 비로그인 상태라면 로그인/회원가입이 필요하다는 모달이 뜹니다. → 로그인/회원가입 페이지로 이동 (2) 로그인 상태라면 바로 플레이 진입 ****4) 프롤로그 확인 후, 마지막 프레임에서 선택지 선택 혹은 직접입력하고 생성 눌렀을 때: 앱에서 실행해달라고 안내하는 모달이 뜹니다.

앱에서 실행해달라고 안내하는 모달: 1-1. QR 코드 & [앱으로 이동] 버튼 제공 2. QR 코드 or [앱으로 이동]을 누르는 경우 2-1. 모바일/태블릿 OS라면: (앱 있을 때) 앱으로 이동, (앱 없을 때) 스토어 다운로드 화면으로 이동 2-2. 모바일/태블릿 아니라면: 스토어 웹 페이지로 이동 | - | | 결제 | 재화 충전/결제 | **앱과 동일

  • 결제 수단 체크 표시가 추가됩니다.** | - | | 마이 | 로그아웃 | 가능
  • 계정 아이콘을 누르면 나오는 메뉴에서 ‘로그아웃’ 클릭
  • 로그아웃하고 나면 로그아웃 상태로 원래 있던 화면에 머물기
  • 위 방법이 별도 처리 필요한거라면, 그냥 로그인페이지로 이동 | 가능
  • 로그아웃하면 로그인 페이지로 이동 | | 마이 | 약관게시/버전정보 | 약관 링크 푸터에 표시됨 (웹 표시 방법에 따름) | 약관 링크 푸터에 표시됨 (웹 표시 방법에 따름) | | - | 스튜디오로 이동 | 헤더에 버튼 표시. 누르면 프론티아 스튜디오로 이동 | - | | - | 에피소드 제작 가이드 | - | 메뉴에 버튼 표시. 누르면 노션 페이지로 이동 |

플레이 기록

경로: 출시 버전 기획서

개요: 유저는 [플레이] 탭에서 본인의 전체 플레이 기록을 확인하고, 플레이를 이어갈 수 있습니다. 탭 이름: 플레이 유저 목적: 플레이 진행 현황: 디자인 완료 피그마 링크: https://www.figma.com/design/j0EsFUiD13q2eSUQhRtNz8/🛝01_FronTia_APP_출시?node-id=5555-389632&t=POZL1J0UECJSof7s-1

목표

  1. 유저는 [플레이] 탭에서 본인의 전체 플레이 기록을 확인하고, 플레이를 이어갈 수 있습니다.

화면 디자인/유저 플로우

기능 요청

진입점

  1. 유저는 [플레이] 탭에서 본인의 전체 플레이 기록을 확인할 수 있습니다.
    • 플레이 기록은 유저가 에피소드 상세에서 새로 플레이를 시작한 후 씬을 1회 이상 생성한 건에 대하여 생성됩니다.

플레이 기록에서 확인할 수 있는 내용

  1. 유저는 [플레이 기록]에서 진행 중인 플레이의 전체 리스트를 확인할 수 있습니다.

  2. 전체 플레이 기록은 최신 플레이 순으로 정렬되어 보여집니다.

  3. 각 플레이 기록에서는 다음의 사항을 확인할 수 있습니다.

    1. 에피소드 썸네일
    2. 에피소드 제목
    3. 최근 플레이 시간: 플레이 화면에 마지막으로 진입했던 시간
      • 최근 플레이 시간 표기 방법:
        • 방금 (1분 미만)
        • 1분~59분 전
        • 1~23시간 전
        • 1~3일 전
        • 날짜 (예: 2025.09.01)
    4. 진행 중 여부(진행 중 or 엔딩)와 현재 진행 중인 이벤트 명
    5. 해당 플레이에서 플레이 기준 프레임카운트 (재생성 기준으로 다시 카운트)
    6. 이어하기 버튼
    • 디자인 참고 (젠이 디자인한 후 변경될 수 있음)
  4. 에피소드 썸네일을 누르면 해당 에피소드 상세 페이지로 이동합니다.

  5. 플레이 정보 및 이어하기 버튼을 누르면 해당 플레이를 이어서 플레이할 수 있습니다.

    • 마지막으로 본 씬으로 바로 진입합니다.

플레이 기록 편집

  1. 유저는 ‘편집’ 버튼을 눌러 플레이 기록 ‘편집’ 모드로 진입할 수 있습니다.
  2. ‘삭제’ 버튼을 눌러 선택된 플레이 기록을 하나씩 삭제할 수 있습니다.
  • 스콥 아웃
    1. ‘편집’ 모드에서 유저는 ‘전체 선택’을 눌러 모든 플레이 기록을 선택하거나 선택 해제할 수 있습니다.
      • 전체 선택이 선택되어있을 때: 모든 플레이 기록이 선택됨
      • 모든 플레이 기록이 선택되어있는 상태에서 하나의 기록을 선택해제했을 때: 전체 선택이 선택 해제 됩니다.

플레이하던 에피소드가 삭제/비공개/차단(status가 ‘blocked’으로 변경)되는 경우

  1. 썸네일 이미지와 에피소드 이름이 가려집니다.
    • 썸네일 이미지 가려짐

    • 에피소드 이름: 볼 수 없는 에피소드

  2. 에피소드 썸네일이나 이름을 눌렀을 때 에피소드 상세 페이지로 이동하지 않고, 에러 모달이 뜹니다.
    • 모달 내용: 내용을 확인할 수 없는 에피소드 입니다.
    • 버튼: 확인 (모달 닫기)
  3. ‘이어하기’ 버튼 대신 ‘감상하기’ 버튼으로 변경됩니다.
  4. 플레이 정보 및 감상하기 버튼을 누르면 플레이 화면으로 진입하고, 생성은 불가능합니다.
    • 선택지 및 직접 입력 창이 나타나지 않습니다.
  5. 예외 케이스:
    1. 해당 에피소드가 내가 만든 에피소드일 경우에는 진입 및 플레이 가능합니다.
    2. 링크 공개일 때에는 공개 상태와 동일하게 작동합니다.
  6. 에피소드가 비공개 → 공개, status: blocked → active로 변경되는 경우 다시 플레이가 가능합니다.
    • ‘감상하기’ 버튼이 ‘이어하기’ 버튼으로 변경됩니다.
    • 참고: [에피소드 public/linkonly/private 변경 정책] (참고 슬랙 링크)
      1. public → linkonly : 기존 플레이어들 계속 사용 가능
      2. public → private : 기존 플레이어들 사용 불가
      3. public → private → pubic : 기존 플레이어들 다시 사용 가능
  • out-dated

    플레이하던 에피소드가 삭제되는 경우

    1. 썸네일이랑 이름이 변경됩니다.
      • 삭제 썸네일 이미지 필요
      • 에피소드 이름: 삭제된 에피소드
    2. 에피소드 썸네일을 눌렀을 때 에피소드 상세 페이지로 이동하지 않고, 에러 모달이 뜹니다.
      • 모달 내용: 삭제된 에피소드 입니다.
      • 버튼: 확인 (모달 닫기)
    3. 플레이 정보 및 이어하기 버튼을 눌렀을 때에도 플레이로 진입하지 않고, 에러 모달이 뜹니다.
      • 모달 내용: 삭제된 에피소드 입니다.
      • 버튼: 확인 (모달 닫기)

    플레이하던 에피소드가 비공개되는 경우

    • 참고: 공개/링크공개/비공개 접근 권한 비교

      공개링크 공개비공개
      상세 페이지 진입홈/탐색/검색을 통해 에피소드 상세 페이지로 진입 가능링크를 통해서만 에피소드 상세 페이지로 진입 가능상세 페이지로 진입 불가 (나는 가능)
      에피소드 플레이 시작가능가능불가능 (나는 가능)
      기존 플레이 이어서 진행가능가능불가능 (나는 가능)
    1. 썸네일이랑 이름이 변경됩니다.
      • 비공개 썸네일 이미지 필요
      • 이름: 비공개 에피소드
      • 작가명: 비공개 에피소드????
    2. 에피소드 썸네일을 눌렀을 때 에피소드 상세 페이지로 이동하지 않고, 에러 모달이 뜹니다.
      • 모달 내용: 비공개 에피소드 입니다.
      • 버튼: 확인 (모달 닫기)
    3. 플레이 정보 및 이어하기 버튼을 눌렀을 때에도 플레이로 진입하지 않고, 에러 모달이 뜹니다.
      • 모달 내용: 비공개 에피소드 입니다.
      • 버튼: 확인 (모달 닫기)
    4. 단, 해당 에피소드가 내가 만든 에피소드일 경우에는 진입 및 플레이 가능합니다.
    5. 링크 공개일 때에는 공개 상태와 동일하게 작동합니다.
    6. 비공개 처리된 경우 진입만 불가능하고 유저가 직접 삭제하지 않는 한, 플레이 기록은 유지됩니다.
      • 이후 ‘공개’로 변경되면 이어서 플레이할 수 있습니다.
      • 참고: [에피소드 public/linkonly/private 변경 정책] (참고 슬랙 링크)
        1. public → linkonly : 기존 플레이어들 계속 사용 가능
        2. public → private : 기존 플레이어들 사용 불가
        3. public → private → pubic : 기존 플레이어들 다시 사용 가능

    플레이하던 에피소드가 status가 ‘blocked’으로 변경된 경우

    1. status가 ‘blocked’인 에피소드(운영 상 차단된 에피소드)는 썸네일이 삭제되고 차단 표시가 표시됩니다.
    2. 에피소드 썸네일을 눌렀을 때 에피소드 상세 페이지로 이동하지 않고, 에러 모달이 뜹니다.
      • 모달 내용: 차단된 에피소드입니다. [확인]
      • 버튼: 확인 (모달 닫기)
    3. 플레이 정보 및 이어하기 버튼을 눌렀을 때에도 플레이로 진입하지 않고, 에러 모달이 뜹니다.
      • 모달 내용: 차단된 에피소드입니다. [확인]
      • 버튼: 확인 (모달 닫기)
    4. 내가 만든 에피소드일 때에도 플레이 불가능합니다.
    5. 플레이 기록은 유저가 직접 삭제하 지 않는 한 유지되며, 이후 **‘active’**로 상태 변경되면 이어서 플레이할 수 있습니다.

플레이 프로필

경로: 출시 버전 기획서

개요: 유저는 [플레이 프로필]을 눌러 본인의 플레이 닉네임을 확인/수정할 수 있습니다. 탭 이름: 마이 유저 목적: 플레이 진행 현황: 디자인 완료 피그마 링크: https://www.figma.com/design/j0EsFUiD13q2eSUQhRtNz8/01_FronTia_APP_출시?node-id=6153-48014&t=qZLMBMDZLfYMP8EE-1

목표

  1. 유저는 [플레이 프로필]을 눌러 본인의 플레이 닉네임을 확인/수정할 수 있습니다.

화면 디자인/유저 플로우

기능 요청

  1. 유저는 [플레이 프로필]을 눌러 본인의 플레이 닉네임을 확인/수정할 수 있습니다.
    1. 가입 후 수정한 적이 없다면, 가입 시 등록한 플레이 닉네임이 보여집니다.
    • 참고: ‘플레이 프로필’은 [플레이] 탭에 묶이면 좋겠다는 생각이지만 아직 [플레이] 탭에 뭐가 없고, ‘플레이 프로필’도 디벨롭 가능성이 있기 때문에 임시 거처로 여기에 둡니다.
  2. 유저는 본인의 플레이 닉네임을 변경할 수 있습니다.
    1. validation 조건:
      • 최소 2글자, 최대 8글자
      • 공백, 특수문자 입력 불가
      • 모든 문자(한글, 영어, 일본어, 한자 등)와 숫자만 입력 가능
      • (중복 상관없음)
    2. validation을 통과한 닉네임을 입력 시, 화면 하단의 ‘변경하기’ 버튼이 활성화됩니다.
    3. ‘변경하기’ 버튼을 누르면 확인 모달이 나타납니다.
      • 제목: 이름을 {새로운 닉네임}으로 변경하시겠어요?
      • 내용: 플레이 닉네임을 변경하면 모든 플레이(기존/신규)에서 {계정 닉네임}을 부르는 이름이 변경됩니다.
      • 버튼: 변경 | 취소
    4. ‘변경’을 누르면 플레이 닉네임이 변경되고, 모든 플레이에서 새로운 닉네임으로 적용됩니다.

회원가입

경로: 출시 버전 기획서

개요: 유저는 소셜 로그인 기능을 통해 애플/구글/카카오 계정으로 프론티아에 회원가입을 할 수 있습니다. 탭 이름: - 유저 목적: 가입/로그인 진행 현황: 디자인 완료 피그마 링크: https://www.figma.com/design/j0EsFUiD13q2eSUQhRtNz8/🛝01_FronTia_APP_출시?node-id=5555-355282&t=nlc5bwQy6NhLb0he-1

목표

  • 신규 유저는 Apple, 구글, 카카오 계정을 이용하여 프론티아에 쉽고 매끄럽게 가입할 수 있습니다.
  • 고려하지 않아도 되는 것: 우리가 처음에 생각했던 멋지고 화려한 영상, 몰입감 높은 오프닝 스토리 등

플로우/화면 디자인

  • 피그마 링크 >>

기능 요청

회원가입 절차 (신규 가입의 경우)

  1. 사용자가 앱에 진입 시 로그인 상태가 아니라면, 최대 3가지의 로그인 옵션을 확인할 수 있습니다.
    • 안드로이드 기기 유저: 1. 카카오, 2. 구글
    • 아이폰, 웹, 안드로이드 외 유저: 1. 카카오, 2. 구글, 3. Apple
  2. [Apple/구글 계정/카카오 계정]으로 로그인 버튼을 눌렀을 때 계정 정보가 없는 유저라면 해당 계정에 필요한 가입 절차를 진행합니다.
    1. 각 계정에 따라 기본으로 제공 받는 데이터 및 필수/선택으로 요청할 데이터 항목
  3. 서비스 이용약관 및 개인정보 처리방침 동의
    1. 구글/카카오: 간편 가입 시 서비스 이용약관과 개인정보처리방침 동의를 함께 받습니다.

      • 구글 로그인 시 이용약관 및 개인정보처리 방침 동의 절차

      • 카카오 간편가입 예시

    2. Apple: Apple 계정으로 가입한 이후, 이용약관 및 개인정보처리방침 동의를 별도로 받습니다.

      • 동의 받을 항목
        1. [필수] 서비스 이용 약관
        2. [필수] 개인정보 처리방침
        3. [필수] 만 14세 이상입니다.
        4. [선택] 마케팅 목적 개인정보 활용 및 광고성 정보 수신 동의
          1. 동의 시: 마케팅 알림 수신 동의 OS 모달
          2. 데이터: 마케팅 목적 개인정보 활용, 광고성 정보 수신 각각 동의한 것으로 저장
    3. 유저가 이용약관과 개인정보처리방침에 동의한 시점과 동의 여부를 저장합니다.

온보딩 절차

  • 이 단계에 랜딩한 시점에 회원가입이 완료되었다고 판단합니다. 계정 닉네임 설정 단계부터 온보딩으로 구분됩니다.
  • 만약 구글/카카오에서 받은 생년월일 정보가 만 14세 미만이라면, 가입할 수 없다는 안내와 함께 최초 화면으로 보내집니다.
    • 이 경우 회원가입이 반려됩니다.
  • 유저가 온보딩 단계 중간에 유저가 이탈하는 경우, 앱 재진입시 아직 입력되지 않은 정보를 수집하는 페이지로 랜딩됩니다.
    • 단, 장르 선택 페이지의 경우 선택사항이므로, 모든 정보 입력 후 장르 선택만 하지 않은 채로 이탈한 경우에는 다시 들어왔을 때 (장르 선택을 건너뛰고) 홈 탭으로 랜딩됩니다.
  1. 온보딩 페이지 랜딩 시 랜덤으로 계정 이름과 플레이 이름 초기값을 세팅합니다. (유저에게는 보이지 않습니다)

    • 랜덤 이름 초기값 생성 조건:

      규칙: A+B+랜덤숫자4자리(4자리 고정)

      • A(최대5글자, 총 30개): 고요한, 새벽의, 별을쫓는, 용맹한, 지치지않는, 자유로운, 춤추는, 불타오르는, 큰뜻을품은, 각성한, 경계를넘는, 최전선의, 무한의, 강철의, 웅장해지는, 즐기는, 든든한, 사랑의, 믿음직한, 모험하는, 포기란없는, 귀여운, 참지않는, 성실한, 거침없는, 신비로운, 질주하는, 빛나는, 꿈꾸는, 다정한
      • B(최대3글자, 총 40개): 주민, 영웅, 증인, 생존자, 길잡이, 여행자, 항해자, 기록자, 개척자, 선봉장, 수호자, 파수꾼, 방랑자, 마법사, 현자, 농부, 기사, 사냥꾼, 전사, 나그네, 도적, 점술사, 예언자, 저항군, 용병단, 유령, 초인, 불꽃, 열쇠, 희망, 초심자, 그림자, 기사단, 지휘관, 승부사, 몽상가, 전략가, 낭만파, 저격수, 해결사
  2. 플레이 이름 설정

    • 크랙 화면 예시 (플레이 닉네임 설정)
    1. 페이지 랜딩 시 플레이 이름 란은 비어있습니다.
    2. validation 조건:
      • 최소 2글자, 최대 8글자
      • 공백, 특수문자 입력 불가
      • 모든 문자(한글, 영어, 일본어, 한자 등)와 숫자만 입력 가능
      • (중복 상관없음)
    3. validation을 통과한 닉네임을 입력 시 대사창에서 본인의 닉네임이 어떻게 보일지 확인할 수 있으며(크랙 예시 참고), 화면 하단의 버튼이 활성화됩니다.
    4. 플레이 닉네임 + 4자리 랜덤 숫자가 계정 이름으로 수정됩니다.
      1. 단, 이미 있는 계정 이름이면(중복이면), 최대 3번까지 랜덤 숫자 생성을 retry합니다.
      2. retry 후에도 중복 계정이면 계정 이름을 별도로 수정하지 않고 초기값으로 저장됩니다.
      • [참고] 계정 이름 validation 조건:
        • 최소 2글자, 최대 12글자
        • 공백, 특수문자 입력 불가
        • 모든 문자(한글, 영어, 일본어, 한자 등)와 숫자만 입력 가능
        • 이미 존재하는 닉네임과 중복 아님
  3. 기본 정보 입력

    • 계정, 성별, 생년월일 정보를 필수 항목으로 수집합니다.
    • SNS 계정을 통해 성별과 생년월일이 둘 다, 혹은 둘 중 하나가 이미 수집된 경우, 수집된 정보를 입력하는 창은 보이지 않습니다.
    1. 계정: SNS 계정을 통해 수집한 정보가 입력되어 있으며 수정 불가합니다.
    2. 성별: 남성, 여성, 밝히지 않음 중 하나를 고를 수 있습니다.
      • SNS 가입을 통해 이미 수집된 정보인 경우 해당 입력창을 보여주지 않음
    3. 생년월일: YYYY년 MM월 DD일 형식으로 생년월일을 입력할 수 있습니다.
      • SNS 가입을 통해 이미 수집된 정보인 경우 해당 입력창을 보여주지 않음
      • UX 디자인 관련:
        • 각 기기의 시스템 날짜 UI 사용
        • 처음에는 미입력 되어있는 상태이고, 입력하려고 눌렀을때 기본값 있음*(예: 2001-01-01)*
      • 최소 입력 가능한 일자: 만 14세 이상 부터 가입할 수 있도록 매일 최소 입력 가능 일자가 달라집니다.
      • 최대 입력 가능한 일자: 대략 100세..?ㅋㅋㅋ 이건 필수는 아닙니다.
    4. 모든 값이 입력되었으면 화면 하단의 버튼이 활성화됩니다.
    • 크랙 화면 예시 (기본 정보 입력)
  4. 관심 장르 선택 [선택사항!!]

    1. 관심 장르는 아래 후보 중 최소 3개, 최대 5개 고를 수 있습니다.
      • 연애/로맨스, SF/판타지, 로맨스판타지, 일상/현대, 무협, 역사/시대, 학원, 코미디, 공포/스릴러, 추리/미스터리, 전쟁/밀리터리, 기타
    2. 3개 장르를 고르면 하단의 버튼이 활성화되고, 5개를 고르면 비활성화됩니다.
    • 크랙 화면 예시 (관심 장르 선택)
  5. 위의 온보딩 절차 완료 시 홈 탭의 추천 화면으로 랜딩되며, 앱 설치 기준 최초 1회에 한하여 이용자 수칙 안내를 확인할 수 있습니다.

    • 최초 1회: 앱 설치 기준
    • 크랙/제타 화면 예시 (이용자 수칙 안내)
  6. 이용자 수칙 안내에 [동의하기]를 누르면 홈 탭의 [추천] 탭으로 랜딩됩니다. 이용자 수칙 안내에 동의하지 않으면 앱으로 진입할 수 없습니다.

  7. 알림 수신 동의 화면 (이번에 스콥아웃)

    1. 대략 내용: 프론티아에 오신 것을 환영합니다! {계정 닉네임} 님이 좋아하실만한 작품들을 추천해드려도 될까요? (휘황찬란하게 홀리기)

      버튼: 네 기대할게요! | 다음에 하기(작게)

    2. ‘네 기대할게요!’를 선택하면 OS 모달로 알림 수신 동의를 받습니다. → 시스템 알림과 연동

회원가입 (재가입의 경우)

  • 신규 가입과 동일하게 처리