尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证건강앱
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
fitlog.myjane.co.kr — 인바디 결과지를 사진으로 기록하고 체성분 추이를 관리하는 앱. SnapWord·SnapNote와 회원을 공유한다. • 앱 데이터: fit DB (measurements, weights, activities, chatthreads) • 회원: user DB의 users 컬렉션 — models/User.ts의 useDb("user") • 세션: 쿠키 snap_user, 도메인 .myjane.co.kr → 세 앱 간 로그인 유지 ⚠️ Vercel에서 NEXT_PUBLIC_COOKIE_DOMAIN은 반드시 Config 타입으로 등록해야 한다. Secret으로 등록하면 브라우저 번들에 값이 주입되지 않아 쿠키가 host-only가 된다. heightCm / gender / birthYear는 FitLog에서만 입력받는 필드이며 공용 users 문서에 저장한다. 기종(270 · 270S · 720 · 970 · 구형)마다 인쇄 항목이 달라 대부분 선택값이다. 수치 항목은 { value, min, max } 형태로, 결과지에 인쇄된 표준범위까지 함께 저장한다.查看完整 README ↗
fitlog.myjane.co.kr — 인바디 결과지를 사진으로 기록하고 체성분 추이를 관리하는 앱.
스택: Next.js 15 · Node.js 22 · MongoDB Atlas(
fitDB) · OpenAI Vision · Cloudflare R2 · Vercel
SnapWord·SnapNote와 회원을 공유한다.
fit DB (measurements, weights, activities, chatthreads)user DB의 users 컬렉션 — models/User.ts의 useDb("user")snap_user, 도메인 .myjane.co.kr → 세 앱 간 로그인 유지
⚠️ Vercel에서 NEXT_PUBLIC_COOKIE_DOMAIN은 반드시 Config 타입으로 등록해야 한다.
Secret으로 등록하면 브라우저 번들에 값이 주입되지 않아 쿠키가 host-only가 된다.heightCm / gender / birthYear는 FitLog에서만 입력받는 필드이며 공용 users 문서에 저장한다.
기종(270 · 270S · 720 · 970 · 구형)마다 인쇄 항목이 달라 대부분 선택값이다.
| 그룹 | 내용 |
|---|---|
composition | 체수분(세포내/외) · 단백질 · 무기질 · 골무기질 · 체지방량 · 근육량 · 제지방량 · 체중 |
muscleFat | 골격근량 |
obesity | BMI · 체지방률 · 복부지방률 |
segmental | lean / fat / ecwRatio × 5부위 (kg · % · 등급) |
evaluation | 인바디점수 · 위상각 · 신체균형 · 비만평가 · 영양평가 · 신체강도 · 건강진단 |
control | 적정체중 · 체중/지방/근육 조절 |
research | 기초대사량 · 비만도 · 내장지방(레벨·단면적) · 허리둘레 · FFMI · FMI · BCM · BMC · AC · AMC |
impedance | 주파수별 RA/LA/TR/RL/LL |
derived | 앱이 계산: SMI(골격근지수), 허리/키 비율 |
etc | 스키마에 없는 항목 — label/value/unit으로 보관하고 화면에 그대로 나열 |
수치 항목은 { value, min, max } 형태로, 결과지에 인쇄된 표준범위까지 함께 저장한다.
날짜당 1건(userId + measuredDate 유니크). 하루에 여러 번 측정해도 체성분이 변한 게 아니라
식사·수분·운동에 따른 측정 조건 차이라 기록 가치가 없다. 같은 날 다시 올리면 교체한다.
단 measuredAt에는 시각까지 남겨 측정 조건 비교에 쓴다.
체중계는 매일, 인바디는 몇 달에 한 번이라 분리했다. 그래프에서 함께 그린다.
인바디 결과지는 내부 계산이 맞아떨어진다. 이 성질로 Vision의 숫자 오인식을 잡는다
(lib/inbody.ts의 validateMeasurement).
| 검사 | 허용 오차 |
|---|---|
| 체수분 + 단백질 + 무기질 + 체지방 = 체중 | ±0.6kg |
| BMI = 체중 ÷ (키m)² | ±0.4 |
| 체지방률 = 체지방량 ÷ 체중 × 100 | ±0.8%p |
| 제지방량 = 체중 − 체지방량 | ±0.6kg |
| 골격근량 ≤ 제지방량 | — |
추출 결과는 저장 전 반드시 검토 화면을 거치며, 검증에 걸린 필드를 표시한다.
npm install
cp .env.example .env.local # 값 채우기
npm run dev # http://localhost:3003
포트 3003 — SnapWord(3000)·SnapNote(3001)·myjane(3002)과 동시 실행용.
measurements, weights) 및 필드 카탈로그POST /api/measurements/extract, GET·POST /api/measurementsetc 목록 · 원본 사진)