
화면 설계에 앞서 지난 글에서 언급한 메인 기능은 다음과 같다.
서비스에 필수적으로 들어가야할 기능들이다. 또한 로그인/회원가입 기능, 동아리 공지사항 및 규정 확인, 마이페이지 등의 기능들도 포함 되어야 한다.
이런 기능들을 하나의 서비스에 사용성이 좋게 느낄 수 있도록 설계하는 것이 보통 PM의 역할이다. 뼈속까지 개발자인 나로선 정말 힘든 작업이었다. 부원과 운영진을 둘 다 해본 입장으로서, 내가 사용자가 됐을 때 어떻게 하면 편리함을 줄 수 있을까에 대한 고민을 많이 했다.

필수 기능을 토대로 대략적인 화면 설계를 해봤다. 피그마와 같은 전문적인 툴을 사용하여 설계하는 것이 깔끔하겠지만, 시간 관계상 출근길 셔틀 버스에서 아이패드로 작업을 했다.😂 우선 끝까지 개발하는 것이 목표이기 때문에 대회 기능은 출시 이후에 개발하기로 정했다. 동아리 대회는 5~6월 사이에 진행하기 때문에 당장 급한 기능이 아니기 때문이다.
화면 설계를 바탕으로 디자인을 진행했다. 각 화면과 세부적인 기능에 대해 살펴보자.
회원 가입 시 사용자에게 필요한 정보만 입력 받는다. 로그인과 회원가입 기능 외에 이메일을 활용하여 비밀번호 찾기 기능 또한 구현할 예정이다.

사용자가 부원일 경우, 홈 화면에서는 서비스 사용법, 공지사항, 동아리 규정을 확인할 수 있는 배너를 상단에 포함 시킬 것이다. 그리고 각 배너는 노션 링크와 연결할 예정이다. 부원은 홈 화면에서 캘린더를 통해 출석 현황을 한 눈에 볼 수 있다. 좀 더 디테일한 출석 현황을 보고 싶다면 출석 내역을 확인하면 된다. 또한 출석 하기 기능을 통해 출석을 할 수 있다.

사용자가 운영진일 경우 부원과 약간 다르다. 우선 운영진은 출석하기 기능 자체가 없기 때문에 캘린더에서 출석 현황을 볼 수 없다. 이렇게 구현한 이유는 이전 기수나 다음 기수에 해당 운영진이 부원으로서 활동하는 것까지 고려한 것이다. 운영진은 부원이 요청한 출석을 수락하거나 거절할 수 있다. 또한 각 부원별 출석 내역을 한 번에 볼 수 있다.

기록하기 기능은 동아리 활동 중에 운동한 모든 내역을 기록할 수 있다. 사용자가 입력한 내용은 검증할 수 없는 내용이기 때문에 자율성과 양심에 맡길 것이다. 입력한 운동 기록은 다시 수정할 수도 있다.

랭킹은 사용자가 작성한 기록을 종합하여 집계 후 보여준다. 크게 주간 랭킹과 해당 기수의 전체 랭킹을 확인할 수 있다. 랭킹은 본인이 등록한 볼더링 난이도의 문제는 1점, 아래 난이도의 문제는 0.5점, 본인의 난이도 보다 높은 문제는 2점으로, 총합 점수를 기준으로 한다.

마이페이지는 처음 가입 시 등록했던 정보들을 확인할 수 있고, 변경 사항이 있을 경우 수정할 수 도 있다. 또한 출석 및 운동 기록의 요약 내역을 확인할 수 있다.

좀 더 디테일하게 기획을 한다면, 훨씬 더 자세한 화면 설계서와 기능 명세서 또한 작성하는 것이 맞다. 하지만 이렇게 진행한다면 배보다 배꼽이 커지는 일이 발생하여 개발 시작도 전에 지칠 것 같다는 판단이 들었다.
이런 식으로 서비스의 설계와 디자인을 직접 해보니 정말 디테일한 부분까지 신경써야하고 각 기능별 연관관계에 대해서도 깊이 신경써야 한다는 것을 크게 느꼈다. 다음 글에서는 이러한 설계를 바탕으로 요구사항에 맞춰 데이터 모델링 하는 과정을 다뤄보겠다.