ํ๋ก์ ํธ ๊ตฌ์กฐ์ ๋ค์ด๋ฐ ์ปจ๋ฒค์ ์ ๋ง๊ฒ ์ React ์ปดํฌ๋ํธ๋ฅผ ์ถ๊ฐํ๋ ๊ฐ์ด๋
PDF(์ธ์ ๋ ์ด์์) ๋ฐ Excel(xlsx ๋์ ๋ก๋ฉ) ํ์ผ ๋ด๋ณด๋ด๊ธฐ ๊ตฌํ ๋ฐ ๊ฐฑ์ ํจํด ๊ฐ์ด๋
Gemini 3.1 Flash Lite API๋ฅผ ์ฌ์ฉํ ๊ณ๊ธฐํ OCR ๋ฐ ์ฆ๋น ์๋ฅ AI ํ๋ณ ์ฐ๋ ํจํด ๊ฐ์ด๋
Sentry์ ์กํ ํ๊ฒฝ/๋ธ๋ผ์ฐ์ /์ธ๋ถ ์์กด์ฑ ๋ฐ ๋ ธ์ด์ฆ ์๋ฌ๋ฅผ ํํฐ๋งํ๋ค. ์ฌ์ฉ์๊ฐ "Sentry ๋ ธ์ด์ฆ", "Sentry ์๋ฌ ํํฐ", "์ด ์๋ฌ ๋ฌด์", "Sentry์ ์๊พธ ๋จ๋ X ๋ง์์ค" ๋ฑ์ ์์ฒญํ ๋ ๋ฐ๋ํ๋ค.
React ๋จ์ ํ ์คํธ(Vitest) ๋ฐ E2E ํ ์คํธ(Playwright) ์์ฑ ์ปจ๋ฒค์ ๊ณผ Mocking ๊ฐ์ด๋
Cloud Functions, ํ๋ก ํธ์๋ ๋น๋ ๋ฐ ๋ฐฐํฌ ์ ๋ฐ์ํ๋ ๋ค์ํ ์ค๋ฅ(Node ๋ฒ์ , ์์กด์ฑ ์ถฉ๋, ์์ค๋งต)์ ํด๊ฒฐ ํจํด์ ๋ชจ์๋ ๊ฐ์ด๋.
functions/src/ ๋๋ ํฐ๋ฆฌ์ ์ Cloud Function์ ์ถ๊ฐํ๊ณ index.ts์ ๋ฑ๋กํ๋ ํจํด ๊ฐ์ด๋
ํ๋ก์ ํธ ์ฝ๋ ์ ๋ฆฌ ํ๋จ ๊ฐ์ด๋ โ ๋ฏธ์ฌ์ฉ ์ฝ๋ยทํจํค์งยท์์ ํ์ผ์ ์ ๊ฑฐ ๊ฐ๋ฅ ์ฌ๋ถ๋ฅผ ํ๋ณํ๋ค. "์ ์ฐ๋ ์ฝ๋/ํจํค์ง ์ ๋ฆฌํด์ค" ๋ฅ ์์ฒญ ์ ๋ฐ๋. (lintยทdepcheckยทbuild ์คํ ์ํ์ค๋ /cleanup ์ํฌํ๋ก์ฐ)