Skip to content
forked from dubEng/dubEng

🎧 λ”λΉ™ν•˜λ©° λ°°μš°λŠ” μ˜μ–΄ μŠ€ν”Όν‚Ή - πŸ† μžμœ¨ν”„λ‘œμ νŠΈ μ΅œμš°μˆ˜μƒ

Notifications You must be signed in to change notification settings

choijeongon/dubEng

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ† SSAFY μžμœ¨ν”„λ‘œμ νŠΈ μ΅œμš°μˆ˜μƒ

🎧 Dubeng 🎧


μ˜μ–΄λ‘œ μ—°κΈ°ν•˜λ©° μŠ€ν”Όν‚Ήμ„ λ°°μš°λŠ” μ„œλΉ„μŠ€

Untitled

πŸ˜€ ν”„λ‘œμ νŠΈ μ†Œκ°œ πŸ˜€


βœΒ ν”„λ‘œμ νŠΈλͺ…

  • dubEng [λ₯μž‰]

μ„œλΉ„μŠ€ μ£Όμ†Œ: DubEng

πŸŽ₯ μ†Œκ°œ μ˜μƒ 보기: UCC 링크

dubEng StoryBook: StoryBook

πŸ’– μ„œλΉ„μŠ€ μ†Œκ°œ

μ˜μ–΄λ‘œ λ”λΉ™ν•˜λ©° μŠ€ν”Όν‚Ήμ„ λ°°μš°λŠ” μ„œλΉ„μŠ€

Practice makes Perfect

  • λ”°λΌμ½κΈ°λ§Œ ν•˜λ˜ μ˜μ–΄λŠ” 이제 그만! βœ‹

    μ˜μ–΄ νšŒν™” μ‹€λ ₯을 늘리렀면 맀일 μ‘°κΈˆμ”© κΎΈμ€€νžˆ μ˜μ–΄λ‘œ λ§ν•˜λŠ”κ²Œ μ€‘μš”ν•©λ‹ˆλ‹€. 기쑴의 μ˜μ–΄ ν•™μŠ΅λ²•μ€ λ‹¨μˆœνžˆ 단어 μ™Έμš°κΈ°, 문법 곡뢀등 μ§€λ£¨ν•œ 곡뢀λ₯Ό 톡해 λ°°μ›λ‹ˆλ‹€.

    λ₯μž‰ μ„œλΉ„μŠ€λŠ” 더빙을 ν•΄λ΄„μœΌλ‘œμ¨ 재미있게 μ˜μ–΄μ˜ κ°•μ„Έ μŠ΅λ“ 및 슀크립트λ₯Ό μ™Έμš°λ©΄μ„œ μžμ—°μŠ€λŸ½κ²Œ νšŒν™” μŠ€ν‚¬μ„ 얻을 수 μžˆμŠ΅λ‹ˆλ‹€.

    아직도 κΈ°κ³„μ μœΌλ‘œ 문제λ₯Ό 풀듯이 μ˜μ–΄λ₯Ό κ³΅λΆ€ν•˜κ³  κ³„μ‹ κ°€μš”? μ†Œν†΅μ„ μœ„ν•œ 언어인 μ˜μ–΄, DubEngκ³Ό ν•¨κ»˜ μ΄μ œλŠ” 재미있게 λ°°μ›Œλ³΄μ„Έμš”!

  • λ‹€μ–‘ν•œ μ½˜ν…μΈ  λ‘˜λŸ¬λ³΄κΈ° πŸ‘€

    κ΄€λ¦¬μž νŽ˜μ΄μ§€μ—μ„œ 직접 κ²€μˆ˜ν•˜κΈ° λ•Œλ¬Έμ— μ–‘μ§ˆμ˜ μ˜μƒ 컨텐츠λ₯Ό λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

    λ‹€μ–‘ν•œ μΉ΄ν…Œκ³ λ¦¬μ™€ 검색을 톡해 μ›ν•˜λŠ” μ˜μƒμ„ μ‰½κ²Œ 검색할 수 μžˆμŠ΅λ‹ˆλ‹€.

    상황별 λ”λΉ™ν•˜κΈ°λ₯Ό 톡해 μ›ν•˜λŠ” μƒν™©μ—μ„œμ˜ μ½˜ν…μΈ λ₯Ό μ‚΄νŽ΄λ³΄μ„Έμš”.

    ** λ§Œμ•½ λ‚΄κ°€ μ›ν•˜λŠ” 컨텐츠가 어떀건지 λͺ¨λ₯΄κ² λ‹€λ©΄ λ”λΉ™μ˜ μΆ”μ²œ μ•Œκ³ λ¦¬μ¦˜μ„ 톡해 μ›ν•˜λŠ” μ½˜ν…μΈ λ₯Ό μΆ”μ²œ λ°›μ•„λ³΄μ„Έμš”. **

  • λ‹€μ–‘ν•œ λ”λΉ™μž‘ν’ˆ λ‘˜λŸ¬λ³΄κΈ° πŸ‘€

    였늘의 더빙왕은 λˆ„κ΅¬μ—κ²Œ νˆ¬ν‘œν•  κ²ƒμΈκ°€μš”? ν•˜λ£¨μ— 4번 더 μž˜ν•˜λŠ” λ– λΉ„λ“€μ—κ²Œ νˆ¬ν‘œν•  수 μžˆμŠ΅λ‹ˆλ‹€.

    λ§€μ£Ό 더빙왕이 μ—…λ°μ΄νŠΈ 되기 λ•Œλ¬Έμ— μ—¬λŸ¬λΆ„λ„ 이주의 더빙왕에 λ“±κ·Ήν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  • λ”λΉ™ν•˜κΈ°λ₯Ό 더 μ •ν™•ν•˜κ²Œ πŸ“ˆ

    STT와 ν”ΌμΉ˜κ·Έλž˜ν”„λ₯Ό ν†΅ν•΄μ„œ λ‚΄ 발음이 μ •ν™•ν•œμ§€ μ‚΄νŽ΄λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

    더빙 μ™„λ£Œ ν›„ μ˜μƒκ³Ό ν•¨κ»˜ 미리보기λ₯Ό μž¬μƒν•˜μ—¬ μ™„μ„±λœ 더빙을 미리 λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

    μ˜ν™”λ‚˜ λ“œλΌλ§ˆμ† λ‹€μ–‘ν•œ λ°°μš°λ“€κ³Ό ν•¨κ»˜ λŒ€μ‚¬λ₯Ό μ£Όκ³  λ°›μœΌλ©΄μ„œ μ—¬λŸ¬λΆ„λ„ μŠ€νƒ€κ°€ λ˜μ–΄λ³΄μ„Έμš”.

πŸ‘€ μ„œλΉ„μŠ€ λŒ€μƒ

  • λ‹¨μˆœνžˆ 읽기, λ“£κΈ°, μ“°κΈ° 외에 μ§„μ§œ μŠ€ν”Όν‚Ήμ„ μœ„ν•œ μ˜μ–΄λ₯Ό κ³΅λΆ€ν•˜κ³  μ‹ΆμœΌμ‹  λΆ„
  • μ’‹μ•„ν•˜λŠ” 컨텐츠λ₯Ό μ¦κΈ°λ©΄μ„œ μžμ—°μŠ€λŸ½κ²Œ μ˜μ–΄λ„ ν•™μŠ΅ν•˜κ³  μ‹ΆμœΌμ‹  λΆ„
  • μ˜μ–΄ μ‹œν—˜ 성적은 λ†’μ§€λ§Œ μŠ€ν”Όν‚Ή μ•žμ—μ„œ ν•œμ—†μ΄ μž‘μ•„μ§€λŠ” λΆ„
  • DubEngμ—μ„œ μ’‹μ•„ν•˜λŠ” μ»¨ν…μΈ μ˜ 주인곡이 λ˜μ–΄, 직접 λ‚΄ λͺ©μ†Œλ¦¬λ₯Ό λ…ΉμŒν•œ 더빙 μž‘ν’ˆμ„ λ§Œλ“€μ–΄λ³΄μ„Έμš”!

β˜πŸ»Β μ£Όμš” κΈ°λŠ₯

  • ν™ˆ
  • 숏츠
  • λͺ©λ‘
  • λ„μ „κ³Όμ œ
  • λ§ˆμ΄νŽ˜μ΄μ§€
  • λ”λΉ™ν•˜κΈ°

🎠 배포 ν™˜κ²½

πŸ—“Β μ§„ν–‰ 일정

  • 2023.04.10 ~ 2023.05.31 (총 6μ£Ό)

🚩 ν”„λ‘œμ νŠΈ μš”μ•½

Application Language Framework
βœ…Β Desktop Web βœ…Β JavaScript πŸ”²Β Vue.js
βœ…Β Mobile Web βœ…Β TypeScript βœ…Β Next.js
πŸ”²Β Responsive Web πŸ”²Β C/C++ πŸ”²Β Angular
πŸ”²Β Android App πŸ”²Β C# πŸ”²Β Node.js
πŸ”²Β iOS App βœ…Β Python βœ…Β Flask/FastAPI
πŸ”²Β Desktop App βœ…Β Java βœ…Β Spring/Springboot

πŸ‘¨β€πŸ‘§β€πŸ‘§ νŒ€ μ†Œκ°œ - πŸ™‹β€β™€οΈλ„λΉ„πŸ™‹β€β™‚οΈ

κΉ€μ•„μ˜ 김도언 김동λ₯  김지희 백자민 μ΅œμ •μ˜¨ μž„κ²½μ°¬
BE FE BE / Infra BE BE FE FE

πŸ“’ μ£Όμš” κΈ°λŠ₯ πŸ“’


ν™ˆ

1️⃣ μ‹€μ‹œκ°„ 인기 더빙

  • μ‘°νšŒμˆ˜μ™€ μ’‹μ•„μš”μˆœμœΌλ‘œ μ •λ ¬λœ 더빙 μž‘ν’ˆ

2️⃣ μœ μ € λž­ν‚Ή

  • λ…ΉμŒμ‹œκ°„κ³Ό 더빙 수둜 μ •λ ¬λœ μœ μ € λž­ν‚Ή Top 5

3️⃣ 이주의 더빙왕

  • 이번주 νˆ¬ν‘œμˆ˜κ°€ κ°€μž₯ λ§Žμ€ μœ μ € λž­ν‚Ή Top 3

Untitled

λͺ©λ‘

  • μ˜μ–΄ μ½˜ν…μΈ μ™€ ν•œκ΅­μ–΄ μ½˜ν…μΈ λ₯Ό μ„ νƒν•΄μ„œ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.
  • λ‹€μ–‘ν•œ μΉ΄ν…Œκ³ λ¦¬μ™€ 제λͺ© 검색을 톡해 μ›ν•˜λŠ” μž‘ν’ˆμ„ κ²€μƒ‰ν•΄λ³΄μ„Έμš”.

1️⃣ 더빙 μ½˜ν…μΈ 

  • μœ μ €μ˜ 개인 맞좀 μΆ”μ²œ μ½˜ν…μΈ λ₯Ό μΆ”μ²œλ°›μ„ 수 μžˆμŠ΅λ‹ˆλ‹€.
    • μΉ΄ν…Œκ³ λ¦¬, μ œμž‘μ‚¬, 성별을 기반으둜 κ°€μ€‘μΉ˜λ₯Ό λ‹€λ₯΄κ²Œ μ£Όμ–΄ μ›ν•˜λŠ” μ½˜ν…μΈ λ₯Ό μΆ”μ²œλ°›μ„ 수 μžˆμŠ΅λ‹ˆλ‹€.
  • β€œμƒν™©λ³„λ‘œ λ”λΉ™ν•΄λ΄μš”β€ λ₯Ό 톡해 μ£Όμ–΄μ§„ μƒν™©μ—μ„œμ˜ 더빙 μ½˜ν…μΈ λ“€λ₯Ό λ³΄μ—¬μ€λ‹ˆλ‹€.

2️⃣ 더빙 μž‘ν’ˆ

  • ν•˜λ£¨μ— 4번 더빙왕을 νˆ¬ν‘œν•  수 μžˆμŠ΅λ‹ˆλ‹€. ν•˜λ‚˜μ˜ μž‘ν’ˆμ— λŒ€ν•΄ 2λͺ…μ˜ μœ μ €κ°€ κ²½μŸν•˜μ—¬ 더빙왕이 될 수 μžˆμŠ΅λ‹ˆλ‹€.

Untitled

숏츠

  • λ”λΉ™λœ μž‘ν’ˆμ„ 숏츠 ν˜•νƒœλ‘œ μ‚΄νŽ΄λ³΄κΈ°

Untitled

λ”λΉ™ν•˜κΈ°

1️⃣ ꡬ간별 슀크립트 더빙

  • ν•΄λ‹Ή ꡬ간을 μž¬μƒν•˜κ³  더빙할 수 μžˆμŠ΅λ‹ˆλ‹€.
  • ν”ΌμΉ˜ κ·Έλž˜ν”„μ™€ STTλ₯Ό 톡해 μ •ν™•ν•˜κ²Œ 더빙을 ν•˜κ³  μžˆλŠ”μ§€ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.
  • λ²ˆμ—­ 토글을 톡해 λ²ˆμ—­μ„ 가릴 수 μžˆμŠ΅λ‹ˆλ‹€.

2️⃣ 전체 슀크립트

  • ν•΄λ‹Ή μ½˜ν…μΈ μ˜ λͺ¨λ“  슀크립트λ₯Ό λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

3️⃣ μ €μž₯ν•˜κΈ°

  • μ €μž₯ ν›„ 미리 보기λ₯Ό 톡해 잘 더빙이 λλŠ”μ§€ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€. μ™„λ²½ν•˜κ²Œ 더빙이 됐으면 μ˜¬λ €μ£Όμ„Έμš”.

Untitled

λ„μ „κ³Όμ œ

  • λ„μ „κ³Όμ œ νŽ˜μ΄μ§€μ— κ°€λ©΄ μ™„μ„±ν•΄μ•Ό ν•  β€œλ‚˜λ§Œμ˜ λΆ€μ—Œβ€κ³Ό β€œμ™„λ£Œν•œ λ„μ „κ³Όμ œ λ¦¬μŠ€νŠΈβ€λ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.
  • νŠΉμ • μ½˜ν…μΈ λ₯Ό λ”λΉ™ν•˜λ©΄ ν•΄λ‹Ή μ½˜ν…μΈ μ— λ§€ν•‘λœ λ„μ „κ³Όμ œλ₯Ό μ™„λ£Œν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • λ„μ „κ³Όμ œλ₯Ό ν•˜λ‚˜μ”© μ™„λ£Œν•˜λ©΄ alertμ°½κ³Ό ν•¨κ»˜ 각 λ„μ „κ³Όμ œμ— λ§€ν•‘λœ 에셋이 잠금 ν•΄μ œλ˜κ³ , ν•΄μ œλœ 에셋은 λ‚˜λ§Œμ˜ λΆ€μ—Œμ— ν™œμ„±ν™”λ©λ‹ˆλ‹€.
  • λ„μ „κ³Όμ œλ₯Ό λͺ¨λ‘ μ™„λ£Œν•˜λ©΄ λ‚˜λ§Œμ˜ λΆ€μ—Œμ΄ μ™„μ„±λ©λ‹ˆλ‹€.

Untitled

λ§ˆμ΄νŽ˜μ΄μ§€

1️⃣ ν”„λ‘œν•„ 정보

  • ν”„λ‘œν•„ 사진과 λ‹‰λ„€μž„, ν•œ 쀄 μ†Œκ°œ, 총 λ…ΉμŒ μ‹œκ°„, 총 더빙 μž‘ν’ˆ 수 λ“± κΈ°λ³Έ ν”„λ‘œν•„ 정보λ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

2️⃣ μ„ ν˜Έ μž₯λ₯΄ 및 μΆœμ„ ν˜„ν™©

  • νšŒμ›κ°€μž… μ‹œ μ„ νƒν–ˆλ˜ μΉ΄ν…Œκ³ λ¦¬ μž₯λ₯΄λ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.
  • μΊ˜λ¦°λ”μ— μΆœμ„ ν˜„ν™©μ΄ ν‘œμ‹œλ©λ‹ˆλ‹€.

3️⃣ 더빙/컨텐츠 λͺ©λ‘

  • λ‚˜μ˜ 더빙 λͺ©λ‘
    • μœ μ €κ°€ λ”λΉ™ν•œ 더빙 λͺ©λ‘μ„ λͺ¨λ‘ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.
    • ν•΄λ‹Ή 더빙 μž‘ν’ˆμ„ ν΄λ¦­ν•˜λ©΄ 상세 νŽ˜μ΄μ§€λ‘œ μ΄λ™ν•˜μ—¬ μž‘ν’ˆμ„ μž¬μƒν•΄λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.
    • λ‹€λ₯Έ μ‚¬λžŒμ΄ λ‚΄ ν”„λ‘œν•„μ„ λ³Ό λ•ŒλŠ” β€œκ³΅κ°œβ€ μ„€μ •ν•œ 더빙 μž‘ν’ˆλ§Œ 보이게 λ©λ‹ˆλ‹€.
    • λ§ˆμ΄νŽ˜μ΄μ§€μ—μ„œλŠ” μƒμœ„ λ‹€μ„―κ°œμ˜ 더빙 μž‘ν’ˆμ„ 확인할 수 있고, μƒμ„Έλ³΄κΈ°λ‘œ μ΄λ™ν•˜λ©΄ μ˜μ–΄/ν•œκ΅­μ–΄ λ³„λ‘œ λ‚˜λˆ  확인할 수 μžˆμŠ΅λ‹ˆλ‹€.
  • μ’‹μ•„μš”ν•œ 더빙 λͺ©λ‘
    • μœ μ €κ°€ μ’‹μ•„μš”λ₯Ό λˆ„λ₯Έ 더빙 μž‘ν’ˆ λͺ©λ‘μ„ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.
    • ν•΄λ‹Ή 더빙 μž‘ν’ˆμ„ ν΄λ¦­ν•˜λ©΄ 상세 νŽ˜μ΄μ§€λ‘œ μ΄λ™ν•˜μ—¬ μž‘ν’ˆμ„ μž¬μƒν•΄λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.
    • λ§ˆμ΄νŽ˜μ΄μ§€μ—μ„œλŠ” μƒμœ„ λ‹€μ„―κ°œμ˜ 더빙 μž‘ν’ˆμ„ 확인할 수 있고, μƒμ„Έλ³΄κΈ°λ‘œ μ΄λ™ν•˜λ©΄ μ˜μ–΄/ν•œκ΅­μ–΄ λ³„λ‘œ λ‚˜λˆ  확인할 수 μžˆμŠ΅λ‹ˆλ‹€.
  • μ €μž₯ν•œ μ½˜ν…μΈ  λͺ©λ‘
    • μœ μ €κ°€ λΆλ§ˆν¬ν•œ μ½˜ν…μΈ  λͺ©λ‘μ„ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.
    • ν•΄λ‹Ή μ½˜ν…μΈ λ₯Ό ν΄λ¦­ν•˜λ©΄ 상세 νŽ˜μ΄μ§€λ‘œ μ΄λ™ν•˜μ—¬ μž‘ν’ˆμ„ μž¬μƒν•΄λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.
    • λ§ˆμ΄νŽ˜μ΄μ§€μ—μ„œλŠ” μƒμœ„ λ‹€μ„―κ°œμ˜ μ½˜ν…μΈ λ₯Ό 확인할 수 있고, μƒμ„Έλ³΄κΈ°λ‘œ μ΄λ™ν•˜λ©΄ μ˜μ–΄/ν•œκ΅­μ–΄ λ³„λ‘œ λ‚˜λˆ  확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

Untitled

πŸ”§ 기술 μŠ€νƒ πŸ”§


**[ Backend ]**
- Java 11
- MySQL `8.0.30`
- SpringBootΒ `2.7.9`
- Spring Data JPA `2.7.9`
- GradleΒ `7.5`
- LombokΒ `1.18.26`
- Swagger `2.9.2`
- Spring SecurityΒ `2.7.9`
- JWT `0.11.2`
- PythonΒ `3.10.10`

**[ Frontend ]**
- nodeJS: 18.16.0
- npm: 9.6.5
- react: 18.2.0
- next: 13.3.1
- react-query: ^3.39.3
- react-redux: ^8.0.5
- redux: ^4.2.1
- redux-persist: ^6.0.0
- tailwindcss: 3.3.2
- typescript: 5.0.4

**[ DB ]**
- MySQL `8.0.30`

**[ DevOps ]**
- Docker, containerd
- Nginx
- Jenkins
- AWS EC2
- AWS EKS, ECR, ALB, EFS

**[ Storage ]**
- S3 Bucket

**[ IDE ]**
- IntelliJ
- VSCode

**[ Team Collaboration Tool ]
-** GitLab
- Notion
- JIRA
- MatterMost
- Webex
- Gather

πŸ’₯ μ•„ν‚€ν…μ²˜ πŸ’₯


Untitled

πŸ’Ύ ERD πŸ’Ύ


Untitled


Untitled

πŸ“œ API λͺ…μ„Έμ„œ πŸ“œ


Untitled

πŸ“ 디렉토리 ꡬ쑰 πŸ“


Frontend

── Dockerfile-next
β”œβ”€β”€ Dockerfile-storybook
β”œβ”€β”€ README.md
β”œβ”€β”€ docker-next@tmp
β”œβ”€β”€ next.config.js
β”œβ”€β”€ package-lock.json
β”œβ”€β”€ package.json
β”œβ”€β”€ postcss.config.js
β”œβ”€β”€ public
β”‚   β”œβ”€β”€ assets
β”‚   β”‚   β”œβ”€β”€ CABINET.PNG
β”‚   β”‚   β”œβ”€β”€ CHAIR.PNG
β”‚   β”‚   β”œβ”€β”€ FIRSTSHELVE.PNG
β”‚   β”‚   β”œβ”€β”€ FRG.PNG
β”‚   β”‚   β”œβ”€β”€ SECSHELVE.PNG
β”‚   β”‚   β”œβ”€β”€ TABLE.PNG
β”‚   β”‚   β”œβ”€β”€ TBDRINK.PNG
β”‚   β”‚   β”œβ”€β”€ TBFOOD.PNG
β”‚   β”‚   β”œβ”€β”€ b2.glb
β”‚   β”‚   β”œβ”€β”€ cfm.PNG
β”‚   β”‚   └── kitchen.glb
β”‚   β”œβ”€β”€ favicon
β”‚   β”‚   β”œβ”€β”€ android-chrome-192x192.png
β”‚   β”‚   β”œβ”€β”€ android-chrome-256x256.png
β”‚   β”‚   β”œβ”€β”€ apple-touch-icon.png
β”‚   β”‚   β”œβ”€β”€ browserconfig.xml
β”‚   β”‚   β”œβ”€β”€ favicon-16x16.png
β”‚   β”‚   β”œβ”€β”€ favicon-32x32.png
β”‚   β”‚   β”œβ”€β”€ favicon.ico
β”‚   β”‚   β”œβ”€β”€ mstile-150x150.png
β”‚   β”‚   β”œβ”€β”€ safari-pinned-tab.svg
β”‚   β”‚   └── site.webmanifest
β”‚   β”œβ”€β”€ favicon.ico
β”‚   β”œβ”€β”€ fonts
β”‚   β”‚   β”œβ”€β”€ Pretendard-Black.woff2
β”‚   β”‚   β”œβ”€β”€ Pretendard-Bold.woff2
β”‚   β”‚   β”œβ”€β”€ Pretendard-ExtraBold.woff2
β”‚   β”‚   β”œβ”€β”€ Pretendard-ExtraLight.woff2
β”‚   β”‚   β”œβ”€β”€ Pretendard-Light.woff2
β”‚   β”‚   β”œβ”€β”€ Pretendard-Medium.woff2
β”‚   β”‚   β”œβ”€β”€ Pretendard-Regular.woff2
β”‚   β”‚   β”œβ”€β”€ Pretendard-SemiBold.woff2
β”‚   β”‚   └── Pretendard-Thin.woff2
β”‚   β”œβ”€β”€ icons
β”‚   β”‚   β”œβ”€β”€ dubbing-icon
β”‚   β”‚   β”‚   β”œβ”€β”€ play.svg
β”‚   β”‚   β”‚   β”œβ”€β”€ record.svg
β”‚   β”‚   β”‚   β”œβ”€β”€ recording.svg
β”‚   β”‚   β”‚   β”œβ”€β”€ sound-disable.svg
β”‚   β”‚   β”‚   β”œβ”€β”€ sound-play.svg
β”‚   β”‚   β”‚   β”œβ”€β”€ sound.svg
β”‚   β”‚   β”‚   └── stop.svg
β”‚   β”‚   β”œβ”€β”€ recording-icon
β”‚   β”‚   β”‚   β”œβ”€β”€ defaultRecordingIcon.svg
β”‚   β”‚   β”‚   └── shortsRecordingIcon.svg
β”‚   β”‚   └── search-icon
β”‚   β”‚       └── search 1.svg
β”‚   β”œβ”€β”€ images
β”‚   β”‚   β”œβ”€β”€ default
β”‚   β”‚   β”‚   └── mic_profile.png
β”‚   β”‚   β”œβ”€β”€ dump
β”‚   β”‚   β”‚   β”œβ”€β”€ mission_image_01.svg
β”‚   β”‚   β”‚   β”œβ”€β”€ mission_image_02.svg
β”‚   β”‚   β”‚   β”œβ”€β”€ mission_image_03.svg
β”‚   β”‚   β”‚   β”œβ”€β”€ mission_image_04.svg
β”‚   β”‚   β”‚   β”œβ”€β”€ profile_01.svg
β”‚   β”‚   β”‚   β”œβ”€β”€ profile_02.svg
β”‚   β”‚   β”‚   β”œβ”€β”€ profile_03.svg
β”‚   β”‚   β”‚   β”œβ”€β”€ profile_04.svg
β”‚   β”‚   β”‚   β”œβ”€β”€ profile_05.svg
β”‚   β”‚   β”‚   └── webarebears_image.png
β”‚   β”‚   β”œβ”€β”€ home
β”‚   β”‚   β”‚   β”œβ”€β”€ HomeBanner.svg
β”‚   β”‚   β”‚   β”œβ”€β”€ banner.png
β”‚   β”‚   β”‚   β”œβ”€β”€ banner1.png
β”‚   β”‚   β”‚   β”œβ”€β”€ banner2.png
β”‚   β”‚   β”‚   β”œβ”€β”€ banner3.png
β”‚   β”‚   β”‚   β”œβ”€β”€ banner_instagram.png
β”‚   β”‚   β”‚   └── banner_review.png
β”‚   β”‚   β”œβ”€β”€ login
β”‚   β”‚   β”‚   β”œβ”€β”€ KakaoLoginButton.svg
β”‚   β”‚   β”‚   β”œβ”€β”€ LoginImage.svg
β”‚   β”‚   β”‚   β”œβ”€β”€ default_profile.png
β”‚   β”‚   β”‚   └── develop_profile.png
β”‚   β”‚   └── logo
β”‚   β”‚       β”œβ”€β”€ EmptyImage.png
β”‚   β”‚       β”œβ”€β”€ dub-eng-open-graph.png
β”‚   β”‚       └── dubeng_logo.png
β”‚   └── lottie
β”‚       β”œβ”€β”€ checked.json
β”‚       β”œβ”€β”€ mission_success.json
β”‚       └── video.json
β”œβ”€β”€ src
β”‚   β”œβ”€β”€ apis
β”‚   β”‚   β”œβ”€β”€ community
β”‚   β”‚   β”‚   β”œβ”€β”€ mutations
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ useLikePost.ts
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ useScrapPost.ts
β”‚   β”‚   β”‚   β”‚   └── useVotePost.ts
β”‚   β”‚   β”‚   └── queries
β”‚   β”‚   β”‚       β”œβ”€β”€ useCategoryListQuery.ts
β”‚   β”‚   β”‚       β”œβ”€β”€ useCommentListQuery.ts
β”‚   β”‚   β”‚       β”œβ”€β”€ useCommunityDetailQuery.ts
β”‚   β”‚   β”‚       β”œβ”€β”€ useCommunityShortsQuery.ts
β”‚   β”‚   β”‚       β”œβ”€β”€ useContentsDetailQuery.ts
β”‚   β”‚   β”‚       β”œβ”€β”€ useEngSearchSituationVideoQuery.ts
β”‚   β”‚   β”‚       β”œβ”€β”€ useKorSearchSituationVideoQuery.ts
β”‚   β”‚   β”‚       β”œβ”€β”€ usePlayCountUpQuery.ts
β”‚   β”‚   β”‚       β”œβ”€β”€ useRecommendDubVideoListQuery.ts
β”‚   β”‚   β”‚       β”œβ”€β”€ useScrapQuery.ts
β”‚   β”‚   β”‚       β”œβ”€β”€ useSearchDubProductQuery.ts
β”‚   β”‚   β”‚       β”œβ”€β”€ useSearchDubVideoQuery.ts
β”‚   β”‚   β”‚       └── useVoteQuery.ts
β”‚   β”‚   β”œβ”€β”€ dubbing
β”‚   β”‚   β”‚   β”œβ”€β”€ mutations
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ useFileUploadPost.ts
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ useRecordPreviewPost.ts
β”‚   β”‚   β”‚   β”‚   └── useRecordSave.ts
β”‚   β”‚   β”‚   └── queries
β”‚   β”‚   β”‚       β”œβ”€β”€ useDubRecordScriptQuery.ts
β”‚   β”‚   β”‚       └── useDubRecordVideoInfoQuery.ts
β”‚   β”‚   β”œβ”€β”€ home
β”‚   β”‚   β”‚   β”œβ”€β”€ mutations
β”‚   β”‚   β”‚   β”‚   └── test.txt
β”‚   β”‚   β”‚   └── queries
β”‚   β”‚   β”‚       β”œβ”€β”€ useHomeDubKingQuery.ts
β”‚   β”‚   β”‚       β”œβ”€β”€ useHomePopularityQuery.ts
β”‚   β”‚   β”‚       └── useHomeRankQuery.ts
β”‚   β”‚   β”œβ”€β”€ login
β”‚   β”‚   β”‚   β”œβ”€β”€ mutations
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ useLogoutPost.ts
β”‚   β”‚   β”‚   β”‚   └── useUserInfoPost.ts
β”‚   β”‚   β”‚   └── queries
β”‚   β”‚   β”‚       └── test.txt
β”‚   β”‚   β”œβ”€β”€ manager
β”‚   β”‚   β”‚   β”œβ”€β”€ mutations
β”‚   β”‚   β”‚   β”‚   └── useVideoPost.ts
β”‚   β”‚   β”‚   └── queries
β”‚   β”‚   β”‚       β”œβ”€β”€ useCategoryQuery.ts
β”‚   β”‚   β”‚       └── useGetVideoInfoQuery.ts
β”‚   β”‚   β”œβ”€β”€ mission
β”‚   β”‚   β”‚   β”œβ”€β”€ mutations
β”‚   β”‚   β”‚   β”‚   └── test.txt
β”‚   β”‚   β”‚   └── queries
β”‚   β”‚   β”‚       β”œβ”€β”€ useMissionCompleteQuery.ts
β”‚   β”‚   β”‚       └── useMissionListQuery.ts
β”‚   β”‚   β”œβ”€β”€ mypage
β”‚   β”‚   β”‚   β”œβ”€β”€ mutations
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ useMyDubProductListMutationts.ts
β”‚   β”‚   β”‚   β”‚   └── useProfileMutation.ts
β”‚   β”‚   β”‚   └── queries
β”‚   β”‚   β”‚       β”œβ”€β”€ useCalenderQuery.ts
β”‚   β”‚   β”‚       β”œβ”€β”€ useLikeDubProductListQuery.ts
β”‚   β”‚   β”‚       └── useScrapDubListQuery.ts
β”‚   β”‚   └── signup
β”‚   β”‚       β”œβ”€β”€ mutations
β”‚   β”‚       β”‚   └── useSignupPost.ts
β”‚   β”‚       └── queries
β”‚   β”‚           β”œβ”€β”€ useGetInterestList.tsx
β”‚   β”‚           └── useGetNicknameCheck.tsx
β”‚   β”œβ”€β”€ components
β”‚   β”‚   β”œβ”€β”€ Scripts
β”‚   β”‚   β”‚   β”œβ”€β”€ GoogleAnalytics.tsx
β”‚   β”‚   β”‚   └── index.tsx
β”‚   β”‚   β”œβ”€β”€ atoms
β”‚   β”‚   β”‚   β”œβ”€β”€ Background.stories.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ Background.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ CheckMessage.stories.ts
β”‚   β”‚   β”‚   β”œβ”€β”€ CheckMessage.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ CommonButton.stories.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ CommonButton.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ CommonInputBox.stories.ts
β”‚   β”‚   β”‚   β”œβ”€β”€ CommonInputBox.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ DirectLoginButton.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ DubButton.stories.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ DubButton.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ DubVideoThumbnail.stories.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ DubVideoThumbnail.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ EmptyComponent.stories.ts
β”‚   β”‚   β”‚   β”œβ”€β”€ EmptyComponent.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ ErrorComponent.stories.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ ErrorComponent.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ Header.stories.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ Header.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ NavigationBar.stories.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ NavigationBar.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ RecordingButton.stories.ts
β”‚   β”‚   β”‚   β”œβ”€β”€ RecordingButton.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ TagButton.stories.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ TagButton.tsx
β”‚   β”‚   β”‚   └── UserProfile.tsx
β”‚   β”‚   β”œβ”€β”€ molecules
β”‚   β”‚   β”‚   β”œβ”€β”€ CommonAlert.stories.ts
β”‚   β”‚   β”‚   β”œβ”€β”€ CommonAlert.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ DubProductListItem.stories.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ DubProductListItem.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ DubVideoListItem.stories.tsx
β”‚   β”‚   β”‚   └── DubVideoListItem.tsx
β”‚   β”‚   └── organism
β”‚   β”‚       └── DubVideoSlider.tsx
β”‚   β”œβ”€β”€ constants
β”‚   β”‚   └── queryKeys.ts
β”‚   β”œβ”€β”€ enum
β”‚   β”‚   └── statusType.ts
β”‚   β”œβ”€β”€ features
β”‚   β”‚   β”œβ”€β”€ community
β”‚   β”‚   β”‚   β”œβ”€β”€ atoms
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ CategoryButton.stories.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ CategoryButton.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ DubSituationCard.stories.ts
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ DubSituationCard.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ DubTypeTap.stories.ts
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ DubTypeTap.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ LanguageSelectBox.stories.ts
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ LanguageSelectBox.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ LanguageSelectTap.stories.ts
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ LanguageSelectTap.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ SearchInputBox.stories.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ SearchInputBox.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ ShortsSubtitle.stories.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ ShortsSubtitle.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ VoteButton.stories.tsx
β”‚   β”‚   β”‚   β”‚   └── VoteButton.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ molecules
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ CommentInputBox.stories.ts
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ CommentInputBox.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ CommentListItem.stories.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ CommentListItem.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ CommentTaskButton.stories.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ CommentTaskButton.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ DubProductTaskButton.stories.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ DubProductTaskButton.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ DubSituation.stories.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ DubSituation.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ ShortsTitle.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ VoteCard.stories.tsx
β”‚   β”‚   β”‚   β”‚   └── VoteCard.tsx
β”‚   β”‚   β”‚   └── organism
β”‚   β”‚   β”‚       β”œβ”€β”€ CommentSlider.tsx
β”‚   β”‚   β”‚       β”œβ”€β”€ DubSituationSlider.tsx
β”‚   β”‚   β”‚       β”œβ”€β”€ DubVideoList.tsx
β”‚   β”‚   β”‚       └── Vote.tsx
β”‚   β”‚   β”œβ”€β”€ dubbing
β”‚   β”‚   β”‚   β”œβ”€β”€ atoms
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ ListenButton.stories.ts
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ ListenButton.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ PitchGraph.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ PlayBar.stories.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ PlayBar.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ PlayBarOrigin.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ PlayBarPreview.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ PlayBarRecording.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ PlayBarSound.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ PlayButton.stories.ts
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ PlayButton.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ PlayButtonSmall.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ RecordButton.stories.ts
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ RecordButton.tsx
β”‚   β”‚   β”‚   β”‚   └── TranslateSwitchButton.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ molecules
β”‚   β”‚   β”‚   β”‚   └── ControlButtonSection.tsx
β”‚   β”‚   β”‚   └── organism
β”‚   β”‚   β”‚       β”œβ”€β”€ DubBox.tsx
β”‚   β”‚   β”‚       β”œβ”€β”€ DubCompleteModal.tsx
β”‚   β”‚   β”‚       β”œβ”€β”€ DubLoadingModal.tsx
β”‚   β”‚   β”‚       └── DubMissionCompleteModal.tsx
β”‚   β”‚   β”œβ”€β”€ home
β”‚   β”‚   β”‚   β”œβ”€β”€ atoms
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ Banner.stories.tsx
β”‚   β”‚   β”‚   β”‚   └── Banner.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ molecules
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ DubKingItem.stories.ts
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ DubKingItem.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ UserRankingListItem.stories.ts
β”‚   β”‚   β”‚   β”‚   └── UserRankingListItem.tsx
β”‚   β”‚   β”‚   └── organism
β”‚   β”‚   β”‚       β”œβ”€β”€ DubKingList.stories.tsx
β”‚   β”‚   β”‚       β”œβ”€β”€ DubKingList.tsx
β”‚   β”‚   β”‚       β”œβ”€β”€ DubProductList.stories.tsx
β”‚   β”‚   β”‚       β”œβ”€β”€ DubProductList.tsx
β”‚   β”‚   β”‚       β”œβ”€β”€ UserRankingList.stories.tsx
β”‚   β”‚   β”‚       └── UserRankingList.tsx
β”‚   β”‚   β”œβ”€β”€ manager
β”‚   β”‚   β”‚   └── organism
β”‚   β”‚   β”‚       β”œβ”€β”€ ScriptListItem.stories.tsx
β”‚   β”‚   β”‚       └── ScriptListItem.tsx
β”‚   β”‚   β”œβ”€β”€ mission
β”‚   β”‚   β”‚   β”œβ”€β”€ atoms
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ KitchenFilterEffect.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ KitchenModel.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ KitchenTooltipBox.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ MissionListItem.stories.tsx
β”‚   β”‚   β”‚   β”‚   └── MissionListItem.tsx
β”‚   β”‚   β”‚   └── organism
β”‚   β”‚   β”‚       β”œβ”€β”€ MissionKitchen.tsx
β”‚   β”‚   β”‚       β”œβ”€β”€ MissionList.stories.tsx
β”‚   β”‚   β”‚       └── MissionList.tsx
β”‚   β”‚   β”œβ”€β”€ mypage
β”‚   β”‚   β”‚   β”œβ”€β”€ atoms
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ LanguageTap.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ MyCalendar.tsx
β”‚   β”‚   β”‚   β”‚   └── ProfileImageEditButton.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ molecules
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ DubProductCard.tsx
β”‚   β”‚   β”‚   β”‚   └── MyPageProfileImage.tsx
β”‚   β”‚   β”‚   └── organism
β”‚   β”‚   β”‚       β”œβ”€β”€ DifferentUserDubProductList.tsx
β”‚   β”‚   β”‚       β”œβ”€β”€ LikeDubProductList.tsx
β”‚   β”‚   β”‚       β”œβ”€β”€ MyDubProductList.tsx
β”‚   β”‚   β”‚       β”œβ”€β”€ MyPageProfile.tsx
β”‚   β”‚   β”‚       └── ScrapDubVideoList.tsx
β”‚   β”‚   └── signup
β”‚   β”‚       β”œβ”€β”€ atoms
β”‚   β”‚       β”‚   β”œβ”€β”€ ProfileChangeButton.tsx
β”‚   β”‚       β”‚   └── SignUpButton.tsx
β”‚   β”‚       └── molecules
β”‚   β”‚           └── SignUpProfileImage.tsx
β”‚   β”œβ”€β”€ hooks
β”‚   β”‚   β”œβ”€β”€ community
β”‚   β”‚   β”‚   └── test.txt
β”‚   β”‚   β”œβ”€β”€ dubbing
β”‚   β”‚   β”‚   └── test.txt
β”‚   β”‚   β”œβ”€β”€ home
β”‚   β”‚   β”‚   └── test.txt
β”‚   β”‚   β”œβ”€β”€ login
β”‚   β”‚   β”‚   └── test.txt
β”‚   β”‚   β”œβ”€β”€ mission
β”‚   β”‚   β”‚   └── test.txt
β”‚   β”‚   β”œβ”€β”€ mypage
β”‚   β”‚   β”‚   └── test.txt
β”‚   β”‚   └── signup
β”‚   β”‚       └── test.txt
β”‚   β”œβ”€β”€ pages
β”‚   β”‚   β”œβ”€β”€ 404.tsx
β”‚   β”‚   β”œβ”€β”€ _app.tsx
β”‚   β”‚   β”œβ”€β”€ _document.tsx
β”‚   β”‚   β”œβ”€β”€ community
β”‚   β”‚   β”‚   β”œβ”€β”€ index.tsx
β”‚   β”‚   β”‚   └── shorts
β”‚   β”‚   β”‚       β”œβ”€β”€ index.tsx
β”‚   β”‚   β”‚       β”œβ”€β”€ product
β”‚   β”‚   β”‚       β”‚   └── [id].tsx
β”‚   β”‚   β”‚       └── video
β”‚   β”‚   β”‚           └── [id].tsx
β”‚   β”‚   β”œβ”€β”€ dubbing
β”‚   β”‚   β”‚   └── [id].tsx
β”‚   β”‚   β”œβ”€β”€ index.tsx
β”‚   β”‚   β”œβ”€β”€ login
β”‚   β”‚   β”‚   β”œβ”€β”€ index.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ logout.tsx
β”‚   β”‚   β”‚   └── success.tsx
β”‚   β”‚   β”œβ”€β”€ manager
β”‚   β”‚   β”‚   └── index.tsx
β”‚   β”‚   β”œβ”€β”€ mission
β”‚   β”‚   β”‚   └── index.tsx
β”‚   β”‚   β”œβ”€β”€ mypage
β”‚   β”‚   β”‚   β”œβ”€β”€ [id].tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ edit.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ index.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ like-dubbing-list.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ my-dubbing-product
β”‚   β”‚   β”‚   β”‚   └── [id].tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ my-dubbing-product.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ profileEdit.tsx
β”‚   β”‚   β”‚   └── save-contents-list.tsx
β”‚   β”‚   └── signup
β”‚   β”‚       β”œβ”€β”€ index.tsx
β”‚   β”‚       β”œβ”€β”€ interest.tsx
β”‚   β”‚       └── kitchen.tsx
β”‚   β”œβ”€β”€ stores
β”‚   β”‚   β”œβ”€β”€ community
β”‚   β”‚   β”‚   β”œβ”€β”€ communityTabSlice.ts
β”‚   β”‚   β”‚   └── languageTabSlice.ts
β”‚   β”‚   β”œβ”€β”€ manager
β”‚   β”‚   β”‚   └── scriptsPostSlice.ts
β”‚   β”‚   β”œβ”€β”€ mission
β”‚   β”‚   β”‚   └── missionModalSlice.ts
β”‚   β”‚   β”œβ”€β”€ store.ts
β”‚   β”‚   └── user
β”‚   β”‚       β”œβ”€β”€ signupSlice.ts
β”‚   β”‚       └── userSlice.ts
β”‚   β”œβ”€β”€ styles
β”‚   β”‚   β”œβ”€β”€ Calender.css
β”‚   β”‚   └── globals.css
β”‚   β”œβ”€β”€ types
β”‚   β”‚   β”œβ”€β”€ DubKing.ts
β”‚   β”‚   β”œβ”€β”€ DubProduct.ts
β”‚   β”‚   β”œβ”€β”€ DubVideoSearch.ts
β”‚   β”‚   β”œβ”€β”€ GetVideoInfo.ts
β”‚   β”‚   β”œβ”€β”€ MissionItem.ts
β”‚   β”‚   β”œβ”€β”€ MyDubProductList.ts
β”‚   β”‚   β”œβ”€β”€ PitchDataList.ts
β”‚   β”‚   β”œβ”€β”€ RecordPreview.ts
β”‚   β”‚   β”œβ”€β”€ RecordSave.ts
β”‚   β”‚   β”œβ”€β”€ Script.ts
β”‚   β”‚   β”œβ”€β”€ UserProfile.ts
β”‚   β”‚   └── UserRanking.ts
β”‚   └── utils
β”‚       └── test.txt
β”œβ”€β”€ tailwind.config.js
β”œβ”€β”€ tsconfig.json
└── withTwin.js

Backend

./back/
β”œβ”€β”€ dubeng-admin
β”‚   β”œβ”€β”€ Dockerfile
β”‚   β”œβ”€β”€ app.py
β”‚   β”œβ”€β”€ boot.sh
β”‚   β”œβ”€β”€ classes.py
β”‚   β”œβ”€β”€ environment.yml
β”‚   β”œβ”€β”€ pitch.py
β”‚   β”œβ”€β”€ requirements.txt
β”‚   └── videoInfo.py
β”œβ”€β”€ dubeng-dub
β”‚   β”œβ”€β”€ Dockerfile
β”‚   β”œβ”€β”€ main.py
β”‚   β”œβ”€β”€ requirements.txt
β”‚   └── videoClass.py
β”œβ”€β”€ dubeng-dublist
β”‚   β”œβ”€β”€ Dockerfile
β”‚   β”œβ”€β”€ build.gradle
β”‚   β”œβ”€β”€ docker-compose.yml
β”‚   β”œβ”€β”€ gradle
β”‚   β”‚   └── wrapper
β”‚   β”‚       β”œβ”€β”€ gradle-wrapper.jar
β”‚   β”‚       └── gradle-wrapper.properties
β”‚   β”œβ”€β”€ gradlew
β”‚   β”œβ”€β”€ gradlew.bat
β”‚   β”œβ”€β”€ settings.gradle
β”‚   └── src
β”‚       β”œβ”€β”€ main
β”‚       β”‚   β”œβ”€β”€ java
β”‚       β”‚   β”‚   └── com
β”‚       β”‚   β”‚       └── ssafy
β”‚       β”‚   β”‚           └── dubengdublist
β”‚       β”‚   β”‚               β”œβ”€β”€ DubengDublistApplication.java
β”‚       β”‚   β”‚               β”œβ”€β”€ config
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ QueryDslConfig.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ RedisConfig.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ SecurityConfig.java
β”‚       β”‚   β”‚               β”‚   └── SwaggerConfig.java
β”‚       β”‚   β”‚               β”œβ”€β”€ controller
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ CommunityController.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ ContentsController.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ HomeController.java
β”‚       β”‚   β”‚               β”‚   └── RecordController.java
β”‚       β”‚   β”‚               β”œβ”€β”€ dto
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ community
β”‚       β”‚   β”‚               β”‚   β”‚   β”œβ”€β”€ CommunityCategoryRes.java
β”‚       β”‚   β”‚               β”‚   β”‚   β”œβ”€β”€ CommunityCommentRes.java
β”‚       β”‚   β”‚               β”‚   β”‚   β”œβ”€β”€ CommunityDetailCommentReq.java
β”‚       β”‚   β”‚               β”‚   β”‚   β”œβ”€β”€ CommunityDetailRes.java
β”‚       β”‚   β”‚               β”‚   β”‚   β”œβ”€β”€ CommunityDetailScriptRes.java
β”‚       β”‚   β”‚               β”‚   β”‚   β”œβ”€β”€ CommunityDubKingRes.java
β”‚       β”‚   β”‚               β”‚   β”‚   β”œβ”€β”€ CommunityDubKingUserRes.java
β”‚       β”‚   β”‚               β”‚   β”‚   └── CommunitySearchRes.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ contents
β”‚       β”‚   β”‚               β”‚   β”‚   β”œβ”€β”€ ContentsDetailRes.java
β”‚       β”‚   β”‚               β”‚   β”‚   β”œβ”€β”€ ContentsDetailScriptRes.java
β”‚       β”‚   β”‚               β”‚   β”‚   β”œβ”€β”€ ContentsPlayCountRes.java
β”‚       β”‚   β”‚               β”‚   β”‚   β”œβ”€β”€ ContentsRecommendRes.java
β”‚       β”‚   β”‚               β”‚   β”‚   β”œβ”€β”€ ContentsScriptRes.java
β”‚       β”‚   β”‚               β”‚   β”‚   └── ContentsSearchRes.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ home
β”‚       β”‚   β”‚               β”‚   β”‚   β”œβ”€β”€ HomeDubKingRes.java
β”‚       β”‚   β”‚               β”‚   β”‚   β”œβ”€β”€ HomePopularityRes.java
β”‚       β”‚   β”‚               β”‚   β”‚   └── HomeRankRes.java
β”‚       β”‚   β”‚               β”‚   └── record
β”‚       β”‚   β”‚               β”‚       β”œβ”€β”€ RecordScriptPitchRes.java
β”‚       β”‚   β”‚               β”‚       β”œβ”€β”€ RecordScriptRes.java
β”‚       β”‚   β”‚               β”‚       └── RecordVideoRes.java
β”‚       β”‚   β”‚               β”œβ”€β”€ entity
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ Category.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ DubKing.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ Mission.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ Record.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ RecordComment.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ RecordLike.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ Script.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ Time.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ User.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ UserCategory.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ UserMission.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ Video.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ VideoBookmark.java
β”‚       β”‚   β”‚               β”‚   └── VideoCategory.java
β”‚       β”‚   β”‚               β”œβ”€β”€ exception
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ ControllerExceptionHandler.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ DuplicateException.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ ErrorRes.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ InvalidInputException.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ NotFoundException.java
β”‚       β”‚   β”‚               β”‚   └── UnAuthorizedException.java
β”‚       β”‚   β”‚               β”œβ”€β”€ repository
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ CategoryRepository.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ DubKingRepository.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ DubKingRepositoryCustom.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ DubKingRepositoryImpl.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ RecordCommentRepository.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ RecordLikeRepository.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ RecordRepository.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ RecordRepositoryCustom.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ RecordRepositoryImpl.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ UserRepository.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ VideoBookmarkRepository.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ VideoRepository.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ VideoRepositoryCustom.java
β”‚       β”‚   β”‚               β”‚   └── VideoRepositoryImpl.java
β”‚       β”‚   β”‚               └── service
β”‚       β”‚   β”‚                   β”œβ”€β”€ CommunityService.java
β”‚       β”‚   β”‚                   β”œβ”€β”€ CommunityServiceImpl.java
β”‚       β”‚   β”‚                   β”œβ”€β”€ ContentsService.java
β”‚       β”‚   β”‚                   β”œβ”€β”€ ContentsServiceImpl.java
β”‚       β”‚   β”‚                   β”œβ”€β”€ HomeService.java
β”‚       β”‚   β”‚                   β”œβ”€β”€ HomeServiceImpl.java
β”‚       β”‚   β”‚                   β”œβ”€β”€ RecordService.java
β”‚       β”‚   β”‚                   β”œβ”€β”€ RecordServiceImpl.java
β”‚       β”‚   β”‚                   └── RedisService.java
β”‚       β”‚   └── resources
β”‚       β”‚       └── application.yml
β”‚       └── test
β”‚           └── java
β”‚               └── com
β”‚                   └── ssafy
β”‚                       └── dubengdublist
β”‚                           └── DubengDublistApplicationTests.java
β”œβ”€β”€ dubeng-recommend
β”‚   β”œβ”€β”€ Dockerfile
β”‚   β”œβ”€β”€ app.py
β”‚   └── requirements.txt
β”œβ”€β”€ dubeng-user
β”‚   β”œβ”€β”€ Dockerfile
β”‚   β”œβ”€β”€ build.gradle
β”‚   β”œβ”€β”€ docker-compose.yml
β”‚   β”œβ”€β”€ gradle
β”‚   β”‚   └── wrapper
β”‚   β”‚       β”œβ”€β”€ gradle-wrapper.jar
β”‚   β”‚       └── gradle-wrapper.properties
β”‚   β”œβ”€β”€ gradlew
β”‚   β”œβ”€β”€ gradlew.bat
β”‚   β”œβ”€β”€ settings.gradle
β”‚   └── src
β”‚       β”œβ”€β”€ main
β”‚       β”‚   β”œβ”€β”€ java
β”‚       β”‚   β”‚   └── com
β”‚       β”‚   β”‚       └── ssafy
β”‚       β”‚   β”‚           └── dubenguser
β”‚       β”‚   β”‚               β”œβ”€β”€ DubengUserApplication.java
β”‚       β”‚   β”‚               β”œβ”€β”€ config
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ CookieHandler.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ QueryDslConfig.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ RedisConfig.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ SwaggerConfig.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ WebMvcConfig.java
β”‚       β”‚   β”‚               β”‚   └── Workaround.java
β”‚       β”‚   β”‚               β”œβ”€β”€ controller
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ AuthController.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ MissionController.java
β”‚       β”‚   β”‚               β”‚   └── UserController.java
β”‚       β”‚   β”‚               β”œβ”€β”€ dto
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ MissionCompleteRes.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ RecordLikeRes.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ Res.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ Token.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ UserCalendarRes.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ UserCalenderReq.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ UserCategoryRes.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ UserJoinReq.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ UserLoginReq.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ UserLoginRes.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ UserMissionRes.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ UserProfileReq.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ UserProfileRes.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ UserRecordReq.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ UserRecordRes.java
β”‚       β”‚   β”‚               β”‚   └── VideoBookmarkRes.java
β”‚       β”‚   β”‚               β”œβ”€β”€ entity
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ Category.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ DubKing.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ Mission.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ Record.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ RecordComment.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ RecordLike.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ Script.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ Time.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ User.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ UserCalendar.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ UserCategory.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ UserMission.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ Video.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ VideoBookmark.java
β”‚       β”‚   β”‚               β”‚   └── VideoCategory.java
β”‚       β”‚   β”‚               β”œβ”€β”€ exception
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ ControllerExceptionHandler.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ DuplicateException.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ ErrorRes.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ InvalidInputException.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ NotFoundException.java
β”‚       β”‚   β”‚               β”‚   └── UnAuthorizedException.java
β”‚       β”‚   β”‚               β”œβ”€β”€ repository
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ CategoryRepository.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ MissionRepository.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ UserCalenderRepository.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ UserCategoryRepository.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ UserMissionRepository.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ UserRepository.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ UserRepositoryCustom.java
β”‚       β”‚   β”‚               β”‚   β”œβ”€β”€ UserRepositoryImpl.java
β”‚       β”‚   β”‚               β”‚   └── VideoRepository.java
β”‚       β”‚   β”‚               └── service
β”‚       β”‚   β”‚                   β”œβ”€β”€ AuthService.java
β”‚       β”‚   β”‚                   β”œβ”€β”€ AuthServiceImpl.java
β”‚       β”‚   β”‚                   β”œβ”€β”€ UserMissionService.java
β”‚       β”‚   β”‚                   β”œβ”€β”€ UserMissionServiceImpl.java
β”‚       β”‚   β”‚                   β”œβ”€β”€ UserService.java
β”‚       β”‚   β”‚                   └── UserServiceImpl.java
β”‚       β”‚   └── resources
β”‚       β”‚       └── application.yml
β”‚       └── test
β”‚           └── java
β”‚               └── com
β”‚                   └── ssafy
β”‚                       └── dubenguser
β”‚                           β”œβ”€β”€ DubengUserApplicationTests.java
β”‚                           └── calender
β”‚                               └── CalenderTest.java
└── storage
    β”œβ”€β”€ Dockerfile
    β”œβ”€β”€ build.gradle
    β”œβ”€β”€ docker-compose.yml
    β”œβ”€β”€ gradle
    β”‚   └── wrapper
    β”‚       β”œβ”€β”€ gradle-wrapper.jar
    β”‚       └── gradle-wrapper.properties
    β”œβ”€β”€ gradlew
    β”œβ”€β”€ gradlew.bat
    β”œβ”€β”€ settings.gradle
    └── src
        β”œβ”€β”€ main
        β”‚   β”œβ”€β”€ java
        β”‚   β”‚   └── com
        β”‚   β”‚       └── ssafy
        β”‚   β”‚           └── storage
        β”‚   β”‚               β”œβ”€β”€ StorageApplication.java
        β”‚   β”‚               β”œβ”€β”€ config
        β”‚   β”‚               β”‚   β”œβ”€β”€ RedisConfig.java
        β”‚   β”‚               β”‚   β”œβ”€β”€ SwaggerConfig.java
        β”‚   β”‚               β”‚   β”œβ”€β”€ WebMvcConfig.java
        β”‚   β”‚               β”‚   └── Workaround.java
        β”‚   β”‚               β”œβ”€β”€ controller
        β”‚   β”‚               β”‚   └── FileController.java
        β”‚   β”‚               β”œβ”€β”€ dto
        β”‚   β”‚               β”‚   β”œβ”€β”€ RecodeInfo.java
        β”‚   β”‚               β”‚   └── SaveFileRequestDTO.java
        β”‚   β”‚               β”œβ”€β”€ exception
        β”‚   β”‚               β”‚   β”œβ”€β”€ ControllerExceptionHandler.java
        β”‚   β”‚               β”‚   β”œβ”€β”€ ErrorRes.java
        β”‚   β”‚               β”‚   └── FileListNotFoundException.java
        β”‚   β”‚               └── service
        β”‚   β”‚                   └── SaveFileService.java
        β”‚   └── resources
        β”‚       └── application.yml
        └── test
            └── java
                └── com
                    └── ssafy
                        └── storage
                            └── StorageApplicationTests.java

About

🎧 λ”λΉ™ν•˜λ©° λ°°μš°λŠ” μ˜μ–΄ μŠ€ν”Όν‚Ή - πŸ† μžμœ¨ν”„λ‘œμ νŠΈ μ΅œμš°μˆ˜μƒ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 59.3%
  • Java 33.3%
  • Python 6.3%
  • JavaScript 0.6%
  • Dockerfile 0.3%
  • CSS 0.2%