Skip to content

wafflestudio/memowithtags-ios

Folders and files

NameName
Last commit message
Last commit date

Latest commit

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

Repository files navigation

22-5-team2-iOS

Memo with tags


๐Ÿ“ MemoWithTags

MemoWithTags๋Š” ๊ธฐ์กด์˜ ํด๋” ๊ธฐ๋ฐ˜ ๋ฉ”๋ชจ ๊ด€๋ฆฌ ๋ฐฉ์‹์„ ํƒˆํ”ผํ•˜์—ฌ, ํƒœ๊ทธ ๊ธฐ๋ฐ˜์˜ ์œ ์—ฐํ•œ ๋ฉ”๋ชจ ๊ด€๋ฆฌ์™€ AI ์ถ”์ฒœ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ํ˜์‹ ์ ์ธ ๋ฉ”๋ชจ ์•ฑ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์˜ ๋ฉ”๋ชจ ํ™œ์šฉ๋„๋ฅผ ๋†’์ด๊ณ  ๋”์šฑ ํŽธ๋ฆฌํ•œ ๊ธฐ๋ก ๊ฒฝํ—˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ํŠน์ง•

๐Ÿท๏ธ ํƒœ๊ทธ ๊ธฐ๋ฐ˜ ๋ฉ”๋ชจ ๊ด€๋ฆฌ

๊ธฐ์กด์˜ ํด๋” ๊ตฌ์กฐ๊ฐ€ ์•„๋‹Œ ํƒœ๊ทธ ๋ฐฉ์‹์„ ํ™œ์šฉํ•˜์—ฌ, ๋ฉ”๋ชจ๋ฅผ ๋”์šฑ ์ž์œ ๋กญ๊ฒŒ ๋ถ„๋ฅ˜ํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿค– AI ๊ธฐ๋ฐ˜ ํƒœ๊ทธ ์ถ”์ฒœ

AI๊ฐ€ ๋ฉ”๋ชจ์˜ ํ•ต์‹ฌ ๋‚ด์šฉ์„ ๋ถ„์„ํ•˜์—ฌ ์ ์ ˆํ•œ ํƒœ๊ทธ๋ฅผ ์ž๋™ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ถˆํ•„์š”ํ•œ ํƒœ๊ทธ ๋‚จ๋ฐœ์„ ์ค„์ด๊ณ  ํšจ์œจ์ ์ธ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ”„ AI ๊ธฐ๋ฐ˜ ๋ฉ”๋ชจ ์ถ”์ฒœ

์ด์ „์— ์ž‘์„ฑํ–ˆ๋˜ ๋ฉ”๋ชจ์™€ ์œ ์‚ฌํ•œ ๋‚ด์šฉ์„ ์ž๋™์œผ๋กœ ์ฐพ์•„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ๊ธฐ์กด ๋ฉ”๋ชจ๋ฅผ ์ฐธ๊ณ ํ•˜๋ฉด์„œ ๋”์šฑ ๋น ๋ฅด๊ณ  ์ผ๊ด€๋œ ๋ฉ”๋ชจ ์ž‘์„ฑ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’ฌ ํ˜์‹ ์ ์ธ UI

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

๐Ÿ” ๊ฐ•๋ ฅํ•œ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ

ํƒœ๊ทธ ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰ ๋ฐ AI ์ถ”์ฒœ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ, ์›ํ•˜๋Š” ๋ฉ”๋ชจ๋ฅผ ๋”์šฑ ๋น ๋ฅด๊ณ  ์ •ํ™•ํ•˜๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


ํŒ€์›

iOS

๋ฅ˜์ˆ˜์˜(PM) ์ตœ์ง„๋ชจ
AI ๊ธฐ๋Šฅ / Memo & Tag ๊ด€๋ จ ๊ธฐ๋Šฅ / ๋ฉ”์ธ ํ™”๋ฉด Auth ๊ด€๋ จ ๊ธฐ๋Šฅ / ์•„ํ‚คํ…์ณ

Server

๊น€์šฉ๋ฒ” ๊น€์ธํ˜ธ ์ด์ข…ํ˜ธ
AI ๊ฐœ๋ฐœ User ๊ฐœ๋ฐœ Memo & Tag ๊ฐœ๋ฐœ

Design

ํ•œ์ˆ˜์ •

์šฐ๋ฆฌ ์กฐ์˜ ๊ฐ•์  ๐Ÿ’ช

๐Ÿš€ ์‹ ์†ํ•œ ๊ธฐํš ๋ฐ ๊ฐœ๋ฐœ

ํŒ€์›๋“ค์ด ๋ชจ์—ฌ ๋น ๋ฅด๊ฒŒ ๊ธฐํš์„ ๋งˆ๋ฌด๋ฆฌํ•˜๊ณ , ์ฆ‰์‹œ ๊ฐœ๋ฐœ์— ์ฐฉ์ˆ˜ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ› ๏ธ ๋†’์€ ๊ฐœ๋ฐœ ์™„์„ฑ๋„

๋‹จ๊ธฐ๊ฐ„ ๋‚ด์— ์‹ค์ œ ์„œ๋น„์Šค๋กœ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์„ ๋งŒํผ ์•ˆ์ •์ ์ด๊ณ  ์™„์„ฑ๋„ ๋†’์€ ์•ฑ์„ ๊ฐœ๋ฐœํ•˜์˜€์Šต๋‹ˆ๋‹ค. ํŠนํžˆ, iOS ์ตœ์ง„๋ชจ ๋‹˜์ด ๋ฐฉํ•™ ๋™์•ˆ ๋ง‰๋Œ€ํ•œ ์‹œ๊ฐ„์„ ํˆฌ์žํ•˜์—ฌ ํ›Œ๋ฅญํ•œ ๊ฒฐ๊ณผ๋ฌผ์„ ๋งŒ๋“ค์–ด๋‚ผ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๐ŸŽจ ์„ธ๋ จ๋œ ๋””์ž์ธ

๋””์ž์ด๋„ˆ ํ•œ์ˆ˜์ • ๋‹˜์€ Android ์‚ฌ์šฉ์ž์ธ๋ฐ๋„ ๋ถˆ๊ตฌํ•˜๊ณ  iOS ํŒ€์›๋“ค๊ณผ ์›ํ™œํ•˜๊ฒŒ ์†Œํ†ตํ•˜๋ฉฐ ์„ฑ๊ณต์ ์œผ๋กœ ๋””์ž์ธ์„ ๊ตฌํ˜„ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๐Ÿค– AI ๊ธฐ์ˆ  ์ ์šฉ

๋ฐฑ์—”๋“œ ๊น€์šฉ๋ฒ” ๋‹˜์ด ์„œ๋น„์Šค ๊ฐœ๋ฐœ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ AI ์—ฐ๊ตฌ์—๋„ ํž˜์จ, ์•ฑ์˜ ๊ธฐ๋Šฅ๊ณผ ์™„์„ฑ๋„๋ฅผ ๋”์šฑ ๋†’์ด๋Š” ๋ฐ ๊ธฐ์—ฌํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๐Ÿ›ก๏ธ ๋ˆ๊ธฐ์™€ ๋ฌธ์ œ ํ•ด๊ฒฐ๋ ฅ

๋ฐฑ์—”๋“œ ๊น€์ธํ˜ธ ๋‹˜์€ ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๊ณผ์ •์—์„œ ์ˆ˜๋งŽ์€ ์žฅ์• ๋ฌผ๊ณผ ์–ด๋ ค์›€์„ ๊ทน๋ณตํ•˜๋ฉฐ ๊ฒฐ๊ตญ ์„ฑ๊ณตํ•ด๋ƒˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ”ฅ ๋ฌต๋ฌตํ•˜์ง€๋งŒ ๊ฐ•ํ•œ ์‹คํ–‰๋ ฅ

๋ฐฑ์—”๋“œ์ด์ž ๋ง‰๋‚ด ์ด์ข…ํ˜ธ ๋‹˜์€ ๋‹ค์–‘ํ•œ ์—…๋ฌด๋ฅผ ๋งก์•„ ์ฐจ์งˆ ์—†์ด ๋ชจ๋‘ ํ•ด๊ฒฐํ•˜๋ฉฐ ์•ˆ์ •์ ์ธ ๊ฐœ๋ฐœ์„ ์ด๋Œ์—ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿšซ No Free Rider!

์šฐ๋ฆฌ ํŒ€์—๋Š” ํ”„๋ฆฌ๋ผ์ด๋”๊ฐ€ ๋‹จ ํ•œ ๋ช…๋„ ์—†์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ํŒ€์›์ด ๊ฐ์ž์˜ ์—ญํ• ์„ ์ถฉ์‹คํžˆ ์ˆ˜ํ–‰ํ•˜๋ฉฐ ํ”„๋กœ์ ํŠธ๋ฅผ ์™„์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿค ์ ๊ทน์ ์ธ ํ˜‘์—… ๋ฌธํ™”

ํ”„๋ก ํŠธ์—”๋“œ ํŒ€์›๋„ ๋ฐฑ์—”๋“œ์— ์ ๊ทน์ ์œผ๋กœ ํ”ผ๋“œ๋ฐฑ์„ ์ฃผ์—ˆ๊ณ , ๋ฐฑ์—”๋“œ ํŒ€์›๋„ ํ”„๋ก ํŠธ์—”๋“œ์— ์˜๊ฒฌ์„ ์ „๋‹ฌํ•˜๋ฉฐ ๊ฐ์ž์˜ ์—ญํ• ์„ ๋„˜์–ด์„œ ์ฑ…์ž„๊ฐ ์žˆ๊ฒŒ ํ˜‘์—…ํ•˜์˜€์Šต๋‹ˆ๋‹ค.


๐Ÿ—๏ธ ์•„ํ‚คํ…์ฒ˜

๐Ÿ› Clean Architecture + MVVM

๋†’์€ ํ™•์žฅ์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ์œ„ํ•ด ์—„๊ฒฉํ•œ Clean Architecture + MVVM ๊ตฌ์กฐ๋ฅผ ์ ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.


๐Ÿค– On-device AI

๐Ÿง  Alibaba-NLP/gte-multilingual-base ๋ชจ๋ธ

AI ์„ฑ๋Šฅ์„ ๊ทน๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค๊ตญ์–ด ์ดํ•ด๋„๊ฐ€ ๋†’์€ Alibaba์˜ gte-multilingual-base ๋ชจ๋ธ์„ ์ ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๋ชจ๋ธ์„ ONNX ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ ํ›„ Swift์— ํ†ตํ•ฉํ•˜์˜€์œผ๋ฉฐ, Tokenizer ๋ฐ Pooler๋Š” Swift๋กœ ์ง์ ‘ ๊ตฌํ˜„ํ•˜์˜€์Šต๋‹ˆ๋‹ค. Swift์˜ accelerate ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™œ์šฉํ•˜์—ฌ CPU ๊ฐ€์†์„ ์ ์šฉํ•˜์—ฌ ํšจ์œจ์„ฑ์„ ๋†’์˜€์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ HuggingFace ๋ชจ๋ธ ๋งํฌ


Flow Chart

Image

Image

Image

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •