-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
๋ชฉํ
์ค์๊ฐ ์ผ๊ตด ์ธ์์ ํ์ฉํ ์๋ ์ถ์์ฒดํฌ ์์คํ
์ ๊ตฌํํฉ๋๋ค.
์นด๋ฉ๋ผ์ ์ผ๊ตด์ด ์ธ์๋๋ฉด ์๋์ผ๋ก ์ถ์์ด ๊ธฐ๋ก๋๊ณ , ๋์๋ณด๋์์ ์ถ์ ํํฉ๊ณผ ํต๊ณ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
ํต์ฌ ์๊ตฌ์ฌํญ
- SQLite ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ถ์ ์ ๋ณด (์ด๋ฆ/๋ ์ง/์๊ฐ) ์ ์ฅ
- ๊ฐ์ ๋ ์ง์ ๋์ผ ์ธ๋ฌผ์ ๋จ 1ํ๋ง ์ถ์ ๊ธฐ๋ก
- ์ถ์ ํํฉ์ ํ์ธํ ์ ์๋ ๋์๋ณด๋ UI
์์คํ ์ํคํ ์ฒ
์นด๋ฉ๋ผ ์คํธ๋ฆผ โ ์ผ๊ตด ์ธ์ โ ์ถ์ ๊ธฐ๋ก (SQLite)
โ
์ถ์ API โ ๋์๋ณด๋ UI
๊ฐ๋ฐ ๊ณํ (๋จ๊ณ๋ณ)
Phase 1: ๋ฐ์ดํฐ ๊ณ์ธต
- SQLite ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค์ ๋ฐ ์ถ์ ๋ชจ๋ธ ๊ตฌํย #15 SQLite ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค์ ๋ฐ ์ถ์ ๋ชจ๋ธ ๊ตฌํ
Phase 2: API ๊ณ์ธต
- ์ถ์ ๊ธฐ๋ก API ์๋ํฌ์ธํธ ๊ตฌํย #16 ์ถ์ ๊ธฐ๋ก API ์๋ํฌ์ธํธ ๊ตฌํ
Phase 3: ์ธ์ ์ฐ๋
- ์ค์๊ฐ ์ผ๊ตด ์ธ์๊ณผ ์ถ์ ๊ธฐ๋ก ์ฐ๋ย #17 ์ค์๊ฐ ์ผ๊ตด ์ธ์๊ณผ ์ถ์ ๊ธฐ๋ก ์ฐ๋
Phase 4: ํ๋ก ํธ์๋
- ์ถ์์ฒดํฌ ๋์๋ณด๋ ํ๋ก ํธ์๋ ๊ตฌํย #18 ์ถ์์ฒดํฌ ๋์๋ณด๋ ํ๋ก ํธ์๋ ๊ตฌํ
๊ธฐ์ ์คํ
| ์์ญ | ๊ธฐ์ |
|---|---|
| Database | SQLite (Python ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ) |
| Backend API | FastAPI + Pydantic |
| ์ถ์ ์ฐ๋ | generate_frames() ํ์ฅ |
| Frontend | React + Tailwind CSS |
| i18n | ํ/์ ๋ค๊ตญ์ด ์ง์ |
๋ฐ์ดํฐ ํ๋ฆ
1. ์นด๋ฉ๋ผ ํ๋ ์ ์บก์ฒ
2. InsightFace๋ก ์ผ๊ตด ๊ฐ์ง + ์๋ฒ ๋ฉ ์ถ์ถ
3. face_database.json์์ ๋งค์นญ (์ฝ์ฌ์ธ ์ ์ฌ๋)
4. ๋งค์นญ ์ฑ๊ณต (confidence โฅ 0.5)
โ ๋ฉ๋ชจ๋ฆฌ ์บ์ ํ์ธ (๋น์ผ ์ถ์ ์ฌ๋ถ)
โ ๋ฏธ์ถ์ ์ SQLite์ INSERT OR IGNORE
โ ์บ์์ ์ถ๊ฐ
5. API๋ก ์ถ์ ๊ธฐ๋ก ์กฐํ
6. ํ๋ก ํธ์๋ ๋์๋ณด๋์ ํ์
ํ์ผ ๋ณ๊ฒฝ ๊ณํ
์ ๊ท ํ์ผ
backend/models/attendance_db.py- SQLite ์ถ์ DB ๋ชจ๋backend/data/attendance.db- SQLite ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ผfrontend/src/pages/Attendance.jsx- ์ถ์ ๋์๋ณด๋ ํ์ด์ง
์์ ํ์ผ
backend/api/routes.py- ์ถ์ API ์๋ํฌ์ธํธ ์ถ๊ฐ + ์ธ์ ์ฐ๋backend/server.py- DB ์ด๊ธฐํ lifecycle ์ถ๊ฐfrontend/src/App.jsx- ๋ผ์ฐํฐ ์ถ๊ฐfrontend/src/components/Sidebar.jsx- ๋ฉ๋ด ์ถ๊ฐfrontend/src/services/api.js- ์ถ์ API ํจ์ ์ถ๊ฐfrontend/src/i18n/locales/en.json- ์์ด ๋ฒ์ญfrontend/src/i18n/locales/ko.json- ํ๊ตญ์ด ๋ฒ์ญ
Reactions are currently unavailable