마무리 개발 제안 · 동작 데모 포함

로드맵 독서실
학습관리 웹앱 마무리 개발

오픈까지 남은 기능을 채우고, 오픈 이후에도 이어서 맡겠습니다

신영진  |  백엔드 개발 · 시스템 운영 파트너

학습 상담 시스템을 먼저 만들어 봤습니다

공고에 신규 기능으로 명시하신 항목입니다. 기존 웹앱에 붙는 형태로 학생·관리자 양쪽 흐름을 구현했습니다

상담 신청 화면

학생 — 상담 신청

유형·희망 시간·내용을 입력해 신청합니다. 이미 예약된 시간은 선택할 수 없게 표시해 중복 신청을 막았습니다

학생 상담 내역

학생 — 내 상담 내역

자기 신청만 조회됩니다. 관리자가 일정을 확정하면 확정 시간과 담당 선생님이 바로 표시됩니다

데모는 실제로 눌러가며 확인하실 수 있습니다.

02

관리자 화면 — 확정과 기록

신청을 확정하면 학생 화면에 즉시 반영되고, 상담 후 기록을 남기면 다음 상담 때 이력으로 쌓입니다

관리자 상담 신청 관리

상담 신청 관리

카드를 눌러 상세를 열고 일정과 담당 선생님을 지정해 확정합니다. 신청 취소도 여기서 처리합니다

상담 기록

상담 기록

상담에서 정한 내용과 다음 점검 계획을 기록합니다. 학생별 상담 이력이 쌓여 학습 분석지와도 연결할 수 있습니다

03

기존 구조를 그대로 존중하겠습니다

마무리 개발에서 가장 큰 위험은, 이어받은 사람이 자기 방식으로 구조를 바꾸는 것입니다

1빌드 없는 구조 유지바닐라 HTML/JS/CSS와 GitHub Pages 배포 방식을 그대로 둡니다. 프레임워크를 새로 들이면 빌드 파이프라인이 생겨 오픈 전에 배포 방식부터 흔들립니다
2Val Town 기존 패턴 따르기이미 만들어진 val의 구성과 SQLite 테이블 설계를 먼저 읽고, 같은 방식으로 확장합니다. 새 패턴을 섞으면 이후 유지보수가 어려워집니다
3Firebase 인증 재사용학생 식별은 기존 Firebase 인증을 그대로 쓰고, 상담 데이터에 학생 식별자만 연결합니다. 인증을 새로 만들지 않습니다
4화면 톤 맞추기UI 개선은 기존 화면의 색·간격·컴포넌트를 먼저 정리한 뒤 적용합니다. 새 기능만 다른 스타일로 튀지 않게 합니다
데모 화면도 이 원칙에 따라 빌드 과정 없이 순수 HTML/CSS/JS만으로 만들었습니다. 그대로 기존 프로젝트에 붙일 수 있는 형태입니다.
04

Val Town 환경에서 유의할 점

확장 작업 전에 함께 확인하고 싶은 사항입니다

SQLite 스키마 변경Val Town 환경에서는 기존 테이블 구조를 바꾸는 것보다 새 테이블을 만들어 옮기는 방식이 안전합니다. 상담 기능은 기존 테이블을 건드리지 않고 새 테이블로만 추가해, 이미 쌓인 플래너·공부일기 데이터에 영향이 없도록 하겠습니다
실행 한도 확인Val Town은 요금제별로 실행 횟수 한도가 있습니다. 학생들이 실제로 쓰기 시작하면 호출량이 늘어나므로, 현재 요금제와 최근 사용량을 착수 시 함께 확인하고 필요하면 호출을 줄이는 방향으로 조정하겠습니다
Claude API 비용챗봇은 학생 수에 비례해 비용이 늘어납니다. 오픈 전에 학생당 사용량 상한이나 일일 한도를 두는 편이 안전합니다. 현재 제한이 없다면 함께 논의드리고 싶습니다
버전 롤백Val Town은 저장할 때마다 버전이 남아 되돌릴 수 있습니다. 오픈 직전 작업은 이 점을 활용해 단계별로 저장하고, 문제 시 즉시 이전 버전으로 되돌리겠습니다
05

성공적인 마무리의 기준

아래가 충족되면 이 프로젝트가 성공적으로 마무리되었다고 봅니다

1학생이 실제로 쓰는 것오픈 첫 주에 학생들이 별도 안내 없이 상담을 신청하고 플래너를 쓰는 것. 기능이 다 있어도 쓰기 불편하면 예전 방식으로 돌아갑니다
2기존 데이터가 그대로 있는 것지금까지 쌓인 플래너·공부일기 기록이 손실이나 오류 없이 유지되는 것
3선생님이 관리자 화면만으로 처리하는 것상담 확정과 기록을 개발자 도움 없이 직접 할 수 있어야 실제 운영이 돌아갑니다
4오픈 후 바로 조치할 수 있는 상태오픈 직후에는 반드시 예상 못한 문제가 생깁니다. 그때 빠르게 고칠 수 있는 체계가 갖춰져야 마무리라고 봅니다
특히 4번을 강조드리고 싶습니다. 오픈은 끝이 아니라 문제가 드러나기 시작하는 시점입니다. 그래서 장기 유지보수까지 함께할 의향이 있다는 점을 먼저 말씀드립니다.
06

진행 방식과 일정

1개월 기준 · 범위가 열려 있는 작업이라 우선순위를 먼저 정하고 시작하는 것을 제안드립니다

1주코드 파악 · 범위 확정

기존 소스와 Val Town 구성 점검, 버그 목록 정리, 개발 항목 우선순위 합의

2~3주신규 기능 개발

학습 상담 신청·관리 시스템 구축, 기존 기능 버그 수정

4주UI 개선 · 오픈 점검

화면 정리, 실제 기기 테스트, 오픈 전 최종 점검과 배포

범위에 대한 제안 — 공고에 "그 외 기능들"이라고 적혀 있어 작업량을 미리 가늠하기 어렵습니다. 1주차에 개발 항목을 목록으로 만들어 필수 / 오픈 후로 나눠 합의하는 방식을 제안드립니다. 그래야 오픈 일정을 지킬 수 있고, 이후 추가 요청도 기준을 두고 논의할 수 있습니다.
07

확인이 필요한 부분

미팅 시 소스코드와 함께 확인하고 싶은 사항입니다

?현재 버그 목록이미 알고 계신 문제가 있다면 목록으로 주시면, 견적과 일정을 더 정확히 잡을 수 있습니다
?"그 외 기능들"의 범위염두에 두신 기능이 있으신지 — 상담 외에 더 있다면 우선순위를 함께 정하고 싶습니다
?예상 학생 수동시 사용 규모에 따라 Val Town 요금제와 Claude API 한도 설정이 달라집니다
?상담 운영 방식선생님이 몇 분이신지, 상담 가능 시간대가 정해져 있는지에 따라 예약 화면 구성이 달라집니다
?오픈 목표 시점정해진 날짜가 있다면 역산해서 범위를 조정하겠습니다
08

오픈까지, 그리고
오픈 이후까지

마무리 개발만 하고 떠나는 것이 아니라, 학생들이 쓰기 시작한 뒤에도 이어서 맡을 수 있습니다.
데모는 직접 눌러보실 수 있습니다.

신영진  |  백엔드 개발 · 시스템 운영 파트너