서브컬처 게임 일정·보상 대시보드
Oshi Calendar
Calendar를 만들다가 Calendar를 없앴습니다
여러 게임의 종료 임박 일정, 오늘 할 일과 보상을 모은 대시보드입니다. 공동 기획과 프론트엔드 전 영역을 맡았으며, 월별 캘린더 중심의 초기 구성을 마감과 보상 우선순위 중심으로 바꿨습니다.
The Problem
여러 게임의 이벤트와 소식을 웹과 게임 안에서 각각 확인해야 해서 피곤했습니다.
- 기간
- 2026.06 — 현재
- 역할
- Developer
- 상태
- 이용 가능 · 홍보 전

- 1. 날짜로 일정을 찾는 캘린더는 좌측 레일에 남겼습니다.
- 2. 첫 자리는 종료 임박 일정입니다. D-3 · D-5처럼 남은 일수를 바로 보여줍니다.
- 3. 그 옆에 오늘 할 일을 둡니다.
- 4. 보상 현황도 같은 화면에서 확인합니다. 표시된 수치는 목업 데이터입니다.
게임마다 따로 확인하던 이벤트 종료일
여러 게임을 하는 사용자는 각 게임의 이벤트와 콘텐츠 종료 일정을 게임마다 따로 확인해야 합니다. 어느 하나를 놓치면 그동안 쌓은 진행도에 걸린 보상을 통째로 잃습니다.
처음 세운 가설은 단순했습니다. 흩어진 일정을 하나의 캘린더에 합치면 해결된다.
캘린더보다 먼저 보여줘야 했던 것
캘린더를 만들면서 팀 안에서 자주 나오는 질문을 정리했습니다. 날짜별 일정 목록보다 지금 마감이 가까운 일과 놓칠 보상을 먼저 확인하고 싶었습니다.
사용자가 실제로 던지는 질문
- 01지금 뭘 놓치기 직전이지?
- 02놓치면 어떤 보상을 잃지?
- 03그래서 오늘 뭘 해야 하지?
월별 캘린더에서는 종료일까지 며칠 남았는지 직접 계산해야 했습니다. 남은 시간과 보상을 화면에 함께 보여주기로 했습니다.
초기 월별 캘린더
- 월 단위 격자
- 날짜를 골라 그날의 일정 확인
- 남은 기간은 사용자가 직접 계산
마감·보상 중심 대시보드
- 종료 임박 순으로 정렬된 일정
- 보상 우선순위
- 오늘 할 일
- 게임 허브
날짜로 일정을 찾는 기능은 좌측 레일의 캘린더에 남겨 두고, 첫 화면을 대시보드로 바꿨습니다.
종료 임박 일정 옆에 오늘 할 일과 보상 배치하기
화면의 첫 자리를 종료 임박 일정에 내주고, 그 옆에 오늘 할 일과 보상 현황을 두었습니다. 사용자가 접속해서 가장 먼저 보는 것이 가장 급한 것이 되도록 배치했습니다.
비회원은 바로 쓰고 회원은 설정을 이어 쓰도록
비로그인 사용자도 선택한 게임과 카테고리 필터를 유지할 수 있어야 했습니다. 로그인한 사용자는 다른 기기에서도 같은 설정을 이어 쓸 수 있게 저장 위치를 나눴습니다.
비로그인 사용자의 필터 설정을 유지해야 하지만, 그것 때문에 회원가입을 강제하고 싶지는 않았다.
- LocalStorage만 사용한다
- 서버에만 저장하고 로그인을 요구한다
- 비로그인은 LocalStorage, 로그인은 서버에 저장한다
상태에 따라 저장 위치를 나눈다
LocalStorage만 쓰면 다른 기기에서 설정을 불러올 수 없고, 서버만 쓰면 처음부터 로그인이 필요합니다. 비회원 설정은 브라우저에 저장하고, 회원 설정은 서버에 저장해 여러 기기에서 불러오도록 했습니다.
저장 위치
- 01비로그인 — Filter Preference → LocalStorage
- 02로그인 — Preference → Server
- 03로그인 시 서버 데이터와 동기화
불러오는 중인지, 결과가 없는지 구분하기
외부 데이터에 의존하는 서비스라 정상 화면만 만들어서는 부족했습니다. 데이터가 없는 것인지, 못 불러온 것인지, 아직 오는 중인지를 사용자가 구분하지 못하면 서비스가 고장 난 것으로 보입니다.
- Loading — 오는 중
- Network Error — 못 불러옴
- Empty Result — 조건에 맞는 것이 없음
- Degraded — 데이터 품질이 낮음
- Normal — 정상
다섯 상태에 각각 다른 안내를 표시해 로딩 중인 화면과 데이터가 없는 화면, 오류가 난 화면을 구분했습니다.
말로 전달하던 데이터 형식을 문서와 화면으로
초기에는 데이터 구조를 구두로 전달했습니다. 그 결과 데이터 형식이 어긋나고, 같은 필드를 서로 다르게 해석하고, 그때마다 다시 만드는 일이 반복됐습니다.
반복을 끊기 위해 만든 것
- 01API 명세 작성
- 02데이터 기준 문서화
- 03관리자용 데이터 조회 화면
- 04데이터 직접 확인 · 편집 기능
관리자 화면에서 데이터를 직접 조회하고 편집할 수 있게 했습니다. 문제가 생기면 항목과 필드 값을 함께 확인하며 수정 내용을 논의했습니다.
다음에는 화면을 그리기 전에 질문부터
캘린더를 상당 부분 만든 뒤에 첫 화면을 바꿔야 했습니다. 이미 구현한 분량이 아쉬웠지만, 마감과 보상을 먼저 확인하는 용도에 맞춰 구성을 수정했습니다.
초기에 어떤 정보를 먼저 확인할지 정리했다면 화면을 다시 만드는 일을 줄일 수 있었을 것입니다.
이후 작업에서는 화면을 그리기 전에 이 화면이 어떤 질문에 답하는가를 먼저 적어 두고 시작하고 있습니다.