🏠 홈 🛠️ 웹툴
맨발걷기 메뉴구조 + 걷기상세
📋 상세 🔑 로그인
🏠 홈 🛠️ 웹툴 목록 📋 상세 🔑 로그인
통합 정보구조 · 초보자 중심 재배치

하나의 앱으로 합치기
메뉴 구조 + 걷기 상세

시민과학 기록(기저치·일일기록·리포트)과 걷기(코스·히스토리·통계), 그리고 서버 전송을 탭 4개로 재배분했습니다. 핵심 판단은 하나입니다 — 동기화는 탭이 아닙니다. 참여자가 신경 쓸 일이 아니라 앱이 알아서 할 일이므로, 평소엔 작은 표시로만 두고 문제가 생겼을 때만 앞으로 꺼냅니다.

DOCUX-UNIFIED
REVv0.4 / DRAFT
TABS4
SCREENS43
TARGET중장년 · 초보
초보자 설계 원칙 한 화면 한 과업 ONE TASK 단계적 공개 PROGRESSIVE 알아서 처리 AUTOMATIC 쉬운 말 PLAIN WORDS
MAP

통합 메뉴 구조 · 탭 4개

사용 빈도 순으로 배치했습니다. 매일 쓰는 것은 앞에, 가끔 쓰는 것은 뒤에.

왜 5개가 아니라 4개인가 기존 두 문서의 탭을 그대로 합치면 홈·기록·걷기·리포트·동기화·설정 6개가 됩니다. 여기서 동기화는 '더보기' 안으로(참여자 과업이 아님), 리포트는 '내 기록' 안으로(기록과 결과는 한 묶음) 넣어 4개로 줄였습니다. 탭이 적을수록 초보자가 길을 잃지 않습니다.

아래 탭 카드를 누르면 각 탭의 상세 설계로 이동합니다. 개발 착수용 화면 목록·API 매핑표 ↓도 문서 끝에 있습니다. 특히 '걷기' 카드는 코스 기반 14개 화면 상세로 연결됩니다.

v0.4 · UX 상세기획서 반영 별도 기획서(md)의 내용을 다음과 같이 흡수했습니다. 기획서의 '변화' 탭 → 내 기록 › 내 변화, '연구' 탭 → 더보기 › 연구 참여 정보로 매핑되어 탭 4개 구조는 유지됩니다. 새로 추가: T1S 안전·적합성 확인, 결측 4종 구분(없음/모름/측정 못함/답변 안 함), L3R 제출 전 검토(차단 없는 품질 플래그), SAFE 안전 응답 분기, 알림 설계 원칙(하루 2회 상한), 개발 인수 기준 7항. 기획서의 장소·노면 범주 입력은 코스 체크인의 폴백(W2 '목록에 없는 곳')으로 통합했습니다.
MOVE

기존 메뉴 → 새 위치 배분표

두 문서의 화면이 어디로 갔는지, 왜 옮겼는지.

기존 위치새 위치이유
시민과학 앱 · 홈오늘 유지매일 첫 화면. 다만 버튼을 2개로 줄여 단순화
시민과학 앱 · 일일 기록 3단계내 기록 › 오늘 기록하기입력과 결과를 한 탭에 묶어 왕복을 없앰
시민과학 앱 · 기저치 14일오늘 (단계 표시) 잠금준비 기간에는 걷기 탭을 잠그고 오늘 화면만 쓰게 함
시민과학 앱 · 리포트내 기록 › 내 변화탭 하나를 줄이고, 기록한 사람만 결과를 보는 흐름으로
걷기 메뉴 · 걷기 시작/코스/히스토리/통계걷기 ↓ 유지구조 그대로. 세그먼트로 4영역 전환
동기화 · 대시보드더보기 › 자료 보내기 숨김참여자 과업이 아님. 평소엔 '오늘' 화면의 작은 칩으로만
동기화 · 진행/오프라인자동 처리 비노출정상 동작은 알릴 필요가 없음. 조용히 처리
동기화 · 전송 실패오늘 상단 배너 승격사용자 조치가 필요한 유일한 경우라 가장 앞으로
동기화 · 설정(WiFi/충전)더보기 › 자료 보내기 › 설정한 번 정하면 안 바꾸는 항목
기기 연결 · 권한더보기 › 기기 연결온보딩에서 1회, 이후 문제 시에만 접근
U-01

첫 2주 · 준비 기간 (단계적 공개)

처음부터 모든 기능을 보여주지 않습니다. 준비 기간에는 할 일이 하나뿐입니다.

9:41● ● ●
U1 · 첫 실행
앱 심볼
맨발로 걸은 기록이
연구가 됩니다
매일 2분이면 충분해요. 어렵지 않습니다.
1단계 · 참여 동의 → 2단계 · 기기 연결 → 3단계 · 준비 기간
시작하기3분이면 끝나요
이미 참여 중이에요
쉬운 말'코호트' '기저치' 같은 용어를 첫 화면에서 제거. "매일 2분"처럼 부담을 숫자로 보여줍니다.
9:41● ● ●
U2 · 오늘 (준비 기간)
자료 보관 중
준비 기간 3일째
14일 중 3일 · 11일 남았어요
지금은 평소 상태를 기록하는 기간이에요.
아직 맨발로 걷지 마세요.
오늘 기록하기2분 · 아직 안 했어요
🔒 걷기준비 기간이 끝나면 열려요
오늘
걷기
내 기록
더보기
단계적 공개준비 기간엔 걷기 탭을 흐리게 잠급니다. 기능이 적을수록 초보자는 헤매지 않고, 방법론(기저치)도 자연히 지켜집니다.
9:41● ● ●
U3 · 준비 완료 · 기능 개방
🎉 축하 일러스트
준비 기간이 끝났어요
14일치 평소 상태를 모았습니다. 이제 이걸 기준으로 변화를 봅니다.
모은 기록14
이제 이런 기능이 열렸어요
걷기 시작코스 찾기내 변화
첫 걷기 시작하기가까운 코스를 찾아드려요
개방 순간을 이벤트로잠겨 있던 기능이 한 번에 열리는 경험이 준비 기간 14일을 버티게 하는 보상입니다.
U-02

매일 반복 · 하루 루틴

오늘 화면에 버튼은 두 개뿐입니다. 전송은 그 사이에서 조용히 일어납니다.

9:41● ● ●
U4 · 오늘 (본 참여)
12분 전 보냄
4주차 · 26일째
12주 목표까지 8주 남았어요
오늘 기록하기2분 · 아직 안 했어요
걷기 시작황성공원 · 1.2km
오늘은 걷지 않았어요
이번 주 변화 · 수면 +38분 ↗
오늘
걷기
내 기록
더보기
한 화면 한 과업오늘 화면의 역할은 "다음에 뭘 하면 되는지" 하나입니다. 통계·설정은 전부 다른 탭으로 밀어냈습니다.
9:41● ● ●
U5 · 내 기록 › 오늘 기록
오늘 기록지난 기록내 변화
1 / 3 · 몸 상태
잠 6시간 40분자동
심박 변이도 34자동
혈압 · 3번 재서 평균
124 / 82
📏 아침에 일어나 5분 쉬고 재세요
쉬운 말 WRD-02
다음마음 상태 3가지
용어 순화'객관 지표'→'몸 상태', '주관 지표'→'마음 상태', '교란변수'→'오늘 있었던 일'. 뜻은 같고 문턱만 낮춥니다.
자동 표시워치가 잰 값에는 '자동' 배지. 사용자가 손댈 곳과 아닌 곳을 색으로 구분합니다.
측정 메타데이터모든 값에 출처(자동/수동/수정)·측정 시각·기기 종류를 함께 저장합니다. 혈압은 3회 평균 여부까지. 원자료 신뢰도는 값이 아니라 메타데이터가 지킵니다.
9:41● ● ●
U6 · 걷기 (탭 2)
걷기코스기록통계
어디서 걸으실래요?
황성공원 천년 맨발길1.2km
황토숲속세족장
중랑천 맨발 황톳길2.8km
황토햇빛 많음
지도에서 찾기 →
이 코스로 시작걷는 건 알아서 감지해요
오늘
걷기
내 기록
더보기
알아서 처리걸음·시간·심박은 자동 측정. 사람이 하는 건 코스 고르기와 끝나고 확인하기 두 번뿐입니다.
9:41● ● ●
U7 · 하루 마무리
방금 보냄
✓ 오늘 완료 일러스트
오늘 몫을 다 하셨어요
기록완료
걷기31분 · 황성공원
이번 달 기록
26일 중 25일 기록 · 빈칸 1일
빠진 날 채우기
전송은 결과만"방금 보냄" 한 줄이면 충분합니다. 진행률·재시도·대기 건수는 보여주지 않습니다.
U-03

전송이 앞으로 나오는 유일한 경우

정상일 땐 숨기고, 사용자 조치가 필요할 때만 가장 앞으로 꺼냅니다.

9:41● ● ●
U8 · 오프라인 (조용히)
기기에 보관 중
4주차 · 27일째
12주 목표까지 8주 남았어요
오늘 기록하기2분 · 아직 안 했어요
걷기 시작황성공원 · 1.2km
인터넷이 없어도 기록은 됩니다.
연결되면 알아서 보내드려요.
방해 없음 AUT-02
오늘
걷기
내 기록
더보기
불안 제거오프라인은 오류가 아닙니다. 경고 대신 "기록은 됩니다"라는 안심 문구만. 초보자가 겁먹고 이탈하는 것을 막습니다.
9:41● ● ●
U9 · 조치 필요 (승격)
4주차 · 27일째
다시 로그인10초면 돼요
오늘 기록하기지금 해도 됩니다
지금까지 모은 기록 128건 · 유실 없음
유일한 승격 ONE-03
오늘
걷기
내 기록
더보기
조치 가능할 때만사용자가 해결할 수 있는 문제만 배너로 올립니다. 서버 지연·일시 오류는 앱이 재시도하고 알리지 않습니다.
9:41● ● ●
U10 · 더보기 › 자료 보내기
자료 보내기
연구소로 안전하게 전달되는 상태예요.
보낸 기록128건
보내는 중6건
마지막 전송12분 전
설정
와이파이에서만 보내기켜짐
자동으로 보내기켜짐
지금 바로 보내기
내 자료 내려받기
깊이 숨기되 접근은 가능궁금한 사람은 확인할 수 있게 두되, UUID·재시도·큐 같은 기술 용어는 노출하지 않습니다.
9:41● ● ●
U11 · 더보기
더보기
내 정보 · 참여 현황
기기 연결연결됨 ›
자료 보내기
알림 설정
글씨 크게켜짐
도움말 · 자주 묻는 질문
연구 참여 정보
글씨 크기 WRD-03
오늘
걷기
내 기록
더보기
접근성중장년 참여자가 많은 만큼 '글씨 크게'를 설정 상단에 둡니다. 기본 본문도 15px 이상, 버튼 높이 56px 이상.
TAB 1 상세

오늘 — 상태 머신

화면 1개 · 상태 6개
이 파트 한 화면 한 과업 단계적 공개 알아서 처리 쉬운 말 ↑ 통합 구조로
T-MAP

오늘 화면 상태 분기표

화면을 6개 만들지 마세요. 하나의 화면이 상태에 따라 다르게 보이는 구조입니다.

상태조건화면 모습가능한 행동조회 API
S0 미가입토큰 없음온보딩으로 강제 이동참여 시작
S1 준비기간baseline_day < 14D-day 카운터 · 걷기 잠금오늘 기록만GET /me/status/
S2 개방baseline_day == 14축하 · 기능 개방 안내첫 걷기 시작GET /me/status/
S3 미기록오늘 기록 없음버튼 2개 · 기록 강조기록 / 걷기 / 안 걸음GET /me/status/
S4 완료오늘 기록 있음완료 표시 · 지층변화 보기GET /me/summary/
S5 종료week ≥ 12최종 리포트 안내리포트 · 연장GET /me/summary/
S* 조치필요sync 401/403S1~S5 위에 배너 오버레이재로그인GET /sync/status/
개발 관점 오늘 탭은 화면이 하나이고 상태가 여섯입니다. 화면을 6개 만들지 말고 단일 화면 + 상태 머신으로 구현하세요. S*(조치필요)는 독립 상태가 아니라 다른 상태 위에 겹치는 오버레이입니다.
T-01

첫 실행 · 온보딩 4단계

동의 → 권한 → 준비기간 시작. 여기서 잠금이 걸립니다.

9:41● ● ●
T1 · 인트로
앱 심볼
맨발로 걸은 기록이
연구가 됩니다
매일 2분이면 충분해요.
시작하기3분이면 끝나요
이미 참여 중이에요
APIGET /protocol/current/ 먼저 호출 → 준비기간 일수·필수 항목을 서버에서 받아 이후 화면을 구성합니다.
9:41● ● ●
T1S · 안전·적합성 확인
참여 전 확인 · 1분
지금 상태를 확인할게요
발에 열린 상처가 있나요?
아니요모름
최근 심한 어지러움·가슴 통증이 있었나요?
아니요답변 안 함
발 감각이 무뎌지는 질환이 있나요?
아니요모름
진단이 아니라 안전을 위한 확인이에요
다음동의로 이동
위험 응답 분기"예" 응답 시 참여 보류 안내를 먼저 보여주고, 연구자가 허용한 기준일 때만 코디네이터 검토 요청을 제공합니다. 참여를 강요하지도, 의학적 판정을 내리지도 않습니다. 응답과 안내 노출 여부는 로그로 남깁니다.
9:41● ● ●
T2 · 참여 동의
연구 참여에 동의해 주세요
건강 정보라 반드시 확인이 필요해요.
동의서 본문 (v2)
✔ 연구 활용 동의필수
✔ 건강 정보 수집필수
□ 워치 수면·HRV 연동선택
□ 위치로 날씨 자동 기록선택
□ 결과 안내 받기선택
동의하고 계속언제든 철회할 수 있어요
APIPOST /consent/ · 동의서 버전·항목별 동의 여부·시각을 저장. IRB 감사 대상이라 철회 시에도 이력은 남습니다.
9:41● ● ●
T3 · 권한 · 기기 연결
건강 정보를 가져올게요
걷기 감지허용됨
건강 데이터 연결연결됨
잘 때도 읽기확인 필요
걸음심박
워치가 없어도 참여할 수 있어요
직접 입력으로 대체됩니다
다음건너뛰어도 됩니다
권한활동인식 + Health Connect. 수면 중 HRV까지 모으려면 백그라운드 읽기 권한이 별도로 필요합니다.
9:41● ● ●
T4 · 준비기간 안내
먼저 14일
평소 상태를 기록해요
비교할 기준이 있어야 변화를 알 수 있어요. 이 기간에는 아직 맨발로 걷지 않습니다.
기준선 → 변화 개념도
걷기 잠금 시작 PRG-01
준비 기간 시작오늘부터 14일
잠금 시작점이 버튼을 누른 시각이 baseline_start. 이후 14일간 걷기 탭이 잠깁니다.
T-02

오늘 화면 · 상태별 모습

같은 화면이 상태에 따라 이렇게 달라집니다.

9:41● ● ●
T5 · S1 준비기간
자료 보관 중
준비 기간 3일째
14일 중 3일 · 11일 남았어요
아직 맨발로 걷지 마세요
오늘 기록하기2분 · 아직 안 했어요
🔒 걷기11일 후에 열려요
오늘
걷기
내 기록
더보기
분기걷기 탭 자체를 비활성(opacity). 탭을 눌러도 잠금 안내만 뜹니다.
9:41● ● ●
T6 · S3 미기록
12분 전 보냄
4주차 · 26일째
12주 목표까지 8주 남았어요
오늘 기록하기2분 · 아직 안 했어요
걷기 시작황성공원 · 1.2km
오늘은 걷지 않았어요
오늘
걷기
내 기록
더보기
기본 상태가장 자주 보는 화면. 버튼 2개 + 안 걸음 1개 외에는 아무것도 넣지 않습니다.
9:41● ● ●
T7 · S4 완료
방금 보냄
✓ 오늘 완료
오늘 몫을 다 하셨어요
기록완료
걷기31분
이번 달
26일 중 25일 기록
빠진 날 채우기
오늘
걷기
내 기록
더보기
APIGET /me/summary/ 결과를 그대로 표시. 앱에서 재계산하지 않습니다.
9:41● ● ●
T8 · S5 12주 종료
🏁 12주 완주
12주를 채우셨습니다
78일을 기록해 주셨어요. 이 데이터가 연구에 쓰입니다.
기록한 날78 / 84
걸은 날61
최종 리포트 보기기저치 대비 12주 변화
계속 기록하기 (연장)
오늘
걷기
내 기록
더보기
이탈 방지종료를 끝으로 만들지 않고 연장 옵션을 둡니다. 장기 코호트일수록 가치가 큽니다.
TAB 2 상세

걷기 — 코스 기반 기록

통합 구조의 두 번째 탭 · 매일 사용
걷기 탭 설계 원칙 연구 변수 수집 VARIABLE 데이터 품질 등급 QUALITY 편향 방지 ANTI-BIAS 프라이버시 PRIVACY ↑ 통합 구조로
두 문서의 연결점 앞의 통합 구조에서 탭 2 '걷기'로 배정한 영역의 내부 설계입니다. 이 탭이 앱에서 가장 복잡한 곳이라, 초보자에게는 세그먼트 4개(걷기·코스·기록·통계)로만 보이고 나머지 깊이는 필요할 때 열립니다.
W-MAP

걷기 탭 내부 구조

통합 구조의 탭 2 '걷기' 내부입니다. 세그먼트로 4개 영역을 전환합니다.

① 걷기 시작
코스 선택 필수 · 변수 태깅
자동 감지 TRANSITION API
진행 화면 걸음 · 시간
종료 확인 맨발 여부 · 당일 지면
·
② 코스
지도 / 목록
내 주변 · 즐겨찾기
코스 상세 속성 · 집계 통계
코스 등록 C등급 · 검수 대기
단체 일정 운동본부 연계
·
③ 히스토리
캘린더 뷰 지층 · 결측 표시
지도 뷰 누적 흔적
리스트 뷰
세션 상세
·
④ 통계
기간별 요약 횟수 · km · 일수
코스별 기록
지면별 비교 황토 vs 잔디 …
기록 완결성 랭킹 아님
핵심 결정 '걷기 시작'은 항상 코스 선택을 거칩니다. 코스를 고르는 순간 지면·수목밀도·일조·살수 등 환경 변수 6~7개가 세션에 자동으로 붙습니다. 코스 없이 시작하면 그 세션은 연구에 쓸 수 없는 데이터가 됩니다.
W-01

걷기 시작 → 종료

코스 선택 → 자동 감지 → 진행 → 종료 확인. 종료 시 오늘의 실제 지면 상태를 보정합니다.

9:41● ● ●
W1 · 걷기 홈
오늘 걸어볼까요
최근 걸은 코스
황성공원 천년 맨발길1.2km
황토숲속세족장
중랑천 맨발 황톳길2.8km
황토개활
코스 고르고 시작하기
오늘은 걷지 않았어요
오늘
걷기
내 기록
더보기
편향 방지"걷지 않았어요"를 걷기 탭에도 배치. 안 걸은 날 기록이 걷기 기능 안에서 완결됩니다.
9:41● ● ●
W2 · 코스 선택 (필수)
내 주변즐겨찾기최근
계족산 황톳길4.1km
황토숲속14.5km
맨발 적합도 높음B
명지로 맨발산책길6.0km
마사토개활
보통 · 굵은 모래B
○○천 산책로0.9km
미확인
정보 부족C
지도에서 찾기 →
목록에 없는 곳에서 걸었어요
코스를 선택하세요
품질 등급A/B/C 배지를 선택 화면에서부터 노출. 참여자에겐 신뢰 신호, 연구엔 분석 필터가 됩니다.
난이도 재정의경사·거리 대신 '맨발 적합도'(지면 상태·이물질·세족 시설). 초심자 이탈을 막는 실질 정보.
코스 밖 걷기목록에 없는 곳(실내 매트 포함)은 노면·환경을 범주로 직접 입력받아 저장합니다. 좌표가 아니라 범주입니다. 세션에 코스 외 플래그가 붙어 분석 시 구분됩니다.
9:41● ● ●
W3 · 세션 진행
● 걷는 중 · 자동 감지
코스황성공원 천년 맨발길
코스 개요도 (경로 추적 아님)
걸음2,140
시간24:10
심박96bpm
경로 미저장 PRV-01
걷기 종료
프라이버시MVP는 코스 체크인 방식. 실시간 경로를 저장하지 않아 배터리·재식별 위험을 함께 줄입니다.
9:41● ● ●
W4 · 종료 확인
오늘 걷기를 확인해 주세요
맨발이었나요
맨발신발
오늘 지면 상태
마름촉촉질척
햇빛 노출 · 동행
거의 없음보통많음혼자동행
날씨 · 시간대
맑음아침
코스 기본 속성(황토·숲속)은 자동 적용됨
당일 변수 보정 VAR-02
세션 저장
변수 보정지면 습윤도는 그날그날 달라집니다. 코스 고정 속성과 별개로 당일 상태를 받아야 접지 전도도를 분리할 수 있습니다.
관찰값 보완햇빛·동행은 자동 추정이 아니라 사용자 관찰값으로 받습니다. 코스의 일조 속성(고정)과 당일 실제 노출(변동)은 다른 컬럼입니다.
W-02

코스 찾기 · 상세 · 등록

코스는 경로가 아니라 속성 묶음입니다. 상세 화면이 곧 연구 변수 명세서입니다.

9:41● ● ●
W5 · 코스 지도
지도목록
지도 · 코스 핀
(지면 유형별 색상 구분)
필터
황토마사토잔디 세족장 있음A·B등급만
해운대 바다 황톳길640m
습식건식질퍽
이 지역 코스 등록 요청
필터가 곧 설계'A·B등급만' 필터를 두면 참여자가 자연스럽게 검증 코스로 유도됩니다. 데이터 품질이 UX로 올라갑니다.
9:41● ● ●
W6 · 코스 상세
해운대 바다 황톳길 B
부산 해운대구 · 송림공원 · 640m / 폭 1.5m
환경 속성 (세션에 자동 태깅)
지면황토 · 습식/건식/질퍽
수목 밀도부분 그늘
일조 노출중간
살수 시설없음
시설 · 맨발 적합도
세족장24시간높음
이 코스를 걸은 1,204명
평균 HRV 변화 +5.2ms
자연 실험 단위 VAR-03
이 코스로 걷기 시작
코스 = 실험 단위집계 결과를 코스에 되돌려주면 참여자는 "내 데이터가 여기 쌓인다"를 체감합니다. 시민과학의 동기 구조입니다.
9:41● ● ●
W7 · 코스 등록
새 코스 등록
지도에서 위치 지정
코스명
○○공원 맨발길
지면 유형 · 필수
황토마사토잔디
수목 · 일조 · 필수
숲속부분그늘개활
사진 첨부 (검수용)
C등급으로 등록 QUA-02
등록 요청
운영자 검수 후 B등급 승격
등급 승격 경로사용자 등록은 C등급으로 격리. 사진·속성이 검수되면 B로, 지자체 확인이 되면 A로 올라갑니다.
9:41● ● ●
W8 · 단체 일정
우리 지역 걷기 일정
운동본부 · ○○지회
화요 정기 걷기매주 화 06:00
황성공원참여 24명
토요 아침 걷기매주 토 07:00
중랑천참여 41명
일정 참여 시 코스가 자동 지정됨
일정 신청
현장 체크인
조직력 활용단체 일정은 코스가 미리 확정되므로 변수 누락이 없습니다. 순응도 관리도 자연히 따라옵니다.
W-03

걸은 기록 · 세 가지 뷰

같은 데이터를 캘린더 / 지도 / 리스트로 전환. 어느 뷰에서든 안 걸은 날은 공백으로 남습니다.

9:41● ● ●
W9 · 캘린더 뷰
캘린더지도목록
2026년 7월
월 캘린더
■걸음 ▧무보행기록 □미기록
28일 기록
빈 칸 2일 = 미기록 · 무보행 6일 포함
미기록일 채우기
결측 노출지층에 빈 칸을 남기고 "채우기" 동선을 제공. 숨기지 않되 회복은 돕습니다.
9:41● ● ●
W10 · 지도 뷰
캘린더지도목록
내가 걸은 코스 누적 지도
방문 횟수만큼 핀이 진해짐
방문한 코스7
가장 많이 간 곳황성공원 18회
코스 단위 표시 PRV-02
코스별 기록 보기
경로 대신 코스지도에 이동 경로가 아니라 코스 핀만 찍습니다. 시각적 만족은 유지하고 위치 이력은 남기지 않습니다.
9:41● ● ●
W11 · 세션 상세
7월 21일 (화) 아침
코스황성공원 천년 맨발길
걸음3,120
시간31:40
그날의 조건
맨발촉촉맑음아침
코스 고정 속성
황토숲속일조 낮음
걷기 전후 기분 6→8 · 통증 4→3
기록 수정
두 층의 변수고정 속성(코스) + 변동 조건(그날)을 분리 표시. 분석 시 이 구분이 그대로 컬럼이 됩니다.
W-04

걷기 통계 · 경쟁이 아닌 관측

랭킹·배지는 넣지 않습니다. 대신 기록 완결성지면별 비교를 보여줍니다.

9:41● ● ●
W12 · 기간별 요약
전체
7월 누적
걸은 날20
거리31.4km
총 시간9h 12m
코스5
월별 추이 그래프
무보행 6일 · 미기록 2일 포함
지면별 비교 보기
함께 표기누적 성과 옆에 무보행·미기록 일수를 같이 적습니다. 좋은 숫자만 보여주지 않습니다.
9:41● ● ●
W13 · 지면별 비교
지면에 따른 내 기록
참고용입니다. 개인 데이터라 인과를 말할 수 없어요.
황토 · 32회기분 +1.8
마사토 · 9회기분 +1.1
잔디 · 4회기분 +1.4
숲속 코스스트레스 −1.6
개활 코스스트레스 −0.9
이 비교가 전국 데이터로 모이면
복합 자극 요소 분리 연구가 됩니다
요소 분리 VAR-04
연구와 UX의 접점참여자에겐 흥미로운 개인 통계, 연구엔 자극 요소 분리의 원자료. 같은 데이터가 두 몫을 합니다.
과잉해석 차단개인 표본으로 인과를 주장하지 않도록 안내 문구를 화면에 고정합니다.
9:41● ● ●
W14 · 기록 완결성
28일 중 28일 기록
걸은 날도, 안 걸은 날도 빠짐없이
연속 기록28
그중 무보행일6
무보행일을 기록해도
연속 기록은 끊기지 않습니다
랭킹 없음 BIA-03
내 데이터 내보내기
역발상보상 대상을 "걸은 것"이 아니라 "기록한 것"으로 뒤집었습니다. 리더보드를 넣는 순간 사람들은 컨디션 좋은 날만 걷고 나쁜 날은 기록하지 않습니다 — 앱이 직접 생존자 편향을 생산하게 됩니다.
TAB 3 상세

내 기록 — 위저드 + 조회

세그먼트 3 · 화면 10
이 파트 한 화면 한 과업 단계적 공개 알아서 처리 쉬운 말 ↑ 통합 구조로
L-MAP

내 기록 탭 내부 구조

구현 부담은 Seg 1에 몰려 있습니다.

Seg 1 · 오늘 기록
몸 상태 자동값 + 혈압
마음 상태 1~10 척도 4종
오늘 있었던 일 필수 · 건너뛰기 불가
완료
·
Seg 2 · 지난 기록
월 캘린더 기록·무보행·빈칸
날짜별 상세
빠진 날 채우기 기한 제한
·
Seg 3 · 내 변화
4주 리포트 4주 미만은 잠금
12주 리포트
지표별 상세
개발 관점 세그먼트 3개지만 실제 구현 부담은 Seg 1(위저드) 하나에 몰려 있습니다. Seg 2·3은 조회 전용이라 API 결과를 그리기만 하면 됩니다. Seg 1의 임시저장(단계별 로컬 커밋)을 반드시 넣으세요 — 3단계 중간에 앱이 죽으면 사용자는 다시 안 합니다.
L-01

오늘 기록 · 3단계 위저드

몸 상태 → 마음 상태 → 오늘 있었던 일. 단계마다 로컬 임시저장.

9:41● ● ●
L1 · 1/3 몸 상태
오늘 기록지난 기록내 변화
1 / 3 · 몸 상태
잠 6시간 40분자동
심박 변이도 34자동
혈압 · 3번 재서 평균
124 / 82
📏 5분 안정 · 1분 간격 3회 · 평균 기록
다음마음 상태
자동/수동 구분자동 배지가 붙은 값은 수정 불가(읽기 전용). 손댈 수 있는 건 흰 입력칸뿐입니다.
9:41● ● ●
L2 · 2/3 마음 상태
2 / 3 · 마음 상태
걷기 전걷기 후
기분7
기운6
아픈 곳3
스트레스4
손가락으로 밀어서 조절하세요
다음오늘 있었던 일
이전
쉬운 말활력→기운, 통증→아픈 곳. 슬라이더 옆 숫자를 크게 두어 조작 결과를 즉시 확인시킵니다.
9:41● ● ●
L3 · 3/3 오늘 있었던 일
3 / 3 · 오늘 있었던 일 (필수)
몸 상태에 영향을 준 일이 있나요?
☑ 술을 마셨다
☐ 잠을 못 잤다
☐ 식사가 달랐다
☑ 속상한 일이 있었다
없음모름답변 안 함
건너뛰기 불가 WRD-04
오늘 기록 완료2분 걸렸어요
필수 검증항목마다 있음/없음/모름/답변 안 함 중 하나는 반드시 남습니다. '없음'·'모름'·'무응답'은 분석에서 전혀 다른 결측입니다. 하나도 안 남기면 완료 버튼 비활성.
9:41● ● ●
L3R · 제출 전 검토
오늘 기록 검토
✓ 활동황성공원 31분
✓ 전후 체감기록됨
! 혈압측정 못함 · 기기 없음
✓ 오늘 있었던 일없음
기록 품질 : 분석 가능
측정하지 못한 값도 사유와 함께
저장되어 연구에 도움이 됩니다
오늘 기록 제출수정하려면 뒤로
임시 저장
차단하지 않는다누락이 있어도 제출을 막지 않습니다. 품질 플래그만 남기고 통과시키세요. 제출을 막는 순간 사람들은 거짓 값으로 채웁니다 — 그게 최악의 데이터입니다.
9:41● ● ●
L4 · 완료
✓ 완료
오늘 기록 끝!
2분 걸렸어요. 내일도 같은 시간에 부탁드려요.
방금 보냄
이번 달 기록
내 변화 보기
오늘
걷기
내 기록
더보기
전송완료 즉시 로컬 커밋 → POST /records/day/. 실패해도 화면은 성공으로 넘어갑니다(백그라운드 재시도).
L-02

지난 기록 · 조회와 보정

결측을 보여주되, 사후 입력에는 기한과 표식을 답니다.

9:41● ● ●
L5 · 지난 기록 캘린더
오늘 기록지난 기록내 변화
2026년 7월
월 캘린더
■기록 ▧안걸음 □빈칸
기록25
빈칸1
빠진 날 채우기
APIGET /records/calendar/?month= · 날짜별 상태(기록/무보행/결측)만 내려받아 그립니다.
9:41● ● ●
L6 · 날짜별 상세
7월 21일 (화)
6h 40m
혈압124 / 82
기분 · 기운7 · 6
오늘 있었던 일
걷기31분 · 황성공원
맨발촉촉아침
이 날 기록 수정
수정 이력수정은 허용하되 수정 시각·이전 값을 서버에 남깁니다. 사후 편집이 데이터 신뢰를 흔들지 않도록.
9:41● ● ●
L7 · 빠진 날 채우기
기록이 빠진 날이 있어요
기억나는 만큼만 적어도 괜찮아요.
7월 3일 (목)비어 있음
그날 걸으셨나요?
[걸었어요] [안 걸었어요] [기억 안 나요]
기한 제한 PRG-03
이 날 기록하기남은 기간 4일
중요 · 회상 편향사후 입력을 무제한 허용하면 기억으로 채운 데이터가 실측과 섞입니다. 7일 제한 + 사후입력 플래그를 반드시 저장해 분석 시 구분하세요.
L-03

내 변화 · 리포트

4주 미만은 잠급니다. 짧은 변동을 효과로 오인하지 않도록.

9:41● ● ●
L8 · 4주 미만 (잠금)
오늘 기록지난 기록내 변화
🔒
아직 이릅니다
몸의 변화는 최소 4주가 지나야 알 수 있어요. 지금 보이는 숫자는 그날의 컨디션일 뿐입니다.
지금까지12
16일 뒤에 첫 리포트가 열려요
최소기간 원칙4주 미만 리포트를 구조적으로 막습니다. 짧은 변동을 효과로 오인하는 것이 이 연구의 최대 함정입니다.
9:41● ● ●
L9 · 4주 리포트
4주12주
준비기간과 비교하면
기준선(점선) vs 현재 추이
+38분
심박 변이도+6
스트레스−1.2
기록 26/28일 · 안 걸은 날 6일 포함
지표별 자세히
함께 표기좋은 숫자 옆에 순응도와 무보행일을 항상 같이 적습니다.
9:41● ● ●
L10 · 지표별 상세
심박 변이도 (HRV)
자율신경 상태를 보는 값이에요. 높을수록 회복이 잘 된 상태로 봅니다.
주간 평균 추이 그래프
준비기간 평균28
최근 4주 평균34
이 변화가 맨발걷기 때문인지는
전국 데이터가 모여야 알 수 있어요
인과 주장 금지 WRD-05
필수 안내개인 데이터로 인과를 말하지 않습니다. 이 문구를 화면에 고정하지 않으면 앱이 의료 효능 주장을 하는 것으로 해석될 수 있습니다.
TAB 4 상세

더보기 — 설정 + 법적 플로우

메뉴 6 · 화면 7
이 파트 한 화면 한 과업 단계적 공개 알아서 처리 쉬운 말 ↑ 통합 구조로
M-MAP

더보기 구성과 난이도

단순 설정처럼 보이지만 법적 요건이 섞여 있습니다.

메뉴하위 화면성격주의
내 정보참여 현황 · 가명 ID · 시작일조회실명·연락처는 표시하지 않음
기기 연결권한 상태 · 항목 관리 · 재연결설정필수 항목은 해제 불가(코호트 규격)
자료 보내기전송 현황 · 전송 설정 · 지금 보내기설정 + 조회기술 용어 노출 금지
알림 설정기록 알림 시각 · 걷기 알림설정기본 ON · 시각은 사용자 지정
연구 참여 정보동의 내역 · 참여 중단 · 내 자료 내려받기법적 플로우철회 → 파기 자동 연동 필수
도움말자주 묻는 질문 · 글씨 크게 · 문의지원글씨 크게를 상단 배치
여기 숨은 난이도 더보기는 단순 설정 리스트처럼 보이지만 '참여 중단(동의 철회)'이 들어 있습니다. 이건 화면 하나가 아니라 서버 파기 · 감사 로그 · 재가입 정책까지 걸린 법적 플로우입니다. 개인정보보호법·IRB 요건이라 MVP에서 뺄 수 없습니다.
M-01

설정 · 조회 계열

자주 쓰는 것 위, 되돌리기 어려운 것 아래.

9:41● ● ●
M1 · 더보기 홈
더보기
내 정보 · 참여 현황
기기 연결연결됨 ›
자료 보내기
알림 설정
글씨 크게켜짐
도움말
연구 참여 정보
오늘
걷기
내 기록
더보기
순서자주 쓰는 것 위, 되돌리기 어려운 것(참여 정보) 맨 아래. 실수 접근을 줄입니다.
9:41● ● ●
M2 · 내 정보 · 참여 현황
내 참여 현황
참여자 번호P-004128
시작일2026-04-01
현재 단계4주차
기록한 날78 / 84
보낸 자료312건
이름·연락처는 연구 자료에
포함되지 않습니다
가명 처리 PRV-03
안심 문구가명 처리 사실을 참여자가 볼 수 있는 곳에 적습니다. 민감정보 제공에 대한 불안을 낮추는 장치입니다.
9:41● ● ●
M3 · 기기 연결
기기 연결
걷기 감지켜짐
건강 데이터연결됨
잘 때도 읽기꺼짐
가져오는 항목
걸음심박혈압
필수 항목은 끌 수 없어요
(모두 같은 기준으로 모아야 해서요)
연결 다시 하기
규격 고정서버 프로토콜의 필수 항목은 UI에서 해제 불가. 참여자마다 항목이 달라지면 코호트가 깨집니다.
9:41● ● ●
M4 · 자료 보내기
자료 보내기
연구소로 안전하게 전달되고 있어요.
보낸 자료312건
보내는 중6건
마지막 전송12분 전
와이파이에서만켜짐
자동으로 보내기켜짐
지금 바로 보내기
용어UUID·큐·백오프·재시도 전부 노출 금지. "보낸 자료 / 보내는 중" 두 단어로 충분합니다.
M-02

알림 · 참여 정보 · 도움말

참여 중단은 화면이 아니라 절차입니다.

9:41● ● ●
M5 · 알림 설정
알림
기록 알림켜짐
알림 시각
아침 7:30
걷기 알림꺼짐
주간 변화 요약켜짐
매일 같은 시각에 재는 것이
정확한 비교의 핵심이에요
일관성 지원 PRG-04
방법론 보조알림은 편의 기능이 아니라 측정 시각 일관성을 지키는 장치입니다. 기본 ON으로 두세요.
9:41● ● ●
M6 · 연구 참여 정보
연구 참여 정보
동의서 버전v2 · 2026-04-01
동의 항목3건 ›
연구 책임기관○○대학교 ›
내 자료 내려받기 (CSV)
연구 참여 중단하기
중단하시면 그동안 보낸 자료도
모두 지워집니다
법적 플로우철회는 3단계여야 합니다 — ① 안내(파기 범위 고지) ② 확인(되돌릴 수 없음) ③ 서버 파기 + 감사 로그. 앱에서 로컬만 지우고 끝내면 법 위반입니다.
9:41● ● ●
M7 · 도움말 · 접근성
도움말
글씨 크게켜짐
가 나 다 → 가 나 다
미리보기
혈압은 어떻게 재나요?
워치가 없어도 되나요?
비 오는 날은요?
기록을 빼먹었어요
문의하기
FAQ 선정추상적 질문 대신 실제 이탈 사유를 항목으로 씁니다. "기록을 빼먹었어요"가 가장 많이 눌릴 항목입니다.
공통

안전 응답 · 알림 · 인수 기준

전 화면 공통 규칙 · v0.4 추가
S-01

안전 응답 처리 — 전 화면 공통 분기

통증·상처·어지러움 응답은 어느 화면에서 나와도 같은 분기를 탑니다: 무보행 사유(T6), 설문(EMA), 안전 확인(T1S).

9:41● ● ●
SAFE1 · 안전 안내
증상이 심하거나 계속되면 의료기관과 상담하세요.
활동오늘은 중단 권장
기록그대로 저장됨
이 안내는 진단이 아니에요.
기록은 연구에 그대로 반영됩니다.
확인했어요기록 계속하기
코디네이터에게 문의
문구 규칙진단처럼 들리는 표현 금지("~병일 수 있습니다" ×). 약 복용을 중단하라는 문구는 절대 금지. 안내 노출 여부(safety_notice_shown)를 응답과 함께 저장해 연구 로그로 남깁니다.
9:41● ● ●
SAFE2 · 코디네이터 문의
문의 보내기
연구 코디네이터가 확인하고 답해드려요.
증상 요약 (선택)
발바닥에 물집이…
통증·상처기기 문제기록 문의기타
회신은 앱 알림으로 옵니다
보통 1일 이내
보내기긴급하면 119
콘솔 연동안전 문의는 운영 콘솔 품질 큐의 최우선 순위로 들어갑니다(안전 응답 > 동의 철회 > 누락). 처리 상태와 안내 이력이 기록됩니다.
NOTIF

알림 설계

하루 최대 2회 · 조용한 시간 제외 · 죄책감을 자극하는 문구 금지.

상황문구 예시탭 시 이동비고
아침 기록 미완료"오늘의 기록을 남겨 주세요. 약 1분이면 됩니다."내 기록 › 오늘 기록사용자 지정 시각
활동 기록 유도"오늘은 맨발걷기를 했나요? 쉬었다면 그 기록도 중요해요."걷기 여부 선택미실시를 동등하게 취급
2일 연속 누락"기록을 다시 시작해도 괜찮아요. 놓친 날은 '기억나지 않음'으로 남길 수 있어요."지난 기록 캘린더죄책감 자극 금지
평가 시작"4주 평가가 준비됐어요. 약 3분이 걸립니다."평가 설문4주/12주 시점
안전 응답 후"오늘은 무리하지 마세요. 증상이 계속되면 의료진과 상담하세요."도움말·문의진단 표현 금지
알림도 넛지다 알림 발송 이력은 근처 참여자 카드와 마찬가지로 행동을 유발하는 개입입니다. 발송 시각·종류·탭 여부를 저장해, "알림 받고 기록한 날"을 분석에서 구분할 수 있게 하세요.
AC

개발 인수 기준

이 7가지가 통과되지 않으면 출시하지 않습니다. QA 시나리오의 뼈대입니다.

#기준확인 방법
1걷지 않은 날에도 60초 안에 유효한 일일 기록을 제출할 수 있다스톱워치 실측 (신규 사용자 기준)
2활동 기록 없이도 수면·기분·교란변수 기록을 끝낼 수 있다무보행 시나리오 E2E
3모든 필수 변수에 없음/모름/측정 못함/답변 안 함 결측 옵션이 있다스키마·화면 전수 점검
4자동 연동값·수동값·수정값의 출처와 시각이 보존된다DB 레코드 감사
5품질 플래그는 남기되 제출 자체는 차단하지 않는다누락 제출 시나리오
6개인 리포트는 기준선·기간·완성도를 병기하고 인과를 단정하지 않는다전 화면 카피 검수
7동의 철회 시 수집이 즉시 중지되고 데이터 처리 기준이 안내된다철회 E2E + 감사 로그 확인
BUILD

화면 목록 · API 매핑

총 43화면 · 개발 착수용
INV

전체 화면 인벤토리

화면ID · 진입 경로 · 상태 분기 · 서버 API. 이 표가 곧 작업 목록입니다.

ID화면명진입상태 분기 · 검증서버 API
T1인트로오늘앱 최초 실행GET /protocol/current/
T1S안전·적합성 확인오늘T1 →위험 응답 시 참여 보류 분기 · 노출 로깅POST /screening/
T2참여 동의오늘T1 →필수/선택 분리POST /consent/
T3권한·기기 연결오늘T2 →권한 거부 시 수기입력 모드—(OS 권한)
T4준비기간 안내오늘T3 →시작 시 baseline_start 확정POST /me/baseline/start/
T5오늘 · 준비기간오늘탭1 · S1걷기 탭 잠금GET /me/status/
T6오늘 · 미기록오늘탭1 · S3기본 상태GET /me/status/
T7오늘 · 완료오늘탭1 · S4GET /me/summary/
T8오늘 · 12주 종료오늘탭1 · S5연장 선택GET /me/summary/
W1걷기 홈걷기탭2 기본최근 코스 없으면 코스찾기로GET /courses/recent/
W2코스 선택걷기W1 →선택 전 시작 불가GET /courses/?near=
W3세션 진행걷기W2 →자동감지 실패 시 수동 시작—(로컬)
W4종료 확인걷기W3 →맨발 아님 선택 시 세션 제외POST /sessions/
W5코스 지도걷기탭2 · 세그2필터 상태 유지GET /courses/?bbox=
W6코스 상세걷기W2·W5 →등급별 표시 차등GET /courses/{id}/
W7코스 등록걷기W5 →C등급 · 검수 대기POST /courses/
W8단체 일정걷기탭2 · 세그2지회 소속 없으면 숨김GET /events/ · POST /events/{id}/checkin/
W9걸은 기록 캘린더걷기탭2 · 세그3GET /sessions/calendar/
W10걸은 기록 지도걷기W9 세그좌표 미표시(코스 핀만)GET /sessions/places/
W11세션 상세걷기W9·W10 →수정 이력 저장GET /sessions/{id}/
W12걷기 통계 기간별걷기탭2 · 세그4GET /stats/walk/?period=
W13지면별 비교걷기W12 →표본 5회 미만 숨김GET /stats/surface/
W14기록 완결성걷기W12 →랭킹 없음GET /stats/adherence/
L1오늘 기록 1/3내 기록탭3 기본자동값 없으면 수기 전환GET /health/today/
L2오늘 기록 2/3내 기록L1 →걷기 전/후 분리—(로컬)
L3오늘 기록 3/3내 기록L2 →미선택 시 완료 불가—(로컬)
L3R제출 전 검토내 기록L3 →품질 플래그 표시 · 제출 차단 없음—(로컬 검증)
L4기록 완료내 기록L3 →POST /records/day/
L5지난 기록 캘린더내 기록탭3 · 세그2GET /records/calendar/
L6날짜별 상세내 기록L5 →수정 시 이력 저장GET /records/{date}/
L7빠진 날 채우기내 기록L5 →7일 경과 시 차단POST /records/backfill/
L8내 변화(잠금)내 기록탭3 · 세그34주 미만GET /me/status/
L94주·12주 리포트내 기록L8 해제 후GET /me/summary/?period=
L10지표별 상세내 기록L9 →인과 문구 고정GET /me/summary/{metric}/
M1더보기 홈더보기탭4 기본
M2내 정보더보기M1 →가명 ID만 표시GET /me/
M3기기 연결더보기M1 →필수 항목 해제 불가GET /protocol/current/
M4자료 보내기더보기M1 →실패 시 배너 연동GET /sync/status/ · POST /sync/run/
M5알림 설정더보기M1 →기본 ONPATCH /me/notifications/
M6연구 참여 정보더보기M1 →철회 3단계GET /consent/ · POST /consent/withdraw/
M7도움말·접근성더보기M1 →글씨 크게 즉시 반영
SAFE1안전 안내공통위험 응답 시노출 로깅 필수 · 진단 표현 금지POST /events/safety-notice/
SAFE2코디네이터 문의공통SAFE1 →콘솔 안전 큐 최우선 연동POST /support/safety/
구현 순서 제안 1) T1~T5 + L1~L4 (온보딩·준비기간·일일기록) → 이것만으로 기저치 수집이 가능해 파일럿을 돌릴 수 있습니다. 2) W1~W4 + W6 (코스 선택·세션) → 걷기 데이터 수집 개시. 3) L5~L10 · W9~W14 (조회·리포트) → 참여 지속 장치. 4) M1~M7 (설정·법적 플로우) → 단, M6(참여 중단)은 1단계에 함께 넣어야 IRB 요건을 충족합니다. 마찬가지로 T1S(안전 확인)와 SAFE(안전 안내)도 1단계 필수입니다 — 안전 프로토콜 없이 수집을 시작할 수 없습니다.
전역 규칙 · 개발 시 항상 적용 ① 모든 POST에 client_uuid를 실어 재전송해도 중복 저장되지 않게 합니다(멱등). ② 위도·경도는 연구 추출 대상에서 제외. 서버 저장은 하되 export에서 빼세요. ③ 화면 문구에 기술 용어(UUID·큐·백오프·HRV 원문)를 노출하지 않습니다. ④ 필수 항목·기간(준비 14일, 최소 4주)은 하드코딩하지 말고 GET /protocol/current/에서 받습니다. ⑤ 모든 필수 변수는 없음/모름/측정 못함/답변 안 함 중 하나를 반드시 저장합니다 — 빈칸(NULL) 금지. 결측의 종류가 곧 분석 정보입니다. ⑥ 측정값에는 출처(자동/수동/수정)·측정 시각·기기 종류를 메타데이터로 함께 저장합니다. 혈압은 3회 평균 여부 포함. ⑦ 프로토콜·설문 변경은 새 버전으로 발행(적용일·참여자 노출 문구 기록)하고, 이미 수집된 데이터에 소급 적용하지 않습니다. 안전 안내 문구에 진단 표현·약 중단 지시는 절대 금지.