직원이 직접 쓰는 예약 페이지 만들기 (10)

문과생 유목이의 개발일지 · 10화
서버가 있고 창고가 있다. 이제 사람이 실제로 보는 화면을 만들 차례였다.
흐름부터 정했다
화면을 그리기 전에 순서를 정했다.
자원 고르기
→ 날짜 고르기
→ 시작시간
→ 종료시간
→ 이름·연락처 입력
→ 신청
여섯 단계다. 더 줄이고 싶었지만 어느 하나도 뺄 수 없었다.
중요한 건 순서였다. 자원을 먼저 고르게 한 이유는, 그래야 그 자원의 빈 시간만 보여줄 수 있기 때문이다. 날짜를 먼저 물으면 회의실·차량·장비의 일정을 전부 불러와야 한다. Google Sheet가 느려졌던 이유가 정확히 그거였다.
빈 시간을 눈으로 보여주기
이게 이 페이지를 만드는 진짜 이유였다.
기존 방식에서 사용자는 빈 시간을 모른 채로 신청했다. 겹치면 반려 메일이 왔다. 4화에서 내가 "예약이 아니라 응모"라고 썼던 게 이 지점이다.
그래서 날짜를 고르면 그날의 시간대가 한눈에 깔리도록 만들었다. 이미 찬 시간은 회색으로 막아두고, 누를 수 없게 했다. 애초에 선택이 불가능하면 중복예약은 일어나지 않는다.
막힌 칸에 누가 예약했는지는 보여주지 않았다. "예약 있음"까지만 표시했다. 직원 전체가 서로의 일정을 들여다볼 이유는 없다고 판단했다.
핸드폰이 1순위였다
5화에서 가장 아쉬웠던 게 외근 나간 직원이었다. 돌아오는 길에 회의실을 잡아야 하는 사람이 정작 예약을 못 했다.
그래서 이번엔 순서를 뒤집었다. PC 화면을 만들고 핸드폰에 맞추는 게 아니라, 핸드폰 화면을 먼저 만들고 PC로 넓혔다.
기준은 하나로 잡았다. 한 손으로, 엄지로, 끝까지 갈 수 있는가. 그래서 입력칸을 최대한 줄였다. 시간은 직접 치는 대신 눌러서 고르게 했고, 소속은 목록에서 선택하게 했다.
박 과장님의 테스트
얼추 돌아가길래 박 과장님에게 링크를 보냈다. 5분 뒤에 메신저가 왔다.
"종료시간이 시작시간보다 앞인데 그냥 넘어가는데?"
한번에 성공했다면, 내가 괜히 문과를 갔겠나? 역시나 문제가 생겼다. 오후 4시에 시작해서 오후 2시에 끝나는 예약이 멀쩡히 저장됐다. 나는 당연히 사람들이 순서대로 고를 거라고 생각했다.
잠시 뒤에 하나 더 왔다.
"그리고 작년 날짜로도 예약이 되는데."
이것도 맞았다. 과거 날짜를 막아둘 생각을 못 했다.
그날 퇴근 하고 두가지를 고치기 위해 씨름 하였다. 2시간 정도 걸렸나? 다만 만든 사람은 자기가 생각한 대로만 써본다는 걸 여기서 배웠다. 이후로는 기능을 하나 만들 때마다 박 과장님에게 먼저 보냈다.
이제 직원이 직접 들어와서 빈 시간을 보고 예약을 넣을 수 있게 됐다. 여기까지가 "예약 받기"다.
그런데 받은 예약을 그대로 확정해도 되는 걸까. 임원 보고가 잡힌 회의실에 누가 모르고 예약을 걸면 어떻게 될까.
다음 편 — 관리자 승인 기능 만들기 (11)
※ 이 연재에 등장하는 ㈜세움과 모든 인물은 가상이다. 기술적인 구성과 시행착오는 실제 구축 경험을 바탕으로 재구성했다.
댓글
댓글 쓰기