From dce2f64362893726ad454468f80bed6f37588346 Mon Sep 17 00:00:00 2001 From: Sn-Kinos Date: Mon, 5 Oct 2026 23:57:01 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B1=B8=EC=9D=8C=20=EC=88=98=20Health=20Conne?= =?UTF-8?q?ct=C2=B7HealthKit=20=C2=B7=20=EC=9C=84=EC=B9=98=20=ED=80=98?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=20=EC=82=AC=EC=A7=84=C2=B7QR=20=EC=9D=B8?= =?UTF-8?q?=EC=A6=9D=20=C2=B7=20=ED=96=89=EC=84=B1=20=ED=98=95=ED=83=9C=20?= =?UTF-8?q?=ED=99=95=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/android/app/src/main/AndroidManifest.xml | 23 ++++++ .../kotlin/kr/co/fanuzu/app/MainActivity.kt | 5 +- app/assets/figma/planet-shape-6.png | Bin 0 -> 85974 bytes app/assets/figma/planet-shape-placeholder.png | Bin 202736 -> 0 bytes app/firebase/firestore.rules | 7 ++ app/firebase/functions/src/quest/ugc.ts | 20 ++++- app/firebase/functions/src/quest/verify.ts | 45 ++++++++--- app/firebase/functions/test/quest_e2e.test.ts | 60 +++++++++++--- app/firebase/functions/test/quest_ugc.test.ts | 12 +++ app/firebase/storage.rules | 12 +++ .../test/tests/firestore.rules.test.mjs | 11 +++ .../test/tests/storage.rules.test.mjs | 12 +++ app/ios/Podfile.lock | 6 ++ app/ios/Runner.xcodeproj/project.pbxproj | 28 +++++-- .../xcshareddata/swiftpm/Package.resolved | 18 +++++ .../xcshareddata/swiftpm/Package.resolved | 18 +++++ app/ios/Runner/Runner.entitlements | 9 +++ app/lib/core/ui/planet_25d.dart | 15 ++-- app/lib/features/home/home_screen.dart | 2 +- .../features/home/widgets/home_weekly.dart | 6 +- app/lib/features/quest/qr_scan_screen.dart | 55 +++++++++++++ .../features/quest/quest_create_screen.dart | 24 ++++++ app/lib/features/quest/quest_data.dart | 36 ++++++++- .../features/quest/quest_detail_screen.dart | 67 +++++++++++++++- app/lib/features/quest/quest_evidence.dart | 60 ++++++++++++++ .../quest/quest_repository_firestore.dart | 74 +++++++++++++++--- app/lib/l10n/app_en.arb | 10 ++- app/lib/l10n/app_es.arb | 10 ++- app/lib/l10n/app_ja.arb | 10 ++- app/lib/l10n/app_ko.arb | 10 ++- app/lib/l10n/app_localizations.dart | 48 ++++++++++++ app/lib/l10n/app_localizations_en.dart | 25 ++++++ app/lib/l10n/app_localizations_es.dart | 25 ++++++ app/lib/l10n/app_localizations_ja.dart | 24 ++++++ app/lib/l10n/app_localizations_ko.dart | 24 ++++++ app/lib/l10n/app_localizations_zh.dart | 24 ++++++ app/lib/l10n/app_zh.arb | 10 ++- app/lib/l10n/remote_app_localizations.dart | 24 ++++++ app/pubspec.lock | 64 +++++++++++++++ app/pubspec.yaml | 9 +++ app/test/f4_screens_test.dart | 5 +- app/test/home_weekly_test.dart | 9 +++ app/test/planet_fx_test.dart | 3 +- app/test/quest_repository_test.dart | 37 +++++++++ 44 files changed, 930 insertions(+), 66 deletions(-) create mode 100644 app/assets/figma/planet-shape-6.png delete mode 100644 app/assets/figma/planet-shape-placeholder.png create mode 100644 app/lib/features/quest/qr_scan_screen.dart diff --git a/app/android/app/src/main/AndroidManifest.xml b/app/android/app/src/main/AndroidManifest.xml index 4fc36d3..a7c8133 100644 --- a/app/android/app/src/main/AndroidManifest.xml +++ b/app/android/app/src/main/AndroidManifest.xml @@ -2,6 +2,9 @@ + + + + + + + + + + + + + + + + + diff --git a/app/android/app/src/main/kotlin/kr/co/fanuzu/app/MainActivity.kt b/app/android/app/src/main/kotlin/kr/co/fanuzu/app/MainActivity.kt index 283c7a3..e7b6530 100644 --- a/app/android/app/src/main/kotlin/kr/co/fanuzu/app/MainActivity.kt +++ b/app/android/app/src/main/kotlin/kr/co/fanuzu/app/MainActivity.kt @@ -3,9 +3,10 @@ package kr.co.fanuzu.app import android.app.NotificationChannel import android.app.NotificationManager import android.os.Bundle -import io.flutter.embedding.android.FlutterActivity +import io.flutter.embedding.android.FlutterFragmentActivity -class MainActivity : FlutterActivity() { +// Health Connect 권한 요청(health 플러그인)이 `registerForActivityResult` 를 쓰므로 FragmentActivity 여야 한다. +class MainActivity : FlutterFragmentActivity() { /** * FCM 기본 알림 채널을 만든다. * diff --git a/app/assets/figma/planet-shape-6.png b/app/assets/figma/planet-shape-6.png new file mode 100644 index 0000000000000000000000000000000000000000..a6f427b69ffd1deafc4d50066db038df80246f9d GIT binary patch literal 85974 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 Bf~o)j literal 0 HcmV?d00001 diff --git a/app/assets/figma/planet-shape-placeholder.png b/app/assets/figma/planet-shape-placeholder.png deleted file mode 100644 index 18a1020c30485c8ac316a5d78d8ff5b3aaae768d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202736 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

u4>-;WA1$-RF>Ev(q?aatTe$Y9{>t0Y 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 KX5?FcJpUJC&2Pm3 diff --git a/app/firebase/firestore.rules b/app/firebase/firestore.rules index 2d62b5f..3f48afb 100644 --- a/app/firebase/firestore.rules +++ b/app/firebase/firestore.rules @@ -522,6 +522,13 @@ service cloud.firestore { // ───────────────────────── 4. 퀘스트 · 장소 · 브리핑 ───────────────────────── // 퀘스트 정의·보상 파라미터. 화면: S-H-HOME · S-AD-QUEST + // 위치 Quest 의 QR 코드(원장 C-03) — 생성자가 현장에 붙일 QR 을 띄우려고 읽는다. 참여자가 읽으면 + // 찍지 않고 값을 보낼 수 있으므로 생성자 · 조회 등급만. `fn-quest-create` 가 발급하고 고치지 않는다. + match /questSecrets/{questId} { + allow read: if signedIn() && (resource.data.authorUid == request.auth.uid || isViewer()); + allow write: if false; + } + match /quests/{questId} { allow read: if signedIn(); allow write: if isMaster(); // rbac-summary 「퀘스트·이클립스 파라미터」 diff --git a/app/firebase/functions/src/quest/ugc.ts b/app/firebase/functions/src/quest/ugc.ts index c8b52d5..1f29c7a 100644 --- a/app/firebase/functions/src/quest/ugc.ts +++ b/app/firebase/functions/src/quest/ugc.ts @@ -1,3 +1,4 @@ +import { randomBytes } from 'node:crypto'; import { HttpsError, onCall } from 'firebase-functions/v2/https'; import { onSchedule } from 'firebase-functions/v2/scheduler'; import { logger } from 'firebase-functions'; @@ -352,8 +353,13 @@ export interface CreateInput { goal?: number | undefined; /** 지도에 꽂은 핀(등록 장소가 아닐 때) — Figma `371:356705` 위치 선택. */ pin?: { lat: number; lng: number; address: string } | undefined; + /** 위치 Quest 의 추가 인증 수단(C-03 「Location 의 추가 인증 수단」) — `photo` · `qr`. GPS 는 항상 들어간다. */ + extraVerify?: string[] | undefined; } +/** 위치 Quest 에 덧붙일 수 있는 인증 수단(C-03 · PRD-05 「GPS · 사진 · QR 인증」). NFC 는 명세 제출 전이라 뺀다. */ +export const PLACE_EXTRA_VERIFY = ['photo', 'qr'] as const; + export const fnQuestCreate = onCall(async (req) => { const data = (req.data ?? {}) as Record; const int = (k: string) => (typeof data[k] === 'number' ? data[k] as number : 0); @@ -372,6 +378,7 @@ export const fnQuestCreate = onCall(async (req) => { placeId: optionalStr(data, 'placeId'), goal: int('goal'), pin: data.pin && typeof data.pin === 'object' ? data.pin as CreateInput['pin'] : undefined, + extraVerify: Array.isArray(data.extraVerify) ? data.extraVerify.filter((v): v is string => typeof v === 'string') : undefined, }); }); @@ -474,12 +481,23 @@ export async function createQuest(input: CreateInput, now = new Date()): Promise } } + // 위치 Quest 의 인증 수단(C-03) — 현장 방문 조건이라 GPS 는 반드시 들어가고, 고른 추가 수단이 붙는다. + const extras = placeId + ? PLACE_EXTRA_VERIFY.filter((m) => input.extraVerify?.includes(m)) + : []; + if (extras.includes('qr')) { + // QR 코드 발급 — 생성자만 읽는다(현장에 붙일 QR). 참여자가 읽을 수 있으면 찍지 않고 값을 보낼 수 있다. + await db.doc(`questSecrets/${questRef.id}`).set({ + authorUid: uid, qrCode: randomBytes(12).toString('hex'), createdAt: FieldValue.serverTimestamp(), + }); + } + // 1) 예치 + Draft(수수료 미부과 — B-30). const draft = { type: activity.key, activityKey: activity.key, categoryKey: category.key, title, userDescription: description, authorUid: uid, authorName: publicNameOf(user), fandomId, rewardMode, rewardPop, capacity, goal, - link, placeId, verifyMethods: placeId ? ['gps'] : [], + link, placeId, verifyMethods: placeId ? ['gps', ...extras] : [], repeat: { allowed: false, intervalHours: 24, maxCount: 1 }, endsAt: Timestamp.fromDate(endsAt), creatorTz: offsetLabel(input.utcOffsetMinutes), // 마감은 검수 승인(실제 공개) 시각으로 다시 계산한다 — 입력값을 남겨 둔다. diff --git a/app/firebase/functions/src/quest/verify.ts b/app/firebase/functions/src/quest/verify.ts index 1f450ce..ac83745 100644 --- a/app/firebase/functions/src/quest/verify.ts +++ b/app/firebase/functions/src/quest/verify.ts @@ -1,5 +1,6 @@ import { onCall } from 'firebase-functions/v2/https'; import { getFirestore, FieldValue, GeoPoint, Timestamp } from 'firebase-admin/firestore'; +import { getStorage } from 'firebase-admin/storage'; import { callerUid, num, optionalStr, str } from '../core/callable.js'; import { ERR, fail, positiveInt } from '../core/errors.js'; @@ -197,6 +198,12 @@ export const fnQuestVerifyMusicShake = onCall(async (req) => { * (`quests.repeat.allowed`)만 직전 **유효** 인증부터 `intervalHours`(기본 24) 간격으로 * `maxCount` 까지. 실패는 간격을 다시 시작하지 않는다(진행 문서는 지급과 함께만 쓴다). */ +/** 방문 인증 사진이 Storage 에 있는가. 테스트가 바꿔 끼운다. */ +export const placeProofStorage = { + exists: async (path: string): Promise => (await getStorage().bucket().file(path).exists())[0], +}; +const proofPhotoExists = (path: string) => placeProofStorage.exists(path).catch(() => false); + export const fnQuestVerifyPlace = onCall(async (req) => { const uid = callerUid(req); const placeId = str(req.data, 'placeId'); @@ -213,9 +220,13 @@ export const fnQuestVerifyPlace = onCall(async (req) => { if (questPlace !== placeId) { fail(ERR.questOutOfRange, '이 퀘스트의 인증 장소가 아닙니다.'); } - // 인증 수단은 **선택 입력**이다(C-03). - const proofKind = optionalStr(req.data, 'proofKind') ?? ''; - const proof = optionalStr(req.data, 'proof') ?? ''; + // 추가 인증 수단(C-03) — Quest 가 고른 수단(`verifyMethods` 의 photo · qr)은 GPS 와 **함께** 와야 한다. + // 고르지 않은 Quest 는 GPS 만으로 인증된다. 예전 앱의 `proofKind` · `proof` 한 쌍도 받는다. + const methods = new Set((questDoc.get('verifyMethods') as unknown[] | undefined) ?? []); + const legacyKind = optionalStr(req.data, 'proofKind') ?? ''; + const legacyProof = optionalStr(req.data, 'proof') ?? ''; + const qr = optionalStr(req.data, 'qr') ?? (legacyKind === 'qr' ? legacyProof : ''); + const photo = optionalStr(req.data, 'photo') ?? (legacyKind === 'photo' ? legacyProof : ''); const mocked = (req.data as Record)?.mocked === true; const accuracyM = (req.data as Record)?.accuracyM; const now = new Date(); @@ -233,17 +244,23 @@ export const fnQuestVerifyPlace = onCall(async (req) => { const logRef = db.collection(`users/${uid}/activityLogs`).doc(); const inRange = gap <= radius; - const proofGiven = (proofKind === 'photo' || proofKind === 'qr') && proof.length > 0; - // 판정 순서는 **조작 → 반경**이다. 모의 위치는 좌표 자체를 믿을 수 없다는 뜻이라 + // QR — 생성 때 발급한 코드(`questSecrets`)와 같아야 한다. 사진 — 본인이 이 Quest 로 올린 파일이어야 한다. + const qrOk = !methods.has('qr') + || (qr.length > 0 && qr === (await db.doc(`questSecrets/${questId}`).get()).get('qrCode')); + const photoOk = !methods.has('photo') + || (photo.startsWith(`questProofs/${uid}/${questId}/`) && !photo.includes('..') && await proofPhotoExists(photo)); + // 판정 순서는 **조작 → 반경 → 추가 수단**이다. 모의 위치는 좌표 자체를 믿을 수 없다는 뜻이라 // 반경 판정보다 앞선다. const reject = mocked ? ERR.questAbnormal : !inRange ? ERR.questOutOfRange - : null; + : !qrOk || !photoOk + ? ERR.questIncomplete + : null; await logRef.set({ - type: proofKind === 'qr' ? 'placeQr' : proofKind === 'photo' ? 'placePhoto' : 'placeGps', + type: qr ? 'placeQr' : photo ? 'placePhoto' : 'placeGps', fandomId: optionalStr(req.data, 'fandomId') ?? '', value: Math.round(gap), evidence: { @@ -252,7 +269,10 @@ export const fnQuestVerifyPlace = onCall(async (req) => { // 정확도와 모의 위치 여부를 함께 남긴다 — 설계서 §2.1 「위치 사진 경로·GPS // 좌표·정확도」와 §8 「mock location 차단」의 판정 입력이다. gps: { lat, lng, ...(typeof accuracyM === 'number' ? { accuracyM } : {}), mocked }, - ...(proofGiven ? { proof: { kind: proofKind, ref: proof } } : {}), + // C-03 「GPS 와 QR 판정이 모두 기록」 — 추가 수단은 값과 판정을 함께 남긴다. + ...(qr ? { qr: { value: qr, ok: qrOk } } : {}), + ...(photo ? { photo: { path: photo, ok: photoOk } } : {}), + ...(qr || photo ? { proof: { kind: qr ? 'qr' : 'photo', ref: qr || photo } } : {}), }, }, questId, @@ -269,6 +289,8 @@ export const fnQuestVerifyPlace = onCall(async (req) => { if (!inRange) { fail(ERR.questOutOfRange, '해당 장소에서 너무 멀리 떨어져 있습니다.'); } + if (!qrOk) fail(ERR.questIncomplete, '이 장소의 QR 코드를 스캔해 주세요.'); + if (!photoOk) fail(ERR.questIncomplete, '방문 인증 사진을 찍어 주세요.'); // C-12 참여 횟수 · 간격. 판정은 진행 문서의 **직전 유효 인증**만 본다. const progressSnap = await db.doc(`users/${uid}/questProgress/${questId}`).get(); const repeat = (questDoc.get('repeat') ?? {}) as { allowed?: unknown; intervalHours?: unknown; maxCount?: unknown }; @@ -286,10 +308,11 @@ export const fnQuestVerifyPlace = onCall(async (req) => { fail(ERR.popDuplicate, `다음 인증은 직전 인증 ${intervalHours}시간 뒤부터 가능합니다.`); } - // 추가 인증 수단이 왔으면 한 번만 쓴다. 재사용은 같은 방문을 여러 번 인정하는 셈이다. - if (proofGiven) { + // 사진은 한 번만 쓴다 — 같은 파일을 다시 내는 것은 같은 방문을 여러 번 인정하는 셈이다. QR 은 장소에 + // 붙은 같은 코드를 모두가 찍으므로 1회성이 아니다(1인 횟수는 위 C-12 가 막는다). + if (methods.has('photo')) { try { - await db.doc(`placeProofs/${proofKind}_${proof}`).create({ + await db.doc(`placeProofs/photo_${photo.replaceAll('/', '_')}`).create({ uid, placeId, createdAt: FieldValue.serverTimestamp(), }); } catch { diff --git a/app/firebase/functions/test/quest_e2e.test.ts b/app/firebase/functions/test/quest_e2e.test.ts index 234383d..9ab0d13 100644 --- a/app/firebase/functions/test/quest_e2e.test.ts +++ b/app/firebase/functions/test/quest_e2e.test.ts @@ -7,7 +7,7 @@ import { grantPop } from '../src/ledger/ledger.js'; import { verifiedQuestCountOf } from '../src/ledger/fpi.js'; import { fnAdminCompletionVoid } from '../src/admin/admin.js'; import { fnAdReward, fnQuestAttend, fnQuestVerifySteps } from '../src/quest/quest.js'; -import { fnQuestVerifyMusicShake, fnQuestVerifyPlace } from '../src/quest/verify.js'; +import { fnQuestVerifyMusicShake, fnQuestVerifyPlace, placeProofStorage } from '../src/quest/verify.js'; import { fnCampaignFund } from '../src/fandom/fandom.js'; /** @@ -81,7 +81,7 @@ beforeEach(async () => { const snap = await db().collection(`users/${UID}/${sub}`).get(); await Promise.all(snap.docs.map((d) => d.ref.delete())); } - for (const c of ['placeProofs', 'adSsv', 'adRewardLogs']) { + for (const c of ['placeProofs', 'questSecrets', 'adSsv', 'adRewardLogs']) { const docs = await db().collection(c).get(); await Promise.all(docs.docs.map((d) => d.ref.delete())); } @@ -503,20 +503,54 @@ describe('방문 — S-H-PLACE (fn-quest-verify-place)', () => { expect((await db().collection(`users/${UID}/popTransactions`).get()).size).toBe(1); }); - it('반경 안 + QR 이면 장소 보상값으로 지급하고 인증 재사용을 막는다', async () => { - const result = await call( - fnQuestVerifyPlace, { ...inRange, proofKind: 'qr', proof: 'tok-ok' }, - ); + it('QR 을 고른 Quest 는 발급 코드와 같은 QR 이 GPS 와 함께 와야 지급하고 두 판정을 모두 남긴다(C-03)', async () => { + await db().doc('quests/place-quest-qr').set({ type: 'location', placeId: PLACE, verifyMethods: ['gps', 'qr'] }); + await db().doc('questSecrets/place-quest-qr').set({ authorUid: 'someone', qrCode: 'code-ok' }); + const q = { ...inRange, questId: 'place-quest-qr' }; + // GPS 만 · 다른 코드 — 미완료. + expect(await codeOf(() => call(fnQuestVerifyPlace, q))).toBe('E-QST-01'); + expect(await codeOf(() => call(fnQuestVerifyPlace, { ...q, qr: 'code-bad' }))).toBe('E-QST-01'); + const result = await call(fnQuestVerifyPlace, { ...q, qr: 'code-ok' }); expect(result.rewarded).toBe(100); - expect(result.distanceM).toBeLessThanOrEqual(100); + const ok = (await db().collection(`users/${UID}/activityLogs`).where('verified', '==', true).get()).docs; + const evidence = only(ok).get('evidence') as { place: { gps: unknown; qr: { value: string; ok: boolean } } }; + expect(evidence.place.gps).toBeDefined(); + expect(evidence.place.qr).toEqual({ value: 'code-ok', ok: true }); + // GPS 없이(반경 밖) QR 만으로는 0건. + await db().doc('quests/place-quest-qr2').set({ type: 'location', placeId: PLACE, verifyMethods: ['gps', 'qr'] }); + await db().doc('questSecrets/place-quest-qr2').set({ authorUid: 'someone', qrCode: 'code-ok' }); + expect(await codeOf(() => call(fnQuestVerifyPlace, { ...farAway, questId: 'place-quest-qr2', qr: 'code-ok' }))) + .toBe('E-QST-03'); + }); + it('사진을 고른 Quest 는 본인이 이 Quest 로 올린 사진이어야 하고 같은 사진은 다시 못 쓴다', async () => { + const real = placeProofStorage.exists; + placeProofStorage.exists = async (path) => path.endsWith('/a.jpg'); + try { + for (const id of ['place-quest-photo', 'place-quest-photo2']) { + await db().doc(`quests/${id}`).set({ type: 'location', placeId: PLACE, verifyMethods: ['gps', 'photo'] }); + } + const q = { ...inRange, questId: 'place-quest-photo' }; + expect(await codeOf(() => call(fnQuestVerifyPlace, q))).toBe('E-QST-01'); + expect(await codeOf(() => call(fnQuestVerifyPlace, { ...q, photo: `questProofs/other/place-quest-photo/a.jpg` }))) + .toBe('E-QST-01'); + expect(await codeOf(() => call(fnQuestVerifyPlace, { ...q, photo: `questProofs/${UID}/place-quest-photo/none.jpg` }))) + .toBe('E-QST-01'); + const photo = `questProofs/${UID}/place-quest-photo/a.jpg`; + expect((await call(fnQuestVerifyPlace, { ...q, photo })).rewarded).toBe(100); + // 같은 파일 경로는 이 Quest 접두라 다른 Quest 에는 애초에 맞지 않는다. + expect(await codeOf(() => call(fnQuestVerifyPlace, { ...inRange, questId: 'place-quest-photo2', photo }))) + .toBe('E-QST-01'); + } finally { + placeProofStorage.exists = real; + } + }); + + it('추가 수단을 고르지 않은 Quest 에 온 QR 은 기록만 하고 GPS 로 판정한다', async () => { + const result = await call(fnQuestVerifyPlace, { ...inRange, proofKind: 'qr', proof: 'tok-ok' }); + expect(result.rewarded).toBe(100); const logs = await db().collection(`users/${UID}/activityLogs`).get(); - expect(only(logs.docs).get('verified')).toBe(true); - - // 같은 QR 토큰을 다른 Quest 에 다시 쓰는 시도. - expect(await codeOf( - () => call(fnQuestVerifyPlace, { ...inRange, questId: 'place-quest-reuse', proofKind: 'qr', proof: 'tok-ok' }), - )).toBe('E-POP-03'); + expect(only(logs.docs).get('type')).toBe('placeQr'); }); }); diff --git a/app/firebase/functions/test/quest_ugc.test.ts b/app/firebase/functions/test/quest_ugc.test.ts index 6adb708..9424d7f 100644 --- a/app/firebase/functions/test/quest_ugc.test.ts +++ b/app/firebase/functions/test/quest_ugc.test.ts @@ -541,6 +541,18 @@ describe('위치 선택 지도 핀 (Figma 371:356705)', () => { expect((ok as Record).rewarded).toBe(5); }); + it('추가 인증 수단(사진 · QR)을 고르면 GPS 에 덧붙고, QR 이면 생성자만 읽는 코드를 발급한다(C-03)', async () => { + const { questId } = await create({ + activityKey: 'location', url: undefined, manualTitle: undefined, + pin: { lat: 37.4979, lng: 127.0276, address: '서울특별시 강남구 역삼동' }, + extraVerify: ['qr', 'nfc', 'photo'], + }); + expect((await quest(questId)).verifyMethods).toEqual(['gps', 'photo', 'qr']); + const secret = (await db().doc(`questSecrets/${questId}`).get()).data()!; + expect(secret.authorUid).toBe(CREATOR); + expect(secret.qrCode).toMatch(/^[0-9a-f]{24}$/); + }); + it('좌표가 틀리면 거부한다', async () => { expect(await codeOf(() => create({ activityKey: 'location', url: undefined, manualTitle: undefined, diff --git a/app/firebase/storage.rules b/app/firebase/storage.rules index 66ee68c..381ee0d 100644 --- a/app/firebase/storage.rules +++ b/app/firebase/storage.rules @@ -69,6 +69,18 @@ service firebase.storage { allow delete: if isSelf(uid); } + // 위치 Quest 방문 인증 사진 — 원장 C-03 · PRD-05 「GPS · 사진 · QR 인증」. `fn-quest-verify-place` 가 + // 이 경로 접두(`questProofs/{본인}/{questId}/`)와 파일 존재를 다시 본다. 운영 검토용이라 본인 · 서버만 읽는다. + // 덮어쓰기 · 삭제 금지 — 제출한 증거가 바뀌면 안 된다. 상한은 B-44 이미지 10MB. + match /questProofs/{uid}/{questId}/{fileName} { + allow read: if isSelf(uid); + allow create: if isSelf(uid) + && resource == null + && request.resource.size <= 10 * 1024 * 1024 + && request.resource.contentType.matches('image/(jpeg|png|webp)'); + allow update, delete: if false; + } + // 그 밖의 경로는 닫는다. 인사이드 미디어 · 라운지 영상(B-44 영상 100MB/60초)은 // 업로드 동선이 들어오는 회차에 같은 방식으로 상한과 함께 연다. match /{allPaths=**} { diff --git a/app/firebase/test/tests/firestore.rules.test.mjs b/app/firebase/test/tests/firestore.rules.test.mjs index de76aa6..e70c18f 100644 --- a/app/firebase/test/tests/firestore.rules.test.mjs +++ b/app/firebase/test/tests/firestore.rules.test.mjs @@ -264,6 +264,17 @@ describe('성장 귀속 행 — users/{uid}/growthEvents (HOME 주간 정보 A-3 }); }); +describe('위치 Quest QR 코드 — questSecrets/{questId} (C-03)', () => { + test('생성자만 읽고 참여자는 읽지 못하며 누구도 쓰지 못한다', async () => { + await seedDocuments(testEnvironment, { + 'questSecrets/quest-1': { authorUid: 'alice', qrCode: 'secret' }, + }); + await assertSucceeds(getDoc(doc(dbFor('alice'), 'questSecrets/quest-1'))); + await assertFails(getDoc(doc(dbFor('bob'), 'questSecrets/quest-1'))); + await assertFails(setDoc(doc(dbFor('alice'), 'questSecrets/quest-2'), { authorUid: 'alice', qrCode: 'x' })); + }); +}); + describe('가입 목록 — users/{uid}/memberships (C-15)', () => { beforeEach(async () => { await seedDocuments(testEnvironment, { diff --git a/app/firebase/test/tests/storage.rules.test.mjs b/app/firebase/test/tests/storage.rules.test.mjs index a0d65ef..3a5dc21 100644 --- a/app/firebase/test/tests/storage.rules.test.mjs +++ b/app/firebase/test/tests/storage.rules.test.mjs @@ -93,6 +93,18 @@ describe('프로필 사진 — users/{uid}/profile', () => { await assertSucceeds(deleteObject(ref(storageFor('alice'), path))); }); + test('방문 인증 사진은 본인 경로에 10MB 이하 이미지 한 번만, 지우지 못한다 (C-03)', async () => { + const path = 'questProofs/alice/quest-1/1.jpg'; + const jpeg = { contentType: 'image/jpeg' }; + await assertSucceeds(uploadBytes(ref(storageFor('alice'), path), bytesOf(1024), jpeg)); + await assertFails(uploadBytes(ref(storageFor('alice'), path), bytesOf(1024), jpeg)); + await assertFails(uploadBytes(ref(storageFor('bob'), 'questProofs/alice/quest-1/2.jpg'), bytesOf(1024), jpeg)); + await assertFails( + uploadBytes(ref(storageFor('alice'), 'questProofs/alice/quest-1/3.jpg'), bytesOf(10 * 1024 * 1024 + 1), jpeg), + ); + await assertFails(deleteObject(ref(storageFor('alice'), path))); + }); + test('열지 않은 경로는 기본 거부다', async () => { await assertFails( uploadBytes(ref(storageFor('alice'), 'posts/post-1/media/1.png'), bytesOf(1024), image), diff --git a/app/ios/Podfile.lock b/app/ios/Podfile.lock index b0b7b0a..944a927 100644 --- a/app/ios/Podfile.lock +++ b/app/ios/Podfile.lock @@ -1,15 +1,21 @@ PODS: - Flutter (1.0.0) + - health (13.3.1): + - Flutter DEPENDENCIES: - Flutter (from `Flutter`) + - health (from `.symlinks/plugins/health/ios`) EXTERNAL SOURCES: Flutter: :path: Flutter + health: + :path: ".symlinks/plugins/health/ios" SPEC CHECKSUMS: Flutter: 71a624a5bc0c04062bf19101d501e466baf2fb47 + health: 4decf5d74e8f54c58a8c07a385fc72f629a831d9 PODFILE CHECKSUM: a9f0c3e5ff2dc240d258357afba1f66fdbe55a54 diff --git a/app/ios/Runner.xcodeproj/project.pbxproj b/app/ios/Runner.xcodeproj/project.pbxproj index 6db6495..3c9e8d1 100644 --- a/app/ios/Runner.xcodeproj/project.pbxproj +++ b/app/ios/Runner.xcodeproj/project.pbxproj @@ -10,12 +10,12 @@ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 4F2B0E1A2C3D4E5F60718294 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 4F2B0E1A2C3D4E5F60718293 /* GoogleService-Info.plist */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; 7884E8682EC3CC0700C636F2 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7884E8672EC3CC0400C636F2 /* SceneDelegate.swift */; }; 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; }; 87BFB00ABC23EA249E841B59 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CBE157220A7C382F845775F0 /* Pods_Runner.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; - 4F2B0E1A2C3D4E5F60718294 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 4F2B0E1A2C3D4E5F60718293 /* GoogleService-Info.plist */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; EC46D318C684524E6F9C925F /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AB2C33122C7A95220B242430 /* Pods_RunnerTests.framework */; }; @@ -51,6 +51,7 @@ 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; 48D05AE8FDC95B4B55F142B5 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 4F2B0E1A2C3D4E5F60718293 /* GoogleService-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7884E8672EC3CC0400C636F2 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; @@ -66,7 +67,6 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 4F2B0E1A2C3D4E5F60718293 /* GoogleService-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; A68C3B80D45981965B89CA40 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; AB2C33122C7A95220B242430 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; CBE157220A7C382F845775F0 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -208,6 +208,7 @@ 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + 969D2A0A08424A33F3DBC3C4 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -346,6 +347,23 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; + 969D2A0A08424A33F3DBC3C4 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -470,8 +488,8 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; DEVELOPMENT_TEAM = V28G543VK5; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; @@ -654,8 +672,8 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; DEVELOPMENT_TEAM = V28G543VK5; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; @@ -678,8 +696,8 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; DEVELOPMENT_TEAM = V28G543VK5; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; diff --git a/app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index bc0e8f4..7f442b1 100644 --- a/app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -143,6 +143,24 @@ "revision" : "f4a19a3c313dc2616c70bb49d29a799fb16be837", "version" : "2.4.1" } + }, + { + "identity" : "swift-package-manager-google-mobile-ads", + "kind" : "remoteSourceControl", + "location" : "https://github.com/googleads/swift-package-manager-google-mobile-ads", + "state" : { + "revision" : "d1fa1f5c1dfe3b43d56c73f4de388ad3316618bc", + "version" : "13.11.0" + } + }, + { + "identity" : "swift-package-manager-google-user-messaging-platform", + "kind" : "remoteSourceControl", + "location" : "https://github.com/googleads/swift-package-manager-google-user-messaging-platform.git", + "state" : { + "revision" : "13b248eaa73b7826f0efb1bcf455e251d65ecb1b", + "version" : "3.1.0" + } } ], "version" : 2 diff --git a/app/ios/Runner.xcworkspace/xcshareddata/swiftpm/Package.resolved b/app/ios/Runner.xcworkspace/xcshareddata/swiftpm/Package.resolved index bc0e8f4..7f442b1 100644 --- a/app/ios/Runner.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/app/ios/Runner.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -143,6 +143,24 @@ "revision" : "f4a19a3c313dc2616c70bb49d29a799fb16be837", "version" : "2.4.1" } + }, + { + "identity" : "swift-package-manager-google-mobile-ads", + "kind" : "remoteSourceControl", + "location" : "https://github.com/googleads/swift-package-manager-google-mobile-ads", + "state" : { + "revision" : "d1fa1f5c1dfe3b43d56c73f4de388ad3316618bc", + "version" : "13.11.0" + } + }, + { + "identity" : "swift-package-manager-google-user-messaging-platform", + "kind" : "remoteSourceControl", + "location" : "https://github.com/googleads/swift-package-manager-google-user-messaging-platform.git", + "state" : { + "revision" : "13b248eaa73b7826f0efb1bcf455e251d65ecb1b", + "version" : "3.1.0" + } } ], "version" : 2 diff --git a/app/ios/Runner/Runner.entitlements b/app/ios/Runner/Runner.entitlements index 647988c..296bbe1 100644 --- a/app/ios/Runner/Runner.entitlements +++ b/app/ios/Runner/Runner.entitlements @@ -19,6 +19,15 @@ 푸시 알림. 6주차 FCM 연동 대상이며 환경은 배포 시 production 으로 바뀐다. APNs 인증키는 Apple Developer 계정에 종속된다(계정 이전 별첨 C-4). --> + + com.apple.developer.healthkit + + com.apple.developer.healthkit.access + + aps-environment development diff --git a/app/lib/core/ui/planet_25d.dart b/app/lib/core/ui/planet_25d.dart index 08f4a51..5b99805 100644 --- a/app/lib/core/ui/planet_25d.dart +++ b/app/lib/core/ui/planet_25d.dart @@ -63,17 +63,12 @@ Color? planetColorOf(String? key) => /// /// 그림은 Figma 「홈_성장 완료/행성 생성」(`344:214421`) 형태 칸이 쓰는 **행성 형태 시트 이미지 /// (1536×1024 · 투명 배경 · 2행 5열)** 에서 칸과 같은 형태를 잘라 낸 것이다(2026-10-06 재추출). -/// 칸 1~5 는 시트 1 · 2 · 3 · 4 · 10번째 형태다. 6번째 칸은 Figma 에서 「다음」 버튼에 가려 -/// 어떤 형태인지 보이지 않아 자리표시(1번과 같은 그림)를 둔다 — 해석 확인 요청 Q-A14. -/// 시트 원본이 형태당 약 260px 라 큰 화면에서는 흐릴 수 있다(Admin 등록 이미지로 바뀌면 해소). +/// 칸 1~6 은 시트 1 · 2 · 3 · 4 · 10 · 8번째 형태다. 6번째 칸(`2154:16037`)은 화면에서 「다음」 버튼에 +/// 가려 보이지 않지만, 노드의 이미지 잘라내기 값(시트 x 0.383 · y 0.480)으로 8번째 형태임을 확인했다. +/// 시트 원본이 형태당 약 260px 라 큰 화면에서는 흐릴 수 있다 — 사본 Figma 에 더 큰 원본이 없다(Q-A14 ②). String? planetShapeImage(String? planetType) { - final n = int.tryParse( - RegExp(r'^shape([1-6])$').firstMatch(planetType ?? '')?.group(1) ?? '', - ); - if (n == null) return null; - return n <= 5 - ? 'assets/figma/planet-shape-$n.png' - : 'assets/figma/planet-shape-placeholder.png'; + final n = RegExp(r'^shape([1-6])$').firstMatch(planetType ?? '')?.group(1); + return n == null ? null : 'assets/figma/planet-shape-$n.png'; } /// 정지 그림 — 형태 · 색을 입힌 행성(목록 카드 · MY). 형태가 없으면 [fallback] 그림 그대로다. diff --git a/app/lib/features/home/home_screen.dart b/app/lib/features/home/home_screen.dart index 7ca6c25..bf35775 100644 --- a/app/lib/features/home/home_screen.dart +++ b/app/lib/features/home/home_screen.dart @@ -620,7 +620,7 @@ class _HomeBody extends StatelessWidget { // 이하 구획은 Figma 「홈」 `2097:16428` `Frame 4241`(패딩 24/16 · 구획 사이 36 · 머리와 // 본문 16) 순서 — TODAY'S QUEST · 팬덤행성 인큐베이터 · 아티스트 소식 · HOT ARCHIVE · // 인기 K-INSIDE. - // HOME 주간 정보(A-37 · 정보위계 v1.0 §2 의 2 · 3 · 6 · 7번) — 🟡 자리 임시(Q-A16). + // HOME 주간 정보(A-37 · 정보위계 v1.0 §2 의 2 · 3 · 6 · 7번) — 🟡 자리 임시(REFINE v5A 가 사본에 없음 · Q-A16). if (data.weekly case final weekly?) ...[ Padding( padding: _h, diff --git a/app/lib/features/home/widgets/home_weekly.dart b/app/lib/features/home/widgets/home_weekly.dart index 90736cf..f50b205 100644 --- a/app/lib/features/home/widgets/home_weekly.dart +++ b/app/lib/features/home/widgets/home_weekly.dart @@ -7,9 +7,9 @@ import '../home_screen.dart' show formatPop; /// HOME 주간 정보 — 발주사 9/9 검토회신 2항 · HOME 정보위계 v1.0 §2 의 2 · 3 · 6 · 7번(A-37). /// -/// 🟡 **배치는 임시다.** 기준 화면 「REFINE v5A · HOME · Default」 를 아직 실측하지 못해(당사 사본에 -/// 없고 원본 파일은 로그인 필요) 정보 위계 v1.0 §7 「프레임 실측과 무관하게 반드시 포함」에 따라 -/// 값만 먼저 싣는다. 자리 · 모양은 해석 확인 요청 영역A Q-A16 회신 또는 실측 후 맞춘다. +/// 🟡 **배치는 임시다.** 9/7 회신이 기준으로 든 「REFINE v5A · HOME · Default」 는 계약 시점 사본 +/// Figma 에 없다(전 페이지 이름 · 문구 검색, 2026-10-06). 정보 위계 v1.0 §7 「프레임 실측과 무관하게 반드시 +/// 포함」에 따라 값만 먼저 싣고, 자리 · 모양은 해석 확인 요청 Q-A16 회신을 따른다. /// 값의 뜻은 [HomeWeekly] — 모르는 값은 0 으로 채우지 않고 「—」. class HomeWeeklyCard extends StatelessWidget { const HomeWeeklyCard({super.key, required this.weekly}); diff --git a/app/lib/features/quest/qr_scan_screen.dart b/app/lib/features/quest/qr_scan_screen.dart new file mode 100644 index 0000000..f675135 --- /dev/null +++ b/app/lib/features/quest/qr_scan_screen.dart @@ -0,0 +1,55 @@ +import 'package:flutter/material.dart'; +import 'package:mobile_scanner/mobile_scanner.dart'; + +import '../../core/i18n/app_locale.dart'; +import '../../core/theme/tokens.dart'; + +/// 위치 Quest QR 인증 — 현장에 붙은 QR 을 스캔해 그 값을 돌려준다(원장 C-03 · PRD-05 「QR 인증」). +/// +/// 판정은 서버가 한다(생성 때 발급한 코드와 대조). 이 화면은 첫 번째로 읽힌 값으로 닫힐 뿐이다. +/// 🟡 Figma 에 스캔 화면이 없어 카메라 전체 화면 + 닫기 버튼만 둔다(해석 확인 요청 영역B Q-B-10). +class QrScanScreen extends StatefulWidget { + const QrScanScreen({super.key}); + + @override + State createState() => _QrScanScreenState(); +} + +class _QrScanScreenState extends State { + bool _done = false; + + void _onDetect(BarcodeCapture capture) { + if (_done) return; + final value = capture.barcodes + .map((b) => b.rawValue) + .whereType() + .where((v) => v.isNotEmpty) + .firstOrNull; + if (value == null) return; + _done = true; + Navigator.of(context).pop(value); + } + + @override + Widget build(BuildContext context) => Scaffold( + backgroundColor: Colors.black, + appBar: AppBar( + backgroundColor: Colors.black, + foregroundColor: AppColors.onCosmic, + title: Text(context.l10n.questScanQr), + ), + body: MobileScanner( + onDetect: _onDetect, + errorBuilder: (context, error) => Center( + child: Padding( + padding: const EdgeInsets.all(AppSpace.s5), + child: Text( + context.l10n.questScanQrDenied, + textAlign: TextAlign.center, + style: const TextStyle(color: AppColors.onCosmic), + ), + ), + ), + ), + ); +} diff --git a/app/lib/features/quest/quest_create_screen.dart b/app/lib/features/quest/quest_create_screen.dart index cc27eeb..df15987 100644 --- a/app/lib/features/quest/quest_create_screen.dart +++ b/app/lib/features/quest/quest_create_screen.dart @@ -304,6 +304,26 @@ class _QuestCreateScreenState extends State { trailing: const Icon(Icons.chevron_right), onTap: _pickPlace, ), + // 추가 인증 수단(원장 C-03 「Location 의 추가 인증 수단」 · PRD-05 「GPS · 사진 · QR 인증」). + // GPS 는 항상 들어간다. 🟡 Figma 생성 화면에 이 줄이 없어 배치는 임시다(해석 확인 요청 영역B Q-B-10). + Text(context.l10n.questExtraVerify, style: Theme.of(context).textTheme.bodySmall), + const SizedBox(height: AppSpace.s2), + Wrap( + spacing: AppSpace.s2, + children: [ + for (final (key, label) in [ + ('photo', context.l10n.questVerifyPhoto), + ('qr', context.l10n.questVerifyQr), + ]) + FilterChip( + label: Text(label), + selected: _extraVerify.contains(key), + onSelected: (on) => setState( + () => on ? _extraVerify.add(key) : _extraVerify.remove(key), + ), + ), + ], + ), const SizedBox(height: AppSpace.s3), ], @@ -383,6 +403,9 @@ class _QuestCreateScreenState extends State { }); } + /// 위치 Quest 에 덧붙일 인증 수단(`photo` · `qr`). + final _extraVerify = {}; + Future _pickPlace() async { if (_places.isEmpty) { final places = await widget.repository.places(); @@ -446,6 +469,7 @@ class _QuestCreateScreenState extends State { placeId: _needs('place') && !(_place?.isPin ?? true) ? _place?.id : null, pin: _needs('place') && (_place?.isPin ?? false) ? _place : null, goal: _needs('goal') ? _intOf(_goal) : null, + extraVerify: _needs('place') ? _extraVerify.toList() : const [], ), ); } on BackendException catch (error) { diff --git a/app/lib/features/quest/quest_data.dart b/app/lib/features/quest/quest_data.dart index 62d4dd1..00430db 100644 --- a/app/lib/features/quest/quest_data.dart +++ b/app/lib/features/quest/quest_data.dart @@ -6,6 +6,8 @@ /// - 퀘스트 생성 `523:18152`~`523:18188` · Admin 정의 `567:19531` library; +import 'dart:typed_data' show Uint8List; + import '../../core/data/backend.dart' show BackendException; import '../../core/monetization/rewarded_ad.dart'; import '../../core/i18n/app_locale.dart'; @@ -432,10 +434,19 @@ class QuestDetail { this.reviews = const [], this.publishState = '', this.moderationReason, + this.verifyMethods = const [], + this.qrCode, }); final QuestCard card; + /// 위치 Quest 의 인증 수단(`quests.verifyMethods` — `gps` · `photo` · `qr`, 원장 C-03). PRD-05 + /// 「장소 상세에서 인증 방법 … 확인」. GPS 는 항상, 사진 · QR 은 생성 때 고른 추가 수단이다. + final List verifyMethods; + + /// 생성자에게만 — 현장에 붙일 QR 의 값(`questSecrets/{id}.qrCode`). 참여자에게는 null. + final String? qrCode; + /// 사용자 생성 Quest 의 공개 상태(`quests.status`) — `review`(검수 대기) · `published` · /// `rejected`(운영 반려) · `cancelled` · `ended`. 운영 Quest 는 빈 값. final String publishState; @@ -464,6 +475,17 @@ class QuestDetail { final List reviews; } +/// 위치 Quest 의 추가 인증 증거(원장 C-03 · PRD-05 「사진 인증 · QR 인증」). GPS 좌표는 저장소가 따로 잰다. +class PlaceProof { + const PlaceProof({this.qr, this.photo}); + + /// 현장 QR 을 스캔한 값. + final String? qr; + + /// 방문 인증 사진(JPEG 바이트). 저장소가 Storage 에 올리고 경로를 보낸다. + final Uint8List? photo; +} + /// 목록 탭. 명세 — *전체 / 진행중 / 완료 / 내 퀘스트*. enum QuestTab { all, @@ -502,8 +524,12 @@ class QuestDraft { this.placeId, this.pin, this.goal, + this.extraVerify = const [], }); + /// 위치 Quest 의 추가 인증 수단(`photo` · `qr`, 원장 C-03). GPS 는 서버가 항상 넣는다. + final List extraVerify; + /// 지도에 꽂은 핀(등록 장소가 아닐 때) — 서버가 그 좌표로 장소를 만든다. final QuestPlace? pin; @@ -597,7 +623,10 @@ abstract interface class QuestRepository { /// **판정도 지급도 서버가 한다.** 앱은 증거(걸음 수·좌표)만 싣고, 실패는 /// 에러 카탈로그 코드로 돌아온다(E-QST-01 미완주 · E-QST-02 비정상 · /// E-QST-03 반경 밖 · E-POP-03 중복). - Future verify(QuestCard card); + Future verify( + QuestCard card, { + PlaceProof proof = const PlaceProof(), + }); /// 보상형 광고 한 편을 불러온다. 불러오지 못하면 E-AD-01 이다. /// @@ -831,7 +860,10 @@ class SampleQuestRepository implements QuestRepository { void recordShake(ShakeJudge run) {} @override - Future verify(QuestCard card) async { + Future verify( + QuestCard card, { + PlaceProof proof = const PlaceProof(), + }) async { _claimed.add(card.id); return QuestReward( rewardedPop: card.rewardPop ?? 0, diff --git a/app/lib/features/quest/quest_detail_screen.dart b/app/lib/features/quest/quest_detail_screen.dart index 29dc30e..99c44bc 100644 --- a/app/lib/features/quest/quest_detail_screen.dart +++ b/app/lib/features/quest/quest_detail_screen.dart @@ -1,6 +1,10 @@ import 'dart:async'; +import 'dart:typed_data' show Uint8List; + import 'package:flutter/material.dart'; +import 'package:image_picker/image_picker.dart'; +import 'package:qr_flutter/qr_flutter.dart'; import 'package:url_launcher/url_launcher.dart'; import '../../core/ui/app_dialog.dart'; @@ -17,6 +21,7 @@ import 'quest_ad_screens.dart'; import 'quest_create_screen.dart' show QuestLinkCard; import 'quest_data.dart'; import 'quest_evidence.dart'; +import 'qr_scan_screen.dart'; import 'quest_reward_screen.dart'; import 'widgets/quest_card_tile.dart'; import 'widgets/time_attack_countdown.dart'; @@ -251,6 +256,35 @@ class _QuestDetailScreenState extends State { ), const SizedBox(height: 8), ], + // 인증 방법 — PRD-05 MVP 수용 기준 「장소 상세에서 인증 방법 · 보상 · 참여 현황 확인」 · 원장 C-03. + if (card.type == QuestType.place) ...[ + _Row( + label: context.l10n.questVerifyMethods, + value: [ + for (final m in detail.verifyMethods) + switch (m) { + 'gps' => context.l10n.questVerifyGps, + 'photo' => context.l10n.questVerifyPhoto, + 'qr' => context.l10n.questVerifyQr, + _ => m.toUpperCase(), + }, + ].join(' · '), + ), + const SizedBox(height: 8), + ], + // 생성자 — 현장에 붙일 QR(생성 때 서버가 발급). 참여자에게는 값이 오지 않는다. + if (detail.qrCode case final code?) ...[ + Text(context.l10n.questQrForPlace, style: _caption), + const SizedBox(height: 8), + Center( + child: Container( + color: Colors.white, + padding: const EdgeInsets.all(12), + child: QrImageView(data: code, size: 180), + ), + ), + const SizedBox(height: 16), + ], // 참여 전 간격 · 최대 횟수 안내(C-12). if (card.type == QuestType.place) Padding( @@ -826,6 +860,30 @@ class _QuestDetailScreenState extends State { } } + /// QR 스캔 · 인증 사진 — Quest 가 고른 수단만. 하나라도 취소하면 null. + Future _placeProof(List methods) async { + String? qr; + if (methods.contains('qr')) { + qr = await Navigator.of(context, rootNavigator: true).push( + MaterialPageRoute(builder: (_) => const QrScanScreen()), + ); + if (qr == null) return null; + } + Uint8List? photo; + if (methods.contains('photo')) { + // B-44 이미지 10MB 상한 — 긴 변 1600 · JPEG 80 으로 줄여 올린다. + final shot = await ImagePicker().pickImage( + source: ImageSource.camera, + maxWidth: 1600, + maxHeight: 1600, + imageQuality: 80, + ); + if (shot == null) return null; + photo = await shot.readAsBytes(); + } + return PlaceProof(qr: qr, photo: photo); + } + /// 보상받기. /// /// 순서는 **참여 조건 판정 → 기본 보상 → 광고 선택**이다. 위치 · 권한 · 걸음 · 일일 한도는 @@ -839,10 +897,17 @@ class _QuestDetailScreenState extends State { if (_busy) return; // 판정과 지급은 서버가 한다. 화면은 결과를 받아 띄우기만 한다 — // 별첨 1 ② 「클라이언트 단독 지급 0건」. + // 위치 Quest 의 추가 인증(C-03) — 고른 수단의 증거를 먼저 모은다. 취소하면 아무것도 보내지 않는다. + var proof = const PlaceProof(); + if (detail.card.type == QuestType.place && detail.card.endsAt == null) { + final collected = await _placeProof(detail.verifyMethods); + if (collected == null || !mounted) return; + proof = collected; + } setState(() => _busy = true); final QuestReward reward; try { - reward = await widget.repository.verify(detail.card); + reward = await widget.repository.verify(detail.card, proof: proof); } catch (error) { if (!mounted) return; setState(() { diff --git a/app/lib/features/quest/quest_evidence.dart b/app/lib/features/quest/quest_evidence.dart index b678aae..01be83d 100644 --- a/app/lib/features/quest/quest_evidence.dart +++ b/app/lib/features/quest/quest_evidence.dart @@ -8,9 +8,11 @@ /// 생성자로 다른 구현을 넣는다 — 센서 없는 환경에서도 옮기는 규칙을 검증할 수 있어야 한다. library; +import 'dart:io' show Platform; import 'dart:math' as math; import 'package:geolocator/geolocator.dart'; +import 'package:health/health.dart'; import 'package:pedometer/pedometer.dart'; import 'package:sensors_plus/sensors_plus.dart'; import 'package:permission_handler/permission_handler.dart'; @@ -308,6 +310,64 @@ Future devicePlaceFix() async { /// 권한을 영구 거부한 사용자를 설정 화면으로 보낸다. 화면의 「설정 열기」가 부른다. Future openQuestPermissionSettings() => openAppSettings(); +/// 오늘(KST 0시~지금) 걸은 수를 내는 함수. 쓸 수 없으면 null — 기기 센서([StepCountProbe])로 대체한다. +typedef TodayStepsProbe = Future Function(); + +/// 오늘 0시(KST) — 서버 `dayKey()` 와 같은 날짜 경계. +DateTime kstMidnight(DateTime at) { + final kst = at.toUtc().add(const Duration(hours: 9)); + return DateTime.utc(kst.year, kst.month, kst.day).subtract(const Duration(hours: 9)); +} + +/// 권한 확인은 앱이 떠 있는 동안 한 번만 한다. 거부되면 다음 실행에서 다시 묻는다. +Future? _healthAuthorized; +Health? _health; + +/// 오늘 걸음 — **Health Connect(Android) · HealthKit(iOS)** 의 그 날 0시(KST)부터 지금까지 합계. +/// +/// 견적서 「만보기(Health API)」 · 별첨 1 ③-1 「Health 권한 동의 → 걸음 집계」 · 정책 원장 **B-26** +/// 「권한 거부 시 앱 자체 집계 전환」. 기기 걸음 센서는 앱을 연 뒤부터만 세므로(앱 열기 전 걸음 누락 — +/// 대조표 B-02) 이 값이 1차 경로이고, Health 를 쓸 수 없을 때(Health Connect 미설치 · 권한 거부 · +/// HealthKit 미지원)만 null 을 내 센서 경로로 넘긴다. 판정은 여전히 서버가 한다. +/// +/// 🟡 **임시값 — 회신 대기**(해석 확인 요청 영역B Q-B-09): 사용자가 건강 앱에 **직접 입력한 걸음은 +/// 빼고** 센다(`includeManualEntry: false`). 자료에 정의가 없고, 넣으면 손으로 숫자를 적어 구간을 +/// 받는다. Android 는 기록 앱이 입력 방식을 남기지 않으면 걸러지지 않는다(플러그인 문서). +/// +/// ponytail: iOS 는 읽기 권한 거부를 알려 주지 않는다(HealthKit 개인정보 정책 — 거부해도 0 이 온다). +/// 그래서 iOS 에서 0 이면 센서 경로로 넘긴다. 실제로 0 걸음인 날은 센서도 0 이라 결과가 같다. +Future deviceTodaySteps() async { + try { + final health = _health ??= Health(); + final ok = await (_healthAuthorized ??= () async { + await health.configure(); + if (Platform.isAndroid && + await health.getHealthConnectSdkStatus() != HealthConnectSdkStatus.sdkAvailable) { + return false; + } + const types = [HealthDataType.STEPS]; + const access = [HealthDataAccess.READ]; + return await health.hasPermissions(types, permissions: access) == true || + await health.requestAuthorization(types, permissions: access); + }()); + if (!ok) { + _healthAuthorized = null; + return null; + } + final now = DateTime.now(); + final steps = await health.getTotalStepsInInterval( + kstMidnight(now), + now, + includeManualEntry: false, + ); + if (steps == null || (Platform.isIOS && steps == 0)) return null; + return steps; + } catch (_) { + _healthAuthorized = null; + return null; + } +} + /// 오늘 걸은 수 — **하루 단위 기준선**. /// /// 걸음 센서가 주는 값은 [deviceStepCount] 설명대로 **부팅 이후 누적**이다. 정책 원장 diff --git a/app/lib/features/quest/quest_repository_firestore.dart b/app/lib/features/quest/quest_repository_firestore.dart index d83c997..088d88b 100644 --- a/app/lib/features/quest/quest_repository_firestore.dart +++ b/app/lib/features/quest/quest_repository_firestore.dart @@ -1,6 +1,7 @@ import 'dart:async'; import 'package:cloud_firestore/cloud_firestore.dart'; +import 'package:firebase_storage/firebase_storage.dart' show SettableMetadata; import '../../core/data/backend.dart'; import '../../core/data/server_clock.dart'; @@ -28,16 +29,19 @@ class FirestoreQuestRepository implements QuestRepository { FirestoreQuestRepository( this._backend, { StepCountProbe stepCount = deviceStepCount, + TodayStepsProbe todaySteps = deviceTodaySteps, PlaceProbe placeFix = devicePlaceFix, ShakeProbe shakes = deviceShakes, WalkBaseline? baseline, }) : _stepCount = stepCount, + _todaySteps = todaySteps, _placeFix = placeFix, _shakes = shakes, _baseline = baseline ?? WalkBaseline(); final Backend _backend; final StepCountProbe _stepCount; + final TodayStepsProbe _todaySteps; final PlaceProbe _placeFix; final ShakeProbe _shakes; @@ -249,9 +253,23 @@ class FirestoreQuestRepository implements QuestRepository { moderationReason: quest['moderation'] is Map ? (quest['moderation'] as Map)['reason'] as String? : null, + verifyMethods: _verifyMethodsOf(quest), + qrCode: quest.strOr('authorUid') == uid && _verifyMethodsOf(quest).contains('qr') + ? await db + .doc('questSecrets/$questId') + .get() + .then((s) => s.data()?['qrCode'] as String?, onError: (Object _) => null) + : null, ); } + /// 위치 Quest 의 인증 수단(C-03). 문서에 없으면 GPS 하나다(운영 Quest · 예전 문서). + List _verifyMethodsOf(Map quest) { + final raw = quest['verifyMethods']; + final methods = raw is List ? raw.whereType().toList() : []; + return methods.isEmpty ? const ['gps'] : methods; + } + QuestLink _link(Map m) => QuestLink( url: m.strOr('url'), status: m.strOr('status'), @@ -476,6 +494,7 @@ class FirestoreQuestRepository implements QuestRepository { if (draft.pin case final pin?) 'pin': {'lat': pin.lat, 'lng': pin.lng, 'address': pin.name}, if (draft.goal != null) 'goal': draft.goal, + if (draft.extraVerify.isNotEmpty) 'extraVerify': draft.extraVerify, }); return result.strOr('questId'); } @@ -489,16 +508,37 @@ class FirestoreQuestRepository implements QuestRepository { @override Stream progressStream(QuestCard card) { if (card.type != QuestType.steps) return const Stream.empty(); - // 센서는 부팅 이후 누적을 준다. 하루 단위 기준선을 빼야 정책 원장 **B-26** 의 - // 구간(1 천·5 천·1 만·1.5 만보)과 같은 것을 세게 된다. - return _stepCount().asyncMap((cumulative) async { - _walkSteps = await _baseline.todaySteps(cumulative); - return _walkSteps; - }); + return _steps(); + } + + /// Health 걸음 갱신 주기. Health Connect · HealthKit 은 변경을 밀어 주지 않아 다시 묻는다. + static const _healthPoll = Duration(seconds: 15); + + /// 오늘 걸음 — Health(0시 KST 부터 합계, B-02)가 1차, 못 쓰면 기기 센서(B-26 「권한 거부 시 앱 자체 집계」). + Stream _steps() async* { + var health = await _todaySteps(); + if (health == null) { + // 센서는 부팅 이후 누적을 준다. 하루 단위 기준선을 빼야 정책 원장 **B-26** 의 + // 구간(1 천·5 천·1 만·1.5 만보)과 같은 것을 세게 된다. + yield* _stepCount().asyncMap((cumulative) async { + _walkSteps = await _baseline.todaySteps(cumulative); + return _walkSteps; + }); + return; + } + while (true) { + _walkSteps = health!; + yield health; + await Future.delayed(_healthPoll); + health = await _todaySteps() ?? health; + } } @override - Future verify(QuestCard card) async { + Future verify( + QuestCard card, { + PlaceProof proof = const PlaceProof(), + }) async { // 열린 TIME ATTACK 회차 — 원 Quest 유형과 무관하게 회차 참여로 보낸다(10/3 통합회신 Q-TA-01). final reason = card.endsAt != null ? null : card.type.blockedReason; if (reason != null) throw BackendException('E-QST-01', reason); @@ -511,7 +551,7 @@ class FirestoreQuestRepository implements QuestRepository { // 쓰고 앱은 문서 ID 로 읽어, 지급은 되는데 화면은 「시작하기」에 머문다. QuestType.attend => await _backend.call('fnQuestAttend', {'questId': card.id}), QuestType.steps => await _verifySteps(card), - QuestType.place => await _verifyPlace(card), + QuestType.place => await _verifyPlace(card, proof), // Community 는 서버가 응원글 · 반응을 확인해 즉시 지급한다(C-11). 증거를 싣지 않는다. QuestType.community => await _backend.call('fnQuestSubmit', {'questId': card.id}), // 무보상 참여(C-04) — POP 원장 없이 참여 기록 · FPI 원천만 남는다. @@ -630,7 +670,7 @@ class FirestoreQuestRepository implements QuestRepository { }); } - Future> _verifyPlace(QuestCard card) async { + Future> _verifyPlace(QuestCard card, PlaceProof proof) async { final quest = await _backend.db .doc('quests/${card.id}') .get() @@ -642,7 +682,23 @@ class FirestoreQuestRepository implements QuestRepository { throw BackendException('E-QST-03', appL10n.questNoPlace); } final fix = await _placeFix(); + // 사진은 Storage 에 올리고 경로를 보낸다 — 서버가 접두(본인 · 이 Quest)와 파일 존재를 다시 본다. + String? photoPath; + if (proof.photo case final bytes?) { + photoPath = + 'questProofs/${_backend.requireUid}/${card.id}/${DateTime.now().millisecondsSinceEpoch}.jpg'; + try { + await _backend.storage + .ref(photoPath) + .putData(bytes, SettableMetadata(contentType: 'image/jpeg')); + } on FirebaseException { + throw BackendException('E-QST-01', appL10n.photoUploadFailed); + } + } return _backend.call('fnQuestVerifyPlace', { + // 추가 인증 수단(C-03) — GPS 와 함께 보낸다. 판정은 서버가 한다. + if (proof.qr case final qr? when qr.isNotEmpty) 'qr': qr, + 'photo': ?photoPath, // 참여 횟수는 Quest 단위로 센다(정책 원장 C-12 — 같은 장소의 다른 Quest 는 별개). 'questId': card.id, 'placeId': placeId, diff --git a/app/lib/l10n/app_en.arb b/app/lib/l10n/app_en.arb index 033a66f..fd42886 100644 --- a/app/lib/l10n/app_en.arb +++ b/app/lib/l10n/app_en.arb @@ -873,5 +873,13 @@ "homeWeeklyRankValue": "#{rank}", "homeWeeklyGrowth": "Growth this week", "homeWeeklyMine": "My contribution this week", - "homeWeeklyBalance": "My POP" + "homeWeeklyBalance": "My POP", + "questVerifyMethods": "Verification", + "questVerifyGps": "GPS", + "questVerifyPhoto": "Photo", + "questVerifyQr": "QR", + "questExtraVerify": "Extra verification (with GPS)", + "questScanQr": "Scan the on-site QR", + "questScanQrDenied": "Can't open the camera. Allow camera access in Settings.", + "questQrForPlace": "Verification QR to post on site" } diff --git a/app/lib/l10n/app_es.arb b/app/lib/l10n/app_es.arb index f40f4ec..7d063ed 100644 --- a/app/lib/l10n/app_es.arb +++ b/app/lib/l10n/app_es.arb @@ -873,5 +873,13 @@ "homeWeeklyRankValue": "#{rank}", "homeWeeklyGrowth": "Crecimiento semanal", "homeWeeklyMine": "Mi aporte semanal", - "homeWeeklyBalance": "Mis POP" + "homeWeeklyBalance": "Mis POP", + "questVerifyMethods": "Verificación", + "questVerifyGps": "GPS", + "questVerifyPhoto": "Foto", + "questVerifyQr": "QR", + "questExtraVerify": "Verificación adicional (con GPS)", + "questScanQr": "Escanea el QR del lugar", + "questScanQrDenied": "No se puede abrir la cámara. Permite el acceso en Ajustes.", + "questQrForPlace": "QR de verificación para colocar en el lugar" } diff --git a/app/lib/l10n/app_ja.arb b/app/lib/l10n/app_ja.arb index a74fac4..f227c5f 100644 --- a/app/lib/l10n/app_ja.arb +++ b/app/lib/l10n/app_ja.arb @@ -873,5 +873,13 @@ "homeWeeklyRankValue": "{rank}位", "homeWeeklyGrowth": "今週の成長", "homeWeeklyMine": "今週の私の貢献", - "homeWeeklyBalance": "保有POP" + "homeWeeklyBalance": "保有POP", + "questVerifyMethods": "認証方法", + "questVerifyGps": "GPS", + "questVerifyPhoto": "写真", + "questVerifyQr": "QR", + "questExtraVerify": "追加認証(GPSと一緒に)", + "questScanQr": "現地のQRをスキャン", + "questScanQrDenied": "カメラを開けません。設定でカメラへのアクセスを許可してください。", + "questQrForPlace": "現地に掲示する認証QR" } diff --git a/app/lib/l10n/app_ko.arb b/app/lib/l10n/app_ko.arb index ee6fe93..e4d51e7 100644 --- a/app/lib/l10n/app_ko.arb +++ b/app/lib/l10n/app_ko.arb @@ -1827,5 +1827,13 @@ }, "homeWeeklyGrowth": "이번 주 성장", "homeWeeklyMine": "이번 주 내 기여", - "homeWeeklyBalance": "보유 POP" + "homeWeeklyBalance": "보유 POP", + "questVerifyMethods": "인증 방법", + "questVerifyGps": "GPS", + "questVerifyPhoto": "사진", + "questVerifyQr": "QR", + "questExtraVerify": "추가 인증 (GPS 와 함께)", + "questScanQr": "현장 QR 스캔", + "questScanQrDenied": "카메라를 열 수 없어요. 설정에서 카메라 권한을 허용해 주세요.", + "questQrForPlace": "현장에 붙일 인증 QR" } diff --git a/app/lib/l10n/app_localizations.dart b/app/lib/l10n/app_localizations.dart index 696d052..fb2600f 100644 --- a/app/lib/l10n/app_localizations.dart +++ b/app/lib/l10n/app_localizations.dart @@ -5359,6 +5359,54 @@ abstract class AppLocalizations { /// In ko, this message translates to: /// **'보유 POP'** String get homeWeeklyBalance; + + /// No description provided for @questVerifyMethods. + /// + /// In ko, this message translates to: + /// **'인증 방법'** + String get questVerifyMethods; + + /// No description provided for @questVerifyGps. + /// + /// In ko, this message translates to: + /// **'GPS'** + String get questVerifyGps; + + /// No description provided for @questVerifyPhoto. + /// + /// In ko, this message translates to: + /// **'사진'** + String get questVerifyPhoto; + + /// No description provided for @questVerifyQr. + /// + /// In ko, this message translates to: + /// **'QR'** + String get questVerifyQr; + + /// No description provided for @questExtraVerify. + /// + /// In ko, this message translates to: + /// **'추가 인증 (GPS 와 함께)'** + String get questExtraVerify; + + /// No description provided for @questScanQr. + /// + /// In ko, this message translates to: + /// **'현장 QR 스캔'** + String get questScanQr; + + /// No description provided for @questScanQrDenied. + /// + /// In ko, this message translates to: + /// **'카메라를 열 수 없어요. 설정에서 카메라 권한을 허용해 주세요.'** + String get questScanQrDenied; + + /// No description provided for @questQrForPlace. + /// + /// In ko, this message translates to: + /// **'현장에 붙일 인증 QR'** + String get questQrForPlace; } class _AppLocalizationsDelegate diff --git a/app/lib/l10n/app_localizations_en.dart b/app/lib/l10n/app_localizations_en.dart index f213c50..3381d38 100644 --- a/app/lib/l10n/app_localizations_en.dart +++ b/app/lib/l10n/app_localizations_en.dart @@ -3049,4 +3049,29 @@ class AppLocalizationsEn extends AppLocalizations { @override String get homeWeeklyBalance => 'My POP'; + + @override + String get questVerifyMethods => 'Verification'; + + @override + String get questVerifyGps => 'GPS'; + + @override + String get questVerifyPhoto => 'Photo'; + + @override + String get questVerifyQr => 'QR'; + + @override + String get questExtraVerify => 'Extra verification (with GPS)'; + + @override + String get questScanQr => 'Scan the on-site QR'; + + @override + String get questScanQrDenied => + 'Can\'t open the camera. Allow camera access in Settings.'; + + @override + String get questQrForPlace => 'Verification QR to post on site'; } diff --git a/app/lib/l10n/app_localizations_es.dart b/app/lib/l10n/app_localizations_es.dart index d8e6748..5004711 100644 --- a/app/lib/l10n/app_localizations_es.dart +++ b/app/lib/l10n/app_localizations_es.dart @@ -3066,4 +3066,29 @@ class AppLocalizationsEs extends AppLocalizations { @override String get homeWeeklyBalance => 'Mis POP'; + + @override + String get questVerifyMethods => 'Verificación'; + + @override + String get questVerifyGps => 'GPS'; + + @override + String get questVerifyPhoto => 'Foto'; + + @override + String get questVerifyQr => 'QR'; + + @override + String get questExtraVerify => 'Verificación adicional (con GPS)'; + + @override + String get questScanQr => 'Escanea el QR del lugar'; + + @override + String get questScanQrDenied => + 'No se puede abrir la cámara. Permite el acceso en Ajustes.'; + + @override + String get questQrForPlace => 'QR de verificación para colocar en el lugar'; } diff --git a/app/lib/l10n/app_localizations_ja.dart b/app/lib/l10n/app_localizations_ja.dart index a3cf449..759be99 100644 --- a/app/lib/l10n/app_localizations_ja.dart +++ b/app/lib/l10n/app_localizations_ja.dart @@ -2944,4 +2944,28 @@ class AppLocalizationsJa extends AppLocalizations { @override String get homeWeeklyBalance => '保有POP'; + + @override + String get questVerifyMethods => '認証方法'; + + @override + String get questVerifyGps => 'GPS'; + + @override + String get questVerifyPhoto => '写真'; + + @override + String get questVerifyQr => 'QR'; + + @override + String get questExtraVerify => '追加認証(GPSと一緒に)'; + + @override + String get questScanQr => '現地のQRをスキャン'; + + @override + String get questScanQrDenied => 'カメラを開けません。設定でカメラへのアクセスを許可してください。'; + + @override + String get questQrForPlace => '現地に掲示する認証QR'; } diff --git a/app/lib/l10n/app_localizations_ko.dart b/app/lib/l10n/app_localizations_ko.dart index 047365e..fac5751 100644 --- a/app/lib/l10n/app_localizations_ko.dart +++ b/app/lib/l10n/app_localizations_ko.dart @@ -2948,4 +2948,28 @@ class AppLocalizationsKo extends AppLocalizations { @override String get homeWeeklyBalance => '보유 POP'; + + @override + String get questVerifyMethods => '인증 방법'; + + @override + String get questVerifyGps => 'GPS'; + + @override + String get questVerifyPhoto => '사진'; + + @override + String get questVerifyQr => 'QR'; + + @override + String get questExtraVerify => '추가 인증 (GPS 와 함께)'; + + @override + String get questScanQr => '현장 QR 스캔'; + + @override + String get questScanQrDenied => '카메라를 열 수 없어요. 설정에서 카메라 권한을 허용해 주세요.'; + + @override + String get questQrForPlace => '현장에 붙일 인증 QR'; } diff --git a/app/lib/l10n/app_localizations_zh.dart b/app/lib/l10n/app_localizations_zh.dart index c1d2e80..66d804a 100644 --- a/app/lib/l10n/app_localizations_zh.dart +++ b/app/lib/l10n/app_localizations_zh.dart @@ -2940,4 +2940,28 @@ class AppLocalizationsZh extends AppLocalizations { @override String get homeWeeklyBalance => '持有POP'; + + @override + String get questVerifyMethods => '认证方式'; + + @override + String get questVerifyGps => 'GPS'; + + @override + String get questVerifyPhoto => '照片'; + + @override + String get questVerifyQr => '二维码'; + + @override + String get questExtraVerify => '附加认证(与GPS一起)'; + + @override + String get questScanQr => '扫描现场二维码'; + + @override + String get questScanQrDenied => '无法打开相机。请在设置中允许相机权限。'; + + @override + String get questQrForPlace => '张贴在现场的认证二维码'; } diff --git a/app/lib/l10n/app_zh.arb b/app/lib/l10n/app_zh.arb index 45fe622..62524f7 100644 --- a/app/lib/l10n/app_zh.arb +++ b/app/lib/l10n/app_zh.arb @@ -873,5 +873,13 @@ "homeWeeklyRankValue": "第{rank}名", "homeWeeklyGrowth": "本周成长", "homeWeeklyMine": "本周我的贡献", - "homeWeeklyBalance": "持有POP" + "homeWeeklyBalance": "持有POP", + "questVerifyMethods": "认证方式", + "questVerifyGps": "GPS", + "questVerifyPhoto": "照片", + "questVerifyQr": "二维码", + "questExtraVerify": "附加认证(与GPS一起)", + "questScanQr": "扫描现场二维码", + "questScanQrDenied": "无法打开相机。请在设置中允许相机权限。", + "questQrForPlace": "张贴在现场的认证二维码" } diff --git a/app/lib/l10n/remote_app_localizations.dart b/app/lib/l10n/remote_app_localizations.dart index 3fea589..18c2aaa 100644 --- a/app/lib/l10n/remote_app_localizations.dart +++ b/app/lib/l10n/remote_app_localizations.dart @@ -1957,6 +1957,9 @@ class RemoteAppLocalizations extends AppLocalizations { @override String get questEvidenceUrl => _remote['questEvidenceUrl'] ?? _base.questEvidenceUrl; + @override + String get questExtraVerify => _remote['questExtraVerify'] ?? _base.questExtraVerify; + @override String questFreeDailyCap(String cap) => _fill('questFreeDailyCap', {'cap': cap}) ?? _base.questFreeDailyCap(cap); @@ -2050,6 +2053,9 @@ class RemoteAppLocalizations extends AppLocalizations { @override String get questPreviewHint => _remote['questPreviewHint'] ?? _base.questPreviewHint; + @override + String get questQrForPlace => _remote['questQrForPlace'] ?? _base.questQrForPlace; + @override String get questReject => _remote['questReject'] ?? _base.questReject; @@ -2107,6 +2113,12 @@ class RemoteAppLocalizations extends AppLocalizations { @override String get questRewardReceived => _remote['questRewardReceived'] ?? _base.questRewardReceived; + @override + String get questScanQr => _remote['questScanQr'] ?? _base.questScanQr; + + @override + String get questScanQrDenied => _remote['questScanQrDenied'] ?? _base.questScanQrDenied; + @override String get questStart => _remote['questStart'] ?? _base.questStart; @@ -2176,6 +2188,18 @@ class RemoteAppLocalizations extends AppLocalizations { @override String get questUnderReview => _remote['questUnderReview'] ?? _base.questUnderReview; + @override + String get questVerifyGps => _remote['questVerifyGps'] ?? _base.questVerifyGps; + + @override + String get questVerifyMethods => _remote['questVerifyMethods'] ?? _base.questVerifyMethods; + + @override + String get questVerifyPhoto => _remote['questVerifyPhoto'] ?? _base.questVerifyPhoto; + + @override + String get questVerifyQr => _remote['questVerifyQr'] ?? _base.questVerifyQr; + @override String get rankEmpty => _remote['rankEmpty'] ?? _base.rankEmpty; diff --git a/app/pubspec.lock b/app/pubspec.lock index b420932..b9bc053 100644 --- a/app/pubspec.lock +++ b/app/pubspec.lock @@ -65,6 +65,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.2" + carp_serializable: + dependency: transitive + description: + name: carp_serializable + sha256: f039f8ea22e9437aef13fe7e9743c3761c76d401288dcb702eadd273c3e4dcef + url: "https://pub.dev" + source: hosted + version: "2.0.1" cel: dependency: transitive description: @@ -217,6 +225,22 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.0" + device_info_plus: + dependency: transitive + description: + name: device_info_plus + sha256: b4fed1b2835da9d670d7bed7db79ae2a94b0f5ad6312268158a9b5479abbacdd + url: "https://pub.dev" + source: hosted + version: "12.4.0" + device_info_plus_platform_interface: + dependency: transitive + description: + name: device_info_plus_platform_interface + sha256: e1ea89119e34903dca74b883d0dd78eb762814f97fb6c76f35e9ff74d261a18f + url: "https://pub.dev" + source: hosted + version: "7.0.3" dio: dependency: transitive description: @@ -655,6 +679,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.3" + health: + dependency: "direct main" + description: + name: health + sha256: "2d9e119f3a1d281139f93149b41032b9f80b759960875bc784c5a25dd3c17524" + url: "https://pub.dev" + source: hosted + version: "13.3.1" hooks: dependency: transitive description: @@ -956,6 +988,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.0" + mobile_scanner: + dependency: "direct main" + description: + name: mobile_scanner + sha256: "5a51ea79f0cf8293f616a5d08baae185b59b5e6bb24df01f2a63037ade0bade0" + url: "https://pub.dev" + source: hosted + version: "7.4.2" mock_exceptions: dependency: transitive description: @@ -1172,6 +1212,22 @@ packages: url: "https://pub.dev" source: hosted version: "2.2.1" + qr: + dependency: transitive + description: + name: qr + sha256: "5a1d2586170e172b8a8c8470bbbffd5eb0cd38a66c0d77155ea138d3af3a4445" + url: "https://pub.dev" + source: hosted + version: "3.0.2" + qr_flutter: + dependency: "direct main" + description: + name: qr_flutter + sha256: "5095f0fc6e3f71d08adef8feccc8cea4f12eec18a2e31c2e8d82cb6019f4b097" + url: "https://pub.dev" + source: hosted + version: "4.1.0" record_use: dependency: transitive description: @@ -1561,6 +1617,14 @@ packages: url: "https://pub.dev" source: hosted version: "5.15.0" + win32_registry: + dependency: transitive + description: + name: win32_registry + sha256: "6f1b564492d0147b330dd794fee8f512cec4977957f310f9951b5f9d83618dae" + url: "https://pub.dev" + source: hosted + version: "2.1.0" wkt_parser: dependency: transitive description: diff --git a/app/pubspec.yaml b/app/pubspec.yaml index 480a095..e904878 100644 --- a/app/pubspec.yaml +++ b/app/pubspec.yaml @@ -123,6 +123,15 @@ dependencies: flutter_map: ^8.3.2 latlong2: ^0.10.1 geocoding: ^5.0.0 + # 만보기 걸음 수 — Health Connect(Android) · HealthKit(iOS) 의 그 날 0시부터 합계(견적서 「만보기(Health + # API)」 · 대조표 B-02). 2주차 선검증리포트 §2 가 채택한 13.3.1 그대로다. 못 쓰면 위 pedometer 로 센다(B-26). + # 최소 OS 하한 영향 없음(선검증 §3.5 에 이미 들어간 값): Android minSdk 26(앱 29) · iOS 14.0(앱 15.0). + health: ^13.3.1 + # 위치 Quest QR 인증 — 현장 QR 스캔(원장 C-03 · PRD-05). iOS 는 Apple Vision, Android 는 ML Kit 번들. + # 최소 OS 하한 영향 없음: Android minSdk 23(앱 29) · iOS 12.0(앱 15.0). + mobile_scanner: ^7.4.2 + # 생성자 상세의 「현장에 붙일 인증 QR」 그리기. 순수 Dart 라 네이티브 하한이 없다. + qr_flutter: ^4.1.0 dev_dependencies: flutter_test: diff --git a/app/test/f4_screens_test.dart b/app/test/f4_screens_test.dart index 550183f..f70b6db 100644 --- a/app/test/f4_screens_test.dart +++ b/app/test/f4_screens_test.dart @@ -532,7 +532,10 @@ class _AdRepo extends SampleQuestRepository { var verified = 0; @override - Future verify(QuestCard card) async { + Future verify( + QuestCard card, { + PlaceProof proof = const PlaceProof(), + }) async { verified += 1; if (verifyError case final error?) throw error; return super.verify(card); diff --git a/app/test/home_weekly_test.dart b/app/test/home_weekly_test.dart index 162a35e..b0bfcd4 100644 --- a/app/test/home_weekly_test.dart +++ b/app/test/home_weekly_test.dart @@ -1,5 +1,6 @@ import 'package:fancake/features/home/home_data.dart'; import 'package:fancake/features/home/home_repository_firestore.dart' show kstWeekStart; +import 'package:fancake/features/quest/quest_evidence.dart' show kstMidnight; import 'package:flutter_test/flutter_test.dart'; /// HOME 주간 정보(A-37 · HOME 정보위계 v1.0 §2 · §3). @@ -50,6 +51,14 @@ void main() { expect(none.rank, isNull); }); + test('만보기 Health 집계 시작은 그 날 0시(KST) — 서버 dayKey 와 같은 경계 (B-02)', () { + // 10-07 00:30 KST(= 10-06 15:30 UTC) → 10-07 00:00 KST = 10-06 15:00 UTC. + expect( + kstMidnight(DateTime.parse('2026-10-06T15:30:00Z')), + DateTime.parse('2026-10-06T15:00:00Z'), + ); + }); + test('이번 주 시작은 KST 월요일 00:00', () { // 2026-10-07(수) 15:00 KST → 2026-10-05(월) 00:00 KST = 10-04 15:00 UTC. expect( diff --git a/app/test/planet_fx_test.dart b/app/test/planet_fx_test.dart index ff1b340..bce49c7 100644 --- a/app/test/planet_fx_test.dart +++ b/app/test/planet_fx_test.dart @@ -18,10 +18,9 @@ void main() { }); test('생성 때 고른 형태가 HOME · GALAXY · 상세 · MY 그림을 정한다 (A-08 · Figma 344:214421)', () { - for (var i = 1; i <= 5; i++) { + for (var i = 1; i <= 6; i++) { expect(planetShapeImage('shape$i'), 'assets/figma/planet-shape-$i.png'); } - expect(planetShapeImage('shape6'), 'assets/figma/planet-shape-placeholder.png'); expect(planetShapeImage(null), isNull, reason: '성운 · 옛 행성은 화면이 준 그림'); expect(planetShapeImage('shape7'), isNull); // 생성 화면이 보내는 키와 같은 표여야 한다. diff --git a/app/test/quest_repository_test.dart b/app/test/quest_repository_test.dart index 5bac9b3..26bdad2 100644 --- a/app/test/quest_repository_test.dart +++ b/app/test/quest_repository_test.dart @@ -230,6 +230,20 @@ service cloud.firestore { expect(backend.calls.single.payload['occurredAt'], isA()); }); + test('Health 가 있으면 그 날 0시부터의 합계를 센서보다 먼저 쓴다 (B-02)', () async { + final db = await _seed(); + final backend = _RecordingBackend(db); + final repo = FirestoreQuestRepository( + backend, + todaySteps: () async => 7_300, + stepCount: () => Stream.fromIterable([40_000]), + ); + final card = _card(await repo.load(), 'steps'); + expect(await repo.progressStream(card).first, 7_300); + await repo.verify(card); + expect(backend.calls.single.payload['steps'], 7_300); + }); + test('앱을 껐다 켜도 오늘치가 0 으로 돌아가지 않는다', () async { final db = await _seed(); // 첫 실행 — 기준선 40,000 을 잡고 5,000 걷는다. @@ -300,6 +314,29 @@ service cloud.firestore { expect(call.payload['mocked'], isTrue); }); + test('위치 Quest 의 인증 방법을 상세에 싣고 QR 은 GPS 와 함께 보낸다 (C-03 · PRD-05)', () async { + final db = await _seed(); + final backend = _RecordingBackend(db); + final repo = FirestoreQuestRepository( + backend, + placeFix: () async => + const PlaceFix(lat: 37.5, lng: 126.9, accuracyM: 5, mocked: false), + ); + // 수단을 적지 않은 운영 Quest 는 GPS 하나. + expect((await repo.detail('place')).verifyMethods, ['gps']); + await db.doc('quests/place').update({'verifyMethods': ['gps', 'qr']}); + await db.doc('questSecrets/place').set({'authorUid': 'other', 'qrCode': 'secret'}); + final detail = await repo.detail('place'); + expect(detail.verifyMethods, ['gps', 'qr']); + expect(detail.qrCode, isNull, reason: '참여자에게는 QR 값을 주지 않는다'); + + await repo.verify(detail.card, proof: const PlaceProof(qr: 'scanned')); + final call = backend.calls.single; + expect(call.payload['qr'], 'scanned'); + expect(call.payload['lat'], 37.5); + expect(call.payload.containsKey('photo'), isFalse); + }); + test('장소가 등록되지 않은 위치 퀘스트는 서버를 부르지 않는다', () async { final db = await _seed(); await db.doc('quests/place').set({