저장할 때마다 화면이 멈춘 것처럼 보임
- 문제
- Apps Script 응답이 가끔 크게 느려져, 저장 응답을 기다리는 동안 화면이 멈춰 있었습니다.
- 해결
- 화면에 먼저 반영하고 저장 요청은 뒤에서 보내는 방식(낙관적 업데이트)으로 바꿨습니다. 실패할 때만 서버 데이터로 되돌리고, 요청에는 시간 제한을 걸어 무한 대기를 막았습니다.
- 결과
- 업무 추가, 완료 체크, 담당 변경이 누르는 즉시 화면에 보입니다.
연구소 3인 팀의 담당표, 업무, 근무일정, 연간 일정을 한 화면에 모은 웹앱입니다. 구글 시트를 저장소로, Apps Script를 API로, GitHub Pages를 호스팅으로 써서 운영비 없이 돌아갑니다.
서버 없이 돌아가는 구조
예약 작업
팀 데이터는 원래 쓰던 구글 시트에 그대로 남습니다. 화면 캡처는 팀원 이름과 근무 정보가 보여 싣지 않았습니다.
연구소는 담당표와 업무를 구글 시트 하나로 관리했습니다. 내용이 늘수록 스크롤이 길어지고 휴대폰으로 보기 어려웠습니다. 시트의 데이터는 그대로 두고, 시트로는 불편했던 화면과 알림, 반복 작업을 웹앱으로 얹었습니다.
| 겪던 불편 | 바꾼 방법 |
|---|---|
| 시트가 길어지면 스크롤이 끝없고 휴대폰으로 보기 어려움 | 한 화면 대시보드, 모바일 반응형, 앱처럼 설치하는 PWA |
| 3주마다 담당 연구원이 바뀌어 매번 차례를 손으로 계산 | 기준 날짜로부터 3주 순환을 자동 계산하고 오늘 담당자를 강조 |
| 다른 일을 하다 보면 원래 업무를 놓침 | 마감 카운트다운 배지, 누락 업무 모아 보기, 당일 마감 브라우저 알림 |
| 행사와 외부 미팅이 잦아 한눈에 볼 곳이 필요 | 2026~2027 연간 캘린더, 한국 공휴일 내장 |
| 작은 팀이라 누가 쉬는지 바로 알아야 함 | 근무일정에서 연차와 반차를 뽑아 캘린더에 표시, 7일 안의 휴무 강조 |
| 회고 때 한 일을 기억하기 어려움 | 완료 업무를 자동으로 보관하고 담당자와 기간으로 다시 보기 |
팀 안에서만 쓰는 도구라 인증을 단순하게 두었습니다. 운영하면서 코드를 직접 점검해, 정식 서비스로 바꾼다면 필요한 인증, 입력값 처리, API 구조 개선안을 따로 정리해 두었습니다.