luckybbu — 우리 가족 포털
마미백(출산·육아 준비)과 가계부를 한곳에서 쓰는 가족용 정적 웹사이트입니다.
로그인·서버 없이 브라우저만으로 동작하고(가족 공유를 켜면 Firebase로 기기 간 동기화), GitHub Pages로 무료 배포합니다.
0. 포털 구성
- 포털(첫 화면): 앱을 열면 포털에서 시작합니다(같은 탭에서 새로고침하면 보던 화면 유지). 위에 디데이 두 개 — ‘축복이 만나기까지 D-n’(설정의 출산 예정일)과 ‘우리 결혼한 지 +n일’(설정의 결혼기념일, 결혼한 날 = 1일, 다음 100일 단위·주년까지 남은 날) — 그리고 공간 아이콘(마미백 · 가계부 · 추가)이 있습니다.
- 마미백: 홈이 ‘출산’·‘육아’ 아이콘 묶음으로 나뉩니다. 준비물 분류는 묶음 중 하나에 속하며(이름에 아기·축복·육아가 들어가면 처음엔 육아), 준비물 화면의 편집 모드에서 ‘마미백 홈 묶음’으로 옮길 수 있습니다. 출산: 분류들 · 산부인과 일지 · 택일 · 정부 지원 / 육아: 분류들 · 작명 · 예방접종·성장 기록·육아 일지(준비 중). 왼쪽 위 ‘‹ 포털’로 돌아갑니다.
- 모으는 돈 목표: 포털 디데이 아래 카드. 원형 진행률과 모은 돈·목표·남은 돈·목표일(한 달에 모을 돈)을 보여 줍니다. ‘+ 금액 입력’에서 지금 모은 총액(현재 금액이 채워져 있고 +10만·+50만·+100만으로 더하기), 목표 금액·목표일·목표 이름(기본 ‘축복이 맞이 자금’, 이름 옆 연필을 눌러도 수정)을 바꿉니다. 가족 공유·백업에 포함(
goal).
- 가계부: 달별 지출·수입 합계, 한 달 예산(사용률·남은 금액), 분류별 지출 막대, 날짜별 내역. ‘기록’을 누르면 아래에서 입력 창이 열리고, 내용에 ‘점심 국밥 9천원’처럼 적으면 금액을 알아서 나눕니다. 항목을 누르면 수정·삭제(실행 취소 가능). 처음에는 비어 있고, 가족 공유·백업에 함께 포함됩니다(
ledger, budget).
- 색상·아이콘: 화면은 파스텔 톤(칠하는 색은 연하게, 글자·아이콘은 같은 색의 진한 톤), 앱 아이콘은 손잡은 두 사람과 하트(밝은 톤)입니다.
1. 기능
- 분류 관리: 분류 추가·이름 수정·삭제. 기본 분류(출산가방 / 조리원가방 / 아기 용품)도 자유롭게 수정·삭제할 수 있고, 모두 삭제해도 '분류 추가'로 다시 시작할 수 있습니다. 준비물이 있는 분류를 삭제할 때는 삭제될 항목 수를 안내하고 확인을 받습니다.
- 정부 지원: 지금(임신 중) · 출산 직후(60일 안) · 매달 받는 것 · 우리 지역의 네 단계로 묶이고, 카드마다 금액·기한(예정일/출생일 기준 자동 계산, D-day)·신청처·상태(확인 전→신청함→받음)가 보입니다. 처음 한 번 2026년 기준 국가·서울시·마포구 항목 12개가 채워지며(되돌리기 가능) 금액과 조건은 공식 안내로 확인해야 합니다.
- 일지: 목록에서 일지를 누르면 상세 화면이 열려 내용을 읽고 수정할 수 있습니다. ☆ 즐겨찾기(맨 위 고정), ♥ 좋아요, 💬 댓글을 쓸 수 있고 가족 공유에 반영됩니다.
- 택일·작명: 택일 후보와 이름 후보 카드에도 ☆ 즐겨찾기(맨 위 고정), ♥ 좋아요, 💬 댓글(눌러서 펼침)이 있고 보관함에 함께 모입니다.
- 보관함: 설정 탭에 있습니다. '★ 즐겨찾기'와 '♥ 좋아요'(내 이름으로 누른 글) 탭으로 나뉘며, 항목을 누르면 해당 일지·메모로 이동하고 '← 보관함'으로 돌아옵니다.
- 메모: 목록에서 메모를 누르면 상세 화면이 열려 내용을 크게 보고 수정할 수 있습니다. 메모마다 댓글, 좋아요(기기 이름 기준), ★ 즐겨찾기(목록 맨 위 고정)를 쓸 수 있고 가족 공유에 함께 반영됩니다. 메모 상세에서 '▦ 표 추가'로 표를 넣을 수 있습니다(메모당 5개, 30행×8열). 칸을 눌러 바로 입력하고, 칸 사이 선을 끌어 열 너비·행 높이를 조절하며, 행·열·표 삭제가 됩니다.
- 화면 구성: 하단 탭은 홈 · 준비물 · 일지·메모 · 택일·작명 · 설정 5개입니다. 일지·메모와 택일·작명은 화면 위 전환 탭으로 오가며, 마지막에 본 쪽을 기억합니다.
- 상세 분류: 분류 안을 한 번 더 나누는 탭입니다(예: 병원캐리어 → 의류/보온·위생/회복·수유·아기·편의/기타). '전체'에서는 상세 분류별로 묶여 개수·소계와 함께 보이고, 탭을 고르면 그 안에서만 보고 추가할 수 있습니다. 편집 모드에서 추가·이름 변경·삭제하고, 준비물 수정 폼에서 옮깁니다. 처음 한 번 자동으로 구성되며(되돌리기 가능), 설정 → '상세 분류 전체 해제'로 언제든 예전 화면으로 돌아갈 수 있습니다(준비물은 지워지지 않음).
- 이름 태그: 준비물 앞에 기준·윤서·축복(또는 '윤서, 기준')을 붙여 적으면 색 태그로 분리되어 저장되고, 분류 위의 이름 칩으로 한 사람 것만 볼 수 있습니다. 편집 폼에서 여러 명을 함께 고를 수 있습니다. 예전 방식으로 적힌 항목은 앱을 열 때 한 번 자동 분류됩니다(되돌리기 가능).
- 병원캐리어 확정 리스트: 2026-11 확정한 24개(의류/보온·위생/회복·수유·아기·편의/기타)로 처음 한 번 정리. 이름이 같은 기존 항목은 체크·금액 유지, 목록에 없던 항목은 '정리할 항목' 탭으로 이동. 병원캐리어의 완료 탭은 '준비 전 / 준비 후'로 표시하고, 확정 리스트 24개는 준비 후(체크), 그 외는 준비 전으로 한 번 표시(가족 중 한 기기에서만 적용,
hospDoneAt).
- 완료/미완료 탭: 편집 모드에서 분류마다 '완료/미완료 탭 표시'를 켜면 그 분류 목록 위에 전체·미완료·완료 탭이 생깁니다(기본은 '축복이 맞이 물품'에만 켜짐).
- 분류 순서: 분류 탭을 끌어서(PC는 바로, 폰은 길게 누른 뒤) 순서를 바꿀 수 있고, 편집 모드의 ▲▼로도 바꿀 수 있습니다.
- 준비물 관리: 추가, 이름·금액·메모 수정, 삭제, 다른 분류로 이동, 준비 대상에서 제외·다시 포함. 삭제 직후 '실행 취소'로 복구할 수 있습니다.
- 금액 바로 수정: 목록의 각 행은 왼쪽 준비물 이름, 오른쪽 금액으로 나뉩니다. 숫자만 치면 쉼표가 자동으로 들어갑니다(5000 → 5,000원). 각 분류 목록 위에 총 합계(금액 입력 개수 포함)가 보이고, 목록은 항상 금액 높은순으로 정렬됩니다(금액 없는 항목은 맨 아래, 편집 모드에서는 ▲▼로 정한 순서). 전체 합계는 상단 진행률 줄과 홈 카드에 표시됩니다. 수량 칸을 누르면 편집 모드에 들어가지 않고도 그 항목의 수량과 단위를 바로 고칠 수 있습니다.
- 완료 체크: 체크는 '가방에 담기 완료'를 뜻합니다(구매 여부와 무관). 수량을 입력하지 않아도 체크할 수 있고, 수량 입력이 완료로 처리되지 않습니다.
- 진행률: 화면 상단에 전체 진행률, 각 분류 상단에 분류별 진행률을 막대와
8/16개 완료 · 50% 형식으로 표시합니다.
- 분류별 = 완료 항목 수 ÷ 준비 대상 항목 수, 전체 = 모든 완료 항목 수 ÷ 모든 준비 대상 항목 수 (분류별 퍼센트의 평균이 아님)
- 제외한 항목은 분자·분모에서 모두 빠지며, 준비 대상이 0개면 '준비 항목 없음'으로 표시합니다.
- 퍼센트는 소수점 없이 내림하며, 미완료 항목이 남아 있으면 100%로 표시되지 않습니다.
- 검색: 준비물 화면의 🔍 버튼을 누르면 모든 분류를 통틀어 이름으로 찾아 바로 체크할 수 있습니다.
- 순서 변경: 편집 모드에서 ▲▼로 준비물·분류 순서를 바꿀 수 있습니다.
- 초기화: ⋯ 메뉴의 ‘기본 목록으로 초기화’는 먼저 JSON 백업을 자동 저장한 뒤 기본 목록으로 되돌립니다.
- 필터: 전체 / 미완료 / 완료 / 제외. 필터를 바꿔도 진행률은 항상 전체 준비 대상을 기준으로 계산합니다.
- 편집 모드: 편집·삭제 컨트롤은 상단의 '편집 모드' 버튼을 켰을 때만 표시되어 평소 화면을 단순하게 유지합니다.
- 분류 아이콘: 분류마다 이모지 아이콘을 붙일 수 있습니다(편집 모드에서 프리셋 선택 또는 직접 입력). 기본 분류는 🧳 출산가방 · 🛏️ 조리원가방 · 👶🏻 아기 용품로 시작합니다.
- 모바일 편의: 화면 폭 640px 미만에서는 분류가 상단 고정 탭으로 바뀌어 한 번에 한 분류만 보입니다(선택한 탭은 기기에 기억). PC에서는 3열 카드로 보이고 분류 제목을 눌러 접을 수 있습니다. 꼭 기억하기 카드도 접기/펼치기가 됩니다.
- 정부 지원: 지금(임신 중) · 출산 직후(60일 안) · 매달 받는 것 · 우리 지역의 네 단계로 묶이고, 카드마다 금액·기한(예정일/출생일 기준 자동 계산, D-day)·신청처·상태(확인 전→신청함→받음)가 보입니다. 처음 한 번 2026년 기준 국가·서울시·마포구 항목 12개가 채워지며(되돌리기 가능) 금액과 조건은 공식 안내로 확인해야 합니다.
- 일지: 일지 카드마다 ☆ 즐겨찾기(맨 위 고정), ♥ 좋아요, 💬 댓글(눌러서 펼침)을 쓸 수 있고 가족 공유에 반영됩니다.
- 메모: 목록에서 메모를 누르면 상세 화면이 열려 내용을 크게 보고 수정할 수 있습니다. 메모마다 댓글, 좋아요(기기 이름 기준), ★ 즐겨찾기(목록 맨 위 고정)를 쓸 수 있고 가족 공유에 함께 반영됩니다.
- 화면 구성: 하단 탭바(홈 · 준비물 · 일지 · 택일 · 작명 · 설정)로 이동합니다(PC·모바일 공통). 홈에는 꼭 기억하기(맨 위)·준비 진행률·메모·정부 지원 바로가기가 있고, 다른 화면에서는 꼭 기억하기가 상단 한 줄 스트립으로 고정됩니다. 상단에 출산 D-day와 가족 공유 상태가 표시됩니다.
- 택일 정보: 날짜·시간·라벨로 택일 후보를 등록하고, GPT·Claude에게 받은 설명을 각각 붙여넣어 보관합니다.
- 작명 노트: 한글 이름 후보에 한자 풀이 후보를 여러 개 달고 메모·즐겨찾기(★)를 관리합니다. 각 이름을 택일 후보에 연결하면 택일↔이름을 서로 오가며 볼 수 있어 종합 판단에 도움이 됩니다.
- 꼭 기억하기: 화면 상단(전체 진행률 아래)에 고정되는 메모 카드입니다. 진료 내용 중 중요한 것을 한 줄에 하나씩 적어 두면 항상 맨 위에 보입니다. 백업 파일에
highlights로 포함됩니다.
- 산부인과 일지: 날짜·제목·내용으로 진료 기록을 남길 수 있습니다. 수정·삭제(실행 취소 가능)를 지원하며 체크리스트와 같은 저장소·백업 파일에 함께 저장됩니다.
- 설정: 내 이름(변경 기록 표시용), 출산 예정일(D-day, 가족과 공유), 가족 공유, 알림 문구 설정, 백업, 정부 지원 바로가기, 초기화가 한 화면에 있습니다.
- 변경 기록(알림): 가족 공유 중이면 가족이 바꾼 내용(체크, 추가, 삭제, 수정, 일지·택일·작명·지원 등)이 앱을 보는 중에 누가·무엇을 바꿨는지 문구 알림으로 뜹니다(설정에서 끌 수 있음). 홈의 ‘최근 변경’ 목록과 홈 탭 배지는 없앴고, 그동안 쌓인 변경 기록은 새 버전을 처음 열 때 한 번 비워집니다. 푸시 알림은 서버가 필요해 포함하지 않았습니다.
- 정부 지원: 지금(임신 중) · 출산 직후(60일 안) · 매달 받는 것 · 우리 지역의 네 단계로 묶이고, 카드마다 금액·기한(예정일/출생일 기준 자동 계산, D-day)·신청처·상태(확인 전→신청함→받음)가 보입니다. 처음 한 번 2026년 기준 국가·서울시·마포구 항목 12개가 채워지며(되돌리기 가능) 금액과 조건은 공식 안내로 확인해야 합니다.
- 일지: 일지 카드마다 ☆ 즐겨찾기(맨 위 고정), ♥ 좋아요, 💬 댓글(눌러서 펼침)을 쓸 수 있고 가족 공유에 반영됩니다.
- 메모: 홈의 메모 카드에서 ‘새 메모’·‘전체 보기’로 여러 개의 메모를 적고 볼 수 있습니다. 입력하면 자동 저장되고 가족과 공유되며, 비워 두고 나가면 그 메모는 삭제됩니다.
- 당겨서 새로고침: 홈 화면에 추가한 웹앱에서는 맨 위에서 아래로 당기면 새로고침됩니다(브라우저에서는 기본 기능 사용).
- 정부 출산 지원 체크리스트: 홈·설정에서 열리는 화면에 지원 항목(제목·대상·지원 내용·신청 방법·기한·공식 링크·상태·메모)을 추가·관리합니다. 기본 내용은 비워 두었고 추후 채울 예정입니다.
- 백업·기기 간 옮기기: JSON 파일 내보내기·불러오기, 그리고 파일 없이 옮길 수 있는 '텍스트로 복사 → 붙여넣어 불러오기'(진료 메모·꼭 기억하기 포함).
- 편집 모드: 목록은 이름과 수정·삭제 버튼만 있는 짧은 행으로 바뀌고, '수정'을 누른 항목만 펼쳐집니다. 휴대폰에서는 상단 고정 바의 '편집' 버튼과 탭 줄의 '+'(분류 추가)로 스크롤 없이 바로 접근합니다.
- 접근성: 한국어 UI, 모든 입력 필드에 레이블, 키보드 조작, 명확한 포커스 표시, 완료 상태를 체크 표시와 텍스트로 함께 구분.
2. 로컬 실행 방법
빌드 과정이 없는 순수 HTML·CSS·JavaScript입니다.
- 가장 간단한 방법:
index.html 파일을 브라우저에서 직접 엽니다.
- 로컬 서버로 확인하려면(예: Python이 설치된 경우):
python -m http.server 8000
그다음 브라우저에서 http://localhost:8000/ 을 엽니다.
3. 저장 방식과 제한
- 모든 변경(체크, 금액, 메모, 분류, 제외 상태 등)은 현재 기기의 브라우저 localStorage에 자동 저장됩니다. 가족 공유(4-1)를 설정하면 여기에 더해 Firebase에도 저장되어 기기 간에 함께 바뀝니다. 저장 키는
birth-bag-checklist이며 데이터에 버전 번호(version)가 포함됩니다.
- 새로고침·브라우저 재실행 시 저장된 기록을 복원합니다. 기본 목록은 최초 접속 시에만 채워지며, 사용자가 수정한 목록을 기본값으로 덮어쓰지 않습니다.
- 제한 사항
- 다른 기기·다른 브라우저와 자동으로 동기화되지 않습니다.
- 브라우저 데이터(사이트 데이터·캐시)를 삭제하거나 시크릿/비공개 창을 닫으면 기록이 사라질 수 있습니다.
- 저장에 실패하면(저장 공간 부족, 저장소 차단 등) 화면 상단에 경고를 표시하고 '저장됨'으로 표시하지 않습니다. 이 경우 JSON 내보내기로 백업하세요.
- 저장된 데이터가 손상된 경우 화면이 멈추지 않도록 기본 목록으로 시작하고, 손상된 원본은 별도 키(
birth-bag-checklist:corrupt-<시각>)로 보관합니다.
4. 백업·복원 방법
기기 간 옮기기(예: PC에서 적은 내용을 휴대폰으로) — 기록은 기기마다 따로 저장되므로 자동으로 동기화되지 않습니다.
- 보내는 기기에서 백업 → 텍스트로 복사를 누릅니다.
- 카카오톡 '나에게 보내기', 메일 등으로 그 텍스트를 받는 기기에 보냅니다.
- 받는 기기에서 텍스트를 복사한 뒤 백업 → 텍스트 붙여넣어 불러오기에 붙여넣고 불러오기를 누릅니다. 현재 목록이 통째로 교체되므로 확인 창에서 내용을 확인하세요.
파일로 백업
- 상단의 백업 → JSON 파일로 내보내기를 누르면
출산가방-체크리스트-YYYY-MM-DD.json 파일이 다운로드됩니다. 분류, 준비물, 수량, 단위, 메모, 체크·제외 상태가 모두 포함됩니다.
- 다른 기기나 브라우저에서 백업 → JSON 파일 불러오기로 해당 파일을 선택합니다.
- 파일 구조와 값을 검증한 뒤, 현재 목록을 파일 내용으로 교체할지 확인 창이 뜹니다. 확인해야만 교체됩니다.
- 형식이 잘못된 파일을 선택하면 오류 이유를 안내하고 기존 기록은 그대로 유지됩니다.
파일 예시:
{
"version": 1,
"categories": [{ "id": "…", "name": "아기 용품" }],
"items": [
{ "id": "…", "categoryId": "…", "name": "젖병", "price": 5000, "memo": "", "done": false, "excluded": false }
],
"notes": [
{ "id": "…", "date": "2026-09-18", "title": "정기검진", "body": "다음 진료에 태동검사 예정" }
],
"highlights": "마스크 꼭 착용\n다음 진료 태동검사"
}
4-1. 가족 공유(동기화) 설정 — Firebase
기본 상태에서는 기록이 기기마다 따로 저장됩니다. 아래 설정을 하면 공유 링크를 연 기기끼리 실시간으로 같은 목록을 씁니다(로그인 없음, 무료 플랜).
- https://console.firebase.google.com 에서 프로젝트를 만듭니다(구글 애널리틱스는 꺼도 됩니다).
- 왼쪽 빌드 → Realtime Database → 데이터베이스 만들기. 위치는 가까운 곳(예: asia-southeast1), 보안 규칙은 잠금 모드로 시작해도 됩니다(아래 규칙으로 바꿀 것).
- 규칙 탭에 아래 내용을 붙여넣고 게시합니다. 방 ID(20자 이상 무작위 문자열)를 아는 사람만 그 방을 읽고 쓸 수 있고, 목록 전체를 훑어볼 수는 없습니다.
{
"rules": {
"rooms": {
"$room": {
".read": "$room.matches(/^[a-z0-9]{20,40}$/)",
".write": "$room.matches(/^[a-z0-9]{20,40}$/)"
}
}
}
}
- 프로젝트 설정(톱니바퀴) → 일반 → 내 앱 → 웹 앱 추가(
</> 아이콘). 호스팅은 체크하지 않습니다. 화면에 나오는 firebaseConfig 값을 이 저장소의 firebase-config.js에 붙여넣습니다.
window.FIREBASE_CONFIG = {
apiKey: "…", authDomain: "…", databaseURL: "https://…firebasedatabase.app",
projectId: "…", storageBucket: "…", messagingSenderId: "…", appId: "…"
};
- 커밋·push(또는
deploy.cmd)로 배포합니다.
사용 방법
- 사이트 상단 가족 공유 → 공유 링크 만들기를 누르면 이 기기의 목록이 서버에 올라가고 링크가 만들어집니다.
- 그 링크를 가족 휴대폰에 보내 열면 바로 연결됩니다. 이후 어느 기기에서 바꾸든 몇 초 안에 서로 반영됩니다.
- 이미 목록이 있는 기기에서 링크를 열면 "링크의 목록으로 교체할까요?"를 물어봅니다. 취소하면 참여하지 않습니다.
- 인터넷이 끊겨도 기기에 저장되고, 연결되면 자동으로 올라갑니다. 상단의 상태 표시(가족 공유 중 / 오프라인 / 동기화 오류)로 확인할 수 있습니다.
- 가족 공유 → 이 기기에서 공유 끊기로 연결을 해제할 수 있습니다. 서버의 목록은 남습니다.
주의: 링크를 아는 사람은 누구나 읽고 쓸 수 있습니다. 진료 메모 등 민감한 내용이 구글 클라우드(Firebase)에 저장되므로 링크는 가족에게만 보내세요.
로컬 개발 시 http://localhost:포트/?sync=mock 으로 열면 Firebase 없이 브라우저 저장소를 가짜 서버로 써서 탭 간 동기화를 시험할 수 있습니다.
5. GitHub Pages 배포 절차
이 저장소는 루트에 index.html이 있으므로 기본 설정으로 배포할 수 있습니다. 모든 리소스 경로가 상대 경로(./style.css, ./app.js)이므로 /luckybbu/ 하위 경로에서도 정상 로드됩니다. .nojekyll 파일이 있어 Jekyll 처리를 건너뜁니다.
- 저장소가 Public이어야 합니다(무료 플랜에서 Private 저장소는 Pages를 사용할 수 없습니다).
- GitHub 저장소 페이지에서 Settings → Pages 로 이동합니다.
- Build and deployment → Source에서 Deploy from a branch를 선택합니다.
- Branch에서
main, 폴더는 / (root) 를 선택하고 Save를 누릅니다.
- 1~2분 뒤 같은 화면 상단에 배포 주소가 표시됩니다. 예상 주소:
https://kkkkkijun.github.io/luckybbu/
6. 수정 후 재배포 방법
main 브랜치에 push하면 GitHub Pages가 자동으로 다시 배포합니다. 별도 빌드 명령은 없습니다.
- 가장 쉬운 방법 (Windows): 파일을 수정한 뒤 폴더의
deploy.cmd를 더블클릭합니다. 변경 사항을 자동으로 커밋하고 push한 뒤 결과와 접속 주소를 보여 줍니다. 변경이 없으면 아무것도 하지 않습니다.
- 터미널을 쓰는 경우:
git add .
git commit -m "변경 내용 설명"
git push origin main
반영까지 보통 1~2분이 걸리며, 브라우저 캐시 때문에 이전 화면이 보이면 강력 새로고침(Ctrl+Shift+R)을 하세요.
파일 구조
index.html 화면 구조
style.css 스타일 (화이트·크림 배경, 피치 포인트, 반응형 3열/1열)
app.js 상태 관리, localStorage 저장, 렌더링, 백업
sync.js 가족 공유 동기화 (Firebase Realtime Database)
firebase-config.js Firebase 설정값 (비어 있으면 공유 기능 꺼짐)
deploy.cmd 더블클릭으로 커밋·push(재배포) — Windows 전용
.nojekyll GitHub Pages에서 Jekyll 처리 생략
홈 화면에 앱으로 추가 (웹앱)
매니페스트와 아이콘, 서비스 워커가 있어 스마트폰 홈 화면에 앱처럼 추가할 수 있고, 한 번 연 뒤에는 오프라인에서도 열립니다(온라인이면 항상 최신).
- 아이폰(Safari): 사이트를 열고 공유 버튼 → ‘홈 화면에 추가’.
- 안드로이드(Chrome): 메뉴(⋮) → ‘홈 화면에 추가’ 또는 ‘앱 설치’.
- 앱 이름은
luckybbu, 아이콘은 손잡은 두 사람 위에 하트가 있는 그림입니다. 이름·아이콘은 manifest.webmanifest와 아이콘 파일에서 바꿀 수 있습니다.
- 웹앱과 가족 공유: 홈 화면 웹앱은 브라우저와 저장 공간이 다르고, 카톡 등에서 링크를 눌러도(아이폰은 Safari에서 열림) 웹앱에는 연결되지 않습니다. 웹앱을 연 뒤 설정 → 가족 공유에 받은 링크나 코드를 붙여넣고 ‘참여’를 누르세요. 연결된 기기의 설정 화면에는 링크 복사와 함께 코드 복사 버튼이 있습니다.
- 오프라인: 한 번 열어 둔 뒤에는 인터넷 없이도 열리고 체크·메모가 기기에 저장됩니다. 공유 방에 못 올린 변경은 기기에 따로 보관했다가 다음에 연결될 때 먼저 올린 뒤 서버 내용을 받으므로, 오프라인에서 한 변경이 서버 내용에 덮이지 않습니다.
- 백업 내보내기: 홈 화면 웹앱에서는 ‘JSON 파일로 내보내기’가 공유 시트로 열립니다(‘파일에 저장’ 선택). 브라우저에서는 바로 다운로드됩니다.
- 배포 시 캐시 갱신:
index.html의 ?v= 값과 sw.js의 CACHE 이름·CORE 목록의 ?v= 값을 같은 버전으로 함께 올리면, 설치된 웹앱도 다음 실행 때 새 파일을 받고 옛 캐시를 지웁니다.
범위 밖 (이번 버전에 포함하지 않음)
인쇄·PDF용 화면, 실시간 공동 편집, 알림, PWA(오프라인 설치)는 포함하지 않았습니다.