ํฌ๋ก์คํ๋ซํผ ๊ฐ๊ณ๋ถ ๋ชจ๋ฐ์ผ ์ดํ๋ฆฌ์ผ์ด์
React Native ๊ธฐ๋ฐ์ผ๋ก iOS์ Android์์ ๋์ํ๋ฉฐ, ๊ฐ์ ๊ธฐ๋ฐ ์๋น ๋ถ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์ค๋งํธ ๊ฐ๊ณ๋ถ
- ํ๋ก์ ํธ๋ช : MoneyCheck
- ๊ฐ๋ฐํ๊ฒฝ: React Native (Cross-platform)
- ๊ณผ๋ชฉ๋ช : ๊ณ ๊ธ ๋ชจ๋ฐ์ผํ๋ก๊ทธ๋๋ฐ (A๋ฐ)
- ํ๋ช : 7ํ
- ํ์: ์ ์ , ์ฅ์ง์ค, ๊น๊ฒฝ๋ฏผ, ์์ฐจ๋ฏผ
๋ณธ ์ ํ๋ฆฌ์ผ์ด์
์ ์ฌ์ฉ์๊ฐ ์์
๊ณผ ์ง์ถ์ ์ฒด๊ณ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ , **์์์ฆ ๋ฐ์ดํฐ๋ฅผ AI(OCR)**๋ฅผ ํตํด ์๋ ์ฒ๋ฆฌํ ์ ์๋๋ก ์ค๊ณ๋์์ต๋๋ค.
๋ํ, ๊ฐ์ ๊ธฐ๋ฐ ์ง์ถ ๋ถ์, ์์ฐ ์ค์ , ๊ตฌ๋
๊ด๋ฆฌ ๊ธฐ๋ฅ์ ํตํฉํ์ฌ ๊ฐ์ธ์ ์ฌ์ ์ํ๋ฅผ ๊ฐ์ ํ๊ณ ์ฅ๊ธฐ์ ์ธ ๋ชฉํ ๋ฌ์ฑ์ ์ง์ํฉ๋๋ค
- ๐ ์์
/์ง์ถ ๊ด๋ฆฌ
- ์๊ธฐ ์ ๋ ฅ ๋๋ ์์์ฆ ์ค์บ์ ํตํ ์๋ ๊ธฐ๋ก (OCR ํ์ฉ)
- ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ /์ง์ถ ๋ด์ญ ์กฐํ
- ๐งพ ๊ตฌ๋
๊ด๋ฆฌ
- ๊ตฌ๋ ์๋น์ค ํตํฉ ๊ด๋ฆฌ (์ ๊ธฐ ๊ฒฐ์ ์ฃผ๊ธฐ ๋ฐ ๊ธ์ก ์ถ์ )
- ๐ฏ ์์ฐ/๋ชฉํ ๊ด๋ฆฌ
- ์๋ณ ์์ฐ ์ค์ ๋ฐ ์ด๊ณผ ์ฌ๋ถ ํ์ธ
- ์ฌ๊ณ ์ถ์ ๋ฌผ๊ฑด์ ๋ชฉํ๋ก ์ ๊ธ ๊ณํ ๊ด๋ฆฌ
- ๐ ๊ฐ์ ๊ธฐ๋ฐ ์๋น ๋ถ์
- ์ค๋์ ๊ธฐ๋ถ ์ ๋ ฅ โ ์๋น ์ต๊ด๊ณผ ๊ฐ์ ์ ์๊ด๊ด๊ณ ๋ถ์
- ํต๊ณ ํ๋ฉด์์ ๊ฐ์ ๊ธฐ๋ฐ ์๋น ํจํด ์๊ฐํ
- ๐ ํต๊ณ ๋ฐ ํผ๋๋ฐฑ
- ์ผ/์ฃผ/์ ๋จ์ ์๋น ํจํด ๋ถ์
- ์นดํ ๊ณ ๋ฆฌ๋ณ ์ง์ถ ๋น์จ ๋ฐ ๊ทธ๋ํ ์ ๊ณต
- ๐ฅ ๊ณต๋ ๊ด๋ฆฌ ๊ธฐ๋ฅ
- ๊ณต๋ ๋ชฉํ ์ ๊ธ ๊ด๋ฆฌ
- ํ ๋จ์์ ์์ /์ง์ถ ํํฉ ๊ณต์
- [ํ] ํ๋ฉด: ์๋ณ ์์ /์ง์ถ ์์ฝ, ๋ชฉํ ๋ฌผ๊ฑด ์นด๋, ๊ตฌ๋ ๊ด๋ฆฌ
- [๊ฐ๊ณ๋ถ] ํ๋ฉด: ์ ์ฒด/์์ /์ง์ถ ๋ด์ญ, ๋ ์ง๋ณ ์์ธ ๊ธฐ๋ก
- [ํต๊ณ] ํ๋ฉด: ๊ฐ์ ๊ธฐ๋ฐ ์๋น ํจํด ๋ถ์ ๋ฐ ์๊ฐํ
- [๊ณต๋๊ด๋ฆฌ] ํ๋ฉด: ๊ณต๋ ๋ชฉํ ์ ๊ธ, ํ ๋จ์ ์ฌ์ ๊ด๋ฆฌ
- [ํ๋กํ ๋ฒํผ]: ์๊ธฐ ์ ๋ ฅ ๋ฐ ์์์ฆ ์ค์บ(OCR), ๊ฐ์ ์ ๋ ฅ
๐ ํด๋ฆญํ๋ฉด ์์ฐ ์์์ ๋ณผ ์ ์์ต๋๋ค.
- Frontend: React Native
- Backend: Firebase
- AI/OCR: Upstage OCR API
- AI/๋ถ์: OpenAI ๊ธฐ๋ฐ ๊ฐ์ -์๋น ๋ถ์ ๋ชจ๋ธ
- Database: Firebase / SQLite (๋ก์ปฌ ์ ์ฅ์)
src/
โโโ components/ # ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ UI ์ปดํฌ๋ํธ
โโโ screens/ # ํ, ๊ฐ๊ณ๋ถ, ํต๊ณ, ๊ณต๋๊ด๋ฆฌ ๋ฑ ์ฃผ์ ํ๋ฉด
โโโ services/ # API, OCR, AI ๋ถ์ ๋ชจ๋
โโโ navigation/ # ๋ค๋น๊ฒ์ด์
๊ตฌ์กฐ
โโโ assets/ # ์ด๋ฏธ์ง, ์์ด์ฝ, ๋ก๊ณ
-
์ ์ฅ์ ํด๋ก
git clone https://github.com/username/emotion-expense-tracker.git cd emotion-expense-tracker -
ํจํค์ง ์ค์น
npm install
-
์ฑ ์คํ
npx expo start
- iOS: Expo Go ์ฑ์์ QR ์ฝ๋ ์คํ
- Android: ์๋ฎฌ๋ ์ดํฐ ๋๋ Expo Go ์คํ
- ์ฌ์ฉ์ ๋ฑ๋ก ๋ฐ ๋ก๊ทธ์ธ (์ด๋ฉ์ผ, ์นด์นด์ค, ๊ตฌ๊ธ ์ฐ๋)
- ์์ /์ง์ถ ๊ธฐ๋ก (์๊ธฐ ์ ๋ ฅ ๋ฐ OCR ์๋ ๋ถ๋ฅ)
- ์๋ณ ์์ฐ ์ค์ ๋ฐ ๊ด๋ฆฌ
- ์นดํ ๊ณ ๋ฆฌ๋ณ/๊ฐ์ ๊ธฐ๋ฐ ์๋น ๋ถ์
- ๊ตฌ๋ ์๋น์ค ๊ด๋ฆฌ
- ๋ชฉํ ๋ฌผ๊ฑด ์ ๊ธ ๊ด๋ฆฌ
- ์์์ฆ ์ธ์ 10์ด ์ด๋ด ์ฒ๋ฆฌ
- ํต๊ณ/์ฐจํธ 5์ด ์ด๋ด ๋ก๋
- ํฌ๋ก์คํ๋ซํผ ํธํ์ฑ (iOS/Android ๋ฐ์ํ ๋์์ธ)
- ๋ชจ๋ํ๋ ๊ตฌ์กฐ์ ๋ฌธ์ํ๋ฅผ ํตํ ์ ์ง๋ณด์ ์ฉ์ด์ฑ
- ๋๋ค์์ ์์ด 10์ ์ด๋ด
- ๋น๋ฐ๋ฒํธ๋ ์ต์ 8์ ์ด์, ๋์๋ฌธ์+์ซ์+ํน์๋ฌธ์ ํฌํจ
- ์์์ฆ ์ค์บ์ ์ต์ 300dpi ์ด์ ๊ถ์ฅ
- API ํธ์ถ์ ๋ถ๋น 60ํ ์ ํ
- ์๋น ์์ธก ๊ธฐ๋ฅ ๋์
- ๊ฐ์ธ ๋ง์ถคํ ์ฌ๋ฌด ๊ด๋ฆฌ ์ถ์ฒ
- AI ๊ธฐ๋ฐ ์ ์ฝ ํ๋ ์๋ ์์ฑ
- ๋ค๊ตญ์ด ์ง์ (ํ๊ตญ์ด/์์ด)
