RuleBook
Google Play · App Store 출시
출석·벌칙·벌금을 관리하는 앱
배경
교회 아이들의 출석과 벌점·상점처럼, 함께 정한 "우리들의 규칙"을 보기 편하게 정리하려고 만든 앱입니다. RuleBook은 출석, 경고, 벌점, 벌금을 기록하고 관리하는 모바일 앱입니다. 학생을 그룹 단위로 묶고, 그룹마다 경고 몇 번이 벌점이 되는지와 벌점당 벌금을 따로 정할 수 있습니다. 데이터는 기기에 저장되고 Excel 파일로 내보낼 수 있습니다.
요구사항 문서(PRD) 작성부터 스토어 배포까지 혼자 진행한 1인 개발 프로젝트입니다.
맡은 역할
- PRD 작성 — MVP 범위와 MVP 이후 기능 정리
- 핵심 로직 — 학생·그룹 관리, 경고의 벌점 자동 전환, 벌금 계산
- 출석 체크 — table_calendar 기반 날짜별 그룹 출석 화면
- 내보내기와 다국어 — Excel 내보내기·공유, 한국어/영어 전환
- 배포와 유지보수 — AdMob 광고, 반응형 UI, 스토어 버전 업데이트
과정
첫날 MVP를 만들었습니다. 2025년 2월 23일 첫 커밋 당일에 MVP 구현을 마쳤고, 이후 사흘 동안 UI를 다듬었습니다.
MVP 이후로 미뤄둔 기능을 출시 전에 당겨왔습니다. PRD에서 MVP 이후로 분류한 Excel 내보내기와 출석 체크를 3월에 먼저 만들었습니다. 그룹 출석은 여러 번 고친 끝에 완성했습니다.
출시 후에도 필드를 늘렸습니다. 3월 20일 정식출시 이틀 뒤 상점, 메모, 출석 일수 필드를 담아 1.1.1을 배포했습니다. 2026년 7월에는 Android 16 타깃 SDK 요구에 맞춰 1.1.7로 올렸습니다.
기술적 결정
MVP는 로컬 저장, 서버는 이후로
- 상황PRD는 Firebase·Supabase 클라우드 저장과 사용자 간 동기화를 MVP 이후 기능으로 분류했습니다.
- 결정서버 없이 shared_preferences와 JSON 직렬화로 기기에 저장하고, 상태는 Provider 서비스 계층으로 관리했습니다.
- 결과출시 뒤 필드를 추가할 때
fromJson에 기본값 0을 두어, 기존 저장 데이터도 읽히게 했습니다.
경고 기준을 바꾸면 기존 기록도 새 기준으로 다시 계산
- 상황경고가 그룹 기준에 도달하면 벌점 1점으로 바뀌는데, 이 기준은 언제든 바꿀 수 있습니다.
- 문제기준만 바꾸면 이미 새 기준을 넘긴 학생의 경고가 벌점으로 바뀌지 않은 채 남습니다.
- 결정설정을 저장할 때 학생 전원의 경고를 새 기준으로 나눠, 몫은 벌점에 더하고 나머지만 경고로 남겼습니다.
반응형 레이아웃은 flutter_screenutil로
- 상황출시 두 달 뒤인 2025년 5월, 반응형 UI 작업을 진행했습니다.
- 결정flutter_screenutil로 iPhone 12 화면(390×844)을 기준 삼아 크기를 비율에 맞춰 조정했습니다.
결과
- 2025년 3월 20일 Google Play와 App Store에 출시했습니다.
- 출시 후 1.1.1부터 1.1.7까지 업데이트를 배포했습니다.





