Skip to content
forked from audisay/audisay

๐Ÿ“˜ ์‹œ๊ฐ์žฅ์• ์ธ์„ ์œ„ํ•œ ์ ‘๊ทผ์„ฑ ๋„์„œ ์ œ์ž‘ ํ”Œ๋žซํผ | ๐Ÿ† SSAFY ์ž์œจ ํ”„๋กœ์ ํŠธ ์šฐ์ˆ˜์ƒ ์ˆ˜์ƒ

Notifications You must be signed in to change notification settings

sook000/audisay

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Audisay


Audisay๋Š” ์‹œ๊ฐ์žฅ์• ์ธ์„ ์œ„ํ•œ AI ๊ธฐ๋ฐ˜ ์ ‘๊ทผ์„ฑ ๋„์„œ ์ง€์› ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

์šฐ๋ฆฌ ์„œ๋น„์Šค๋Š” ์‹œ๊ฐ์žฅ์• ์ธ์ด ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋„์„œ ์ž๋ฃŒ๋ฅผ ์ž๋™์œผ๋กœ ์ œ์ž‘ํ•˜๊ณ , ์‚ฌ์šฉ์ž ์นœํ™”์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์‹œ๊ฐ์žฅ์• ์ธ ๋…์„œ์˜ ๋ถˆํŽธํ•จ์„ ํ•ด์†Œํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

์ด์˜ˆ๋ฆผ ๊ฐ•๋™์™„ ๊ฐ•์ƒ์ฐฌ ๊น€์•„๋ฆ„ ์•ˆ์น˜์ˆ™ ์ด์ง€ํ˜œ
ํŒ€์žฅ & Backend Frontend Frontend Backend Backend Backend
GitHub GitHub GitHub GitHub GitHub GitHub

๋ชฉ์ฐจ



1. ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

๐Ÿ” ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

์‚ผ์„ฑ ์ฒญ๋…„ SW ์•„์นด๋ฐ๋ฏธ(SSAFY) ์ž์œจ ํ”„๋กœ์ ํŠธ

์ฃผ์ œ: ์‹œ๊ฐ์žฅ์• ์ธ์„ ์œ„ํ•œ AI ๊ธฐ๋ฐ˜ ์ ‘๊ทผ์„ฑ ๋„์„œ ์ง€์› ์„œ๋น„์Šค

์ง„ํ–‰ ๊ธฐ๊ฐ„: 2024-10-14 ~ 2024-11-19 (์•ฝ 5์ฃผ)

ํŒ€ ๋ช… / ์ง„ํ–‰ ์ธ์›: ํŒ”์ž์ข‹์กฐ / 6์ธ


๐Ÿน ์„œ๋น„์Šค ์ฃผ์ œ ๋ฐ ๋ชฉํ‘œ

์‹œ๊ฐ์žฅ์• ์ธ์„ ์œ„ํ•œ AI ๊ธฐ๋ฐ˜ ์ ‘๊ทผ์„ฑ ๋„์„œ ์ง€์› ์„œ๋น„์Šค

โœจ ์šฐ๋ฆฌ์˜ ๋ชฉํ‘œ

AI ๊ธฐ์ˆ ์„ ํ™œ์šฉํ•˜์—ฌ ์‹œ๊ฐ์žฅ์• ์ธ์„ ์œ„ํ•œ ๋Œ€์ฒด์ž๋ฃŒ๋ฅผ ์ž๋™์œผ๋กœ ์ œ์ž‘ํ•˜๊ณ , ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ ‘๊ทผ์„ฑ ์ค‘์‹ฌ์˜ ๋…์„œ ์•ฑ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ

โœจ Audisay

Audio์™€ Say๋ฅผ ๊ฒฐํ•ฉํ–ˆ์Šต๋‹ˆ๋‹ค. TTS ๊ธฐ๋ฐ˜ ๋„์„œ ๋ทฐ์–ด๋ฅผ ์ œ๊ณตํ•˜๋Š” ์šฐ๋ฆฌ ์„œ๋น„์Šค๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ ์ž ํ–ˆ์Šต๋‹ˆ๋‹ค.


๐ŸŽฌ ๊ธฐํš ๋ฐฐ๊ฒฝ

ํ˜„์žฌ ์‹œ๊ฐ์žฅ์• ์ธ์„ ์œ„ํ•œ ์ ‘๊ทผ์„ฑ ๋„์„œ์˜ ์ˆ˜๋Š” ๋ถ€์กฑํ•˜๊ณ  ๋„์„œ ์ œ์ž‘ ๊ณผ์ •๋„ ์ˆ˜์ž‘์—…์œผ๋กœ ์ง„ํ–‰๋˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ด ๊ณผ์ •์„ ์ž๋™ํ™”ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

image

image


๐ŸŽ ๊ธฐ๋Œ€ ํšจ๊ณผ

image


2. ํ”„๋กœ์ ํŠธ ๊ฒฐ๊ณผ๋ฌผ


๐Ÿ”ฎ ์ฃผ์š” ๊ธฐ๋Šฅ

๋„์„œ ๋“ฑ๋ก

Image 1 Image 2
  • ๋‹ค์–‘ํ•œ ํŒŒ์ผ ํ˜•์‹ ์—…๋กœ๋“œ ์ง€์›(pdf, epub, jpeg, jpg)
  • ์ž๋™์œผ๋กœ ์ ‘๊ทผ์„ฑ ์ ์šฉ๋œ EPUB ํŒŒ์ผ๋กœ ๋ณ€ํ™˜
  • ์‹ค์‹œ๊ฐ„ ๋ณ€ํ™˜ ์ง„ํ–‰ ์ƒํ™ฉ ํ™•์ธ ๊ฐ€๋Šฅ

๋„์„œ ๋ทฐ์–ด

Image 1 ๋„์„œ ๋ทฐ์–ด
- TTS ๋ฐฐ์† ์กฐ์ ˆ ๊ธฐ๋Šฅ - ์ด๋ฏธ์ง€ ์„ค๋ช… TTS ์ง€์› - ๋ณธ๋ฌธ ๋‚ด ํ‚ค์›Œ๋“œ ๊ฒ€์ƒ‰ - ๋ฌธ์žฅ ์ €์žฅ์„ ํ†ตํ•œ ๋…์„œ๋…ธํŠธ ์ƒ์„ฑ

๋„์„œ ๊ฒ€์ƒ‰

Image 1 ๋„์„œ ๊ฒ€์ƒ‰
  • ์ œ๋ชฉ, ์ž‘๊ฐ€, ์ถœํŒ์‚ฌ ๊ฒ€์ƒ‰
  • ์ •ํ™•ํ•˜์ง€ ์•Š์€ ๋‹จ์–ด๋กœ๋„ ์›ํ•˜๋Š” ๋„์„œ ๊ฒฐ๊ณผ ํ™•์ธ ๊ฐ€๋Šฅ
  • ์ตœ์‹ ์ˆœ, ๊ฐ€๋‚˜๋‹ค์ˆœ์œผ๋กœ ์›ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ •๋ ฌ

๋ฆฌ๋ทฐ, ๋„์„œ ๋‹ด๊ธฐ, ์ข‹์•„์š”

Image 1 ๋ฆฌ๋ทฐ, ๋„์„œ ๋‹ด๊ธฐ, ์ข‹์•„์š”
  • ๋ฆฌ๋ทฐ ์ž‘์„ฑ ๋ฐ ๋‹ค๋ฅธ ๋…์ž๋“ค์˜ ๋ฆฌ๋ทฐ์™€ ํ‰์  ๋ถ„ํฌ ํ™•์ธ
  • ๊ด€์‹ฌ ์žˆ๋Š” ๋„์„œ ๋‹ด๊ธฐ ๊ธฐ๋Šฅ
  • ์ข‹์•„์š”๋กœ ๋„์„œ์— ๋Œ€ํ•œ ์„ ํ˜ธ๋„ ํ‘œํ˜„
  • ๋งˆ์ดํŽ˜์ด์ง€์—์„œ ๋‹ด์€ ๋„์„œ, ์ข‹์•„์š”ํ•œ ๋„์„œ ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅ

๋„์„œ ์ถ”์ฒœ

Image 1 ๋„์„œ ์ถ”์ฒœ
  • ์‚ฌ์šฉ์ž ์„ฑํ–ฅ ๋ฐ ์ •๋ณด์— ๊ธฐ๋ฐ˜ํ•œ ๊ฐœ์ธ ๋งž์ถคํ˜• ๋„์„œ ์ถ”์ฒœ
  • ๋ฆฌ๋ทฐ, ์ฑ…์žฅ, ์ข‹์•„์š”๋ฅผ ๋ฐ˜์˜ํ•œ ์ธ๊ธฐ ๋„์„œ ์ถ”์ฒœ

3. ํ”„๋กœ์ ํŠธ ์ •๋ณด


๐Ÿก ๊ฐœ๋ฐœ ์Šคํƒ

Back-End

์ž์„ธํžˆ ๋ณด๊ธฐ
ํ•ญ๋ชฉ ๋ฒ„์ „ ๋ฐ ์ƒ์„ธ ์ •๋ณด
Java Liberica JDK 21.0.5+11 2024-10-15 LTS (BellSoft)
Spring Boot 3.3.5
MySQL 8.0.32
MongoDB 8.0.3
Redis 7.4.1
ElasticSearch 8.15.3
Logstash 8.15.3
Kibana 8.15.3
JPA (Hibernate) 6.5.3.Final
QueryDSL 5.0.0
Swagger 2.2.0
Python 3.12
FastAPI 0.115.4
Django 5.1.2
YOLO DocLayout-YOLO
IntelliJ IDEA IDE IntelliJ IDEA 2024.1.4

Front-End

์ž์„ธํžˆ ๋ณด๊ธฐ
ํ•ญ๋ชฉ ๋ฒ„์ „ ๋ฐ ์ƒ์„ธ ์ •๋ณด
React-Native React 18.3.1
Node.js >=18
TypeScript 5.0.4
Android Build Tools 35.0.0
Min SDK 24
Compile SDK 35
Target SDK 34
NDK 26.1.10909125
Visual Studio Code 1.92.2

Infra, CI/CD

์ž์„ธํžˆ ๋ณด๊ธฐ
ํ•ญ๋ชฉ ๋ฒ„์ „ ๋ฐ ์ƒ์„ธ ์ •๋ณด
AWS EC2 Ubuntu 20.04.6 LTS (GNU/Linux 5.15.0-1063-aws x86_64)
Docker 27.2.0
Jenkins 2.475
Nginx 1.27.2

ํ˜‘์—… ํˆด

์ž์„ธํžˆ ๋ณด๊ธฐ
ํ•ญ๋ชฉ ์‚ฌ์šฉ ๋„๊ตฌ
์ด์Šˆ ๊ด€๋ฆฌ JIRA
ํ˜•์ƒ ๊ด€๋ฆฌ GitLab
์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ Notion, Mattermost
๋””์ž์ธ Figma
UCC ์ œ์ž‘ ๋ชจ๋ฐ”๋น„, ํƒ€์ž„์บ์ŠคํŠธ
CI/CD Jenkins
์ผ์ • ๊ด€๋ฆฌ ๊ตฌ๊ธ€ ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ (๊ฐ„ํŠธ์ฐจํŠธ)

๐Ÿงฉ ์•„ํ‚คํ…์ฒ˜

์•„ํ‚คํ…์ฒ˜


๐ŸŽจ API ๋ช…์„ธ์„œ

ํšŒ์› ๊ด€๋ฆฌ

image

์ถœํŒ๋„์„œ ๊ด€๋ฆฌ

image

๋„์„œ ๋“ฑ๋ก

image

๋ฆฌ๋ทฐ ๊ด€๋ฆฌ

image

๋…์„œ๋…ธํŠธ

image


๐Ÿ“š ERD ์„ค๊ณ„

MySQL

image

MongoDB

image


๐Ÿ“ ์ปจ๋ฒค์…˜

๐Ÿ”” MR ์•Œ๋ฆผ ์ฑ„๋„ ๊ตฌ์ถ•

GitLab์˜ Merge Request(MR) ์ด๋ฒคํŠธ ๋ฐœ์ƒ ์‹œ, ํ•ด๋‹น ์ •๋ณด๋ฅผ Mattermost ์ฑ„๋„์— ์ž๋™์œผ๋กœ ์ „๋‹ฌํ•˜๋Š” Jenkins ๊ธฐ๋ฐ˜์˜ ์ž๋™ํ™” ์Šคํฌ๋ฆฝํŠธ ๊ตฌ์ถ•

๋™์ž‘ ํ๋ฆ„

  1. Merge Request ์ž‘์„ฑ: GitLab์—์„œ ์ƒˆ๋กœ์šด MR์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.
  2. Webhook ํŠธ๋ฆฌ๊ฑฐ: MR ์ด๋ฒคํŠธ๋ฅผ GitLab Webhook์ด ๊ฐ์ง€ํ•˜๊ณ  Jenkins๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.
  3. ํŒŒ์ดํ”„๋ผ์ธ ์‹คํ–‰: Jenkins ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹คํ–‰๋˜์–ด MR ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  4. Mattermost ์•Œ๋ฆผ ์ „์†ก: MR ์ƒํƒœ(opened, merged) ๋ฐ ๋ผ๋ฒจ ์ •๋ณด๋ฅผ ๋ฐ˜์˜ํ•œ ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€๊ฐ€ Mattermost์— ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ๊ธฐ๋Šฅ

  • MR ์ƒํƒœ์— ๋”ฐ๋ผ ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€ ๊ตฌ์„ฑ (opened, merged ๋“ฑ).
  • MR ๋ผ๋ฒจ์— ๋”ฐ๋ผ ์•Œ๋ฆผ ์ƒ‰์ƒ์„ ๋‹ค๋ฅด๊ฒŒ ์„ค์ •.
  • GitLab, Jenkins, Mattermost ๊ฐ„ ์ž๋™ํ™”๋œ ์—ฐ๋™.

๐Ÿฅฐ ํŒ€์› ์†Œ๊ฐœ

image

image


๐Ÿ“ฝ๏ธ UCC

์ „์ฒด UCC : https://youtu.be/8yqzWUyeM1c

talkback ์˜์ƒ : https://youtu.be/oGoeeEfu8DU


About

๐Ÿ“˜ ์‹œ๊ฐ์žฅ์• ์ธ์„ ์œ„ํ•œ ์ ‘๊ทผ์„ฑ ๋„์„œ ์ œ์ž‘ ํ”Œ๋žซํผ | ๐Ÿ† SSAFY ์ž์œจ ํ”„๋กœ์ ํŠธ ์šฐ์ˆ˜์ƒ ์ˆ˜์ƒ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 54.6%
  • Java 23.8%
  • Python 20.4%
  • Kotlin 0.3%
  • Objective-C 0.3%
  • Ruby 0.2%
  • Other 0.4%