Projects

Anjeuljido

곧 내릴 자리를 같은 열차에서 확인한다. 좌석도와 큰 버튼으로 자리를 고르고, 필요한 노선을 요청한다.

React / TypeScript / Apps in Toss / Vitestv0.1.0 · 비공개 테스트 · Private

eundo/anjeuljido · 소스 확인

목차

지하철에서 곧 내릴 사람이 자기 좌석을 표시하면, 같은 열차 안의 사람이 참고하는 앱입니다. 자리를 예약하는 대신 짧게 유효한 하차 예정 신호를 주고받습니다.

출퇴근길에서 설계가 달라진 부분

실제 차량 문 위의 번호를 입력했는데 앱이 보여주는 열차번호와 달랐습니다. 사용자가 볼 수 있는 차량번호와 API의 운행번호를 같은 값처럼 취급한 것이 문제였습니다.

직접 출퇴근하며 번호와 표시 위치를 확인하고 관련 자료를 제시했습니다. GPS가 안 되는 곳의 수동 선택은 거리 제한과 분리하고, 호차 다음에 문을 또 고르게 하는 단계도 없애도록 요청했습니다.

Codex와 차량번호를 편성·호차 힌트로 분리하고, 운행 후보는 현재 역·다음 역·행선지를 사용자가 확인하도록 바꿨습니다. 차량번호만으로 운행을 자동 확정하지 않습니다. 전체 좌석을 누르면 가까운 문 정보는 좌석 데이터에서 가져옵니다.

좌석 등록 흐름에서 문 선택 한 단계를 제거했습니다. 현재 소스에는 수동 선택을 늦은 GPS 응답이 덮지 않는 처리, 차량번호와 운행번호 분리, 좌석 선택 상태를 검사하는 테스트가 있습니다. 비공개 테스트 단계이며 실제 이용자 간 공유 쓰기는 제한 중입니다.

API에 존재하는 정보가 사용자가 현장에서 확인할 수 있는 정보와 같지는 않았습니다. 출퇴근 테스트를 통해 입력과 내부 식별을 다시 나눴습니다.

열차를 확인하는 과정부터

자리를 보는 사람과 알리는 사람의 시작 경로를 나눴습니다. 조회는 세 단계, 등록은 네 단계로 진행 상황을 보여줍니다. 위치를 찾는 동안에도 역을 직접 검색할 수 있고, 행선지·현재 역·다음 역을 사용자가 확인한 뒤 열차를 선택합니다.

위치 추정만으로 첫 번째 열차를 자동 확정하지 않습니다. 근거 없는 확률 수치는 제거하고, 후보를 찾지 못한 상태와 조회에 실패한 상태를 구분했습니다. 이전 요청의 늦은 응답이 현재 선택을 덮지 않도록 처리합니다.

작은 좌석 그림의 다른 선택지

호차를 고르면 차량 전체 28석에서 바로 좌석을 선택합니다. 5호선은 8량, 9호선은 6량을 반영하며 가까운 문 번호는 선택한 좌석에서 계산합니다.

좌석도가 작게 느껴질 때는 큰 버튼 목록으로 바꿀 수 있습니다. 56px 크기의 선택 버튼과 키보드 탐색을 제공하고, 선택한 자리는 게시 전 다시 확인합니다. 차량 이미지는 대표 배치도이며 모든 실차의 구조를 검증한 도면은 아닙니다.

필요한 노선을 요청받기

현재 지원하는 5·9호선 외에 사용하고 싶은 노선을 홈에서 요청할 수 있습니다. 한 번에 최대 세 노선을 고르고, 전송 결과를 확인합니다. 실패 후 재시도로 같은 요청이 중복 집계되지 않도록 요청 식별자를 사용합니다.

수집 항목은 선택한 노선과 요청 식별자입니다. 연락처·위치·자유 입력은 받지 않습니다. 요청 이력은 90일 보관 대상으로 설계했고, 집계 숫자는 이용자 수가 아닌 요청 건수로 다룹니다.

신호의 수명과 운영 범위

신호 생성·수정·종료, 만료, 신고 흐름을 구현했습니다. 현재 배포 기록에서 노선 요청 API는 활성화돼 있지만, 이용자 사이의 공유 신호 쓰기와 보상은 별도 운영 조건을 충족하기 전까지 차단돼 있습니다.

갤러리는 v0.1.0에 보관된 개발용 브라우저 캡처입니다. 열차·좌석 신호는 데모 데이터이며, 추가 노선 화면도 선택 상태를 보여주는 자료입니다.

Snapshot

항목현재 범위
버전v0.1.0, 비공개 테스트
대상서울 지하철 5호선·9호선
선택28석 배치도 또는 큰 좌석 버튼
추가 노선최대 3개 선택, 중복 재전송 방지
운영노선 요청 수집 활성화, 공유 쓰기·보상은 제한

Recent Notes

  • 2026.09.26 v0.1.0 소스와 화면, 릴리스 검증 기록을 함께 보관했습니다.
  • 09.25 추가 노선 요청과 접수·재시도 흐름을 반영했습니다.
  • 09.23 시작 경로, 단계 표시, 위치 대기 중 수동 검색, 큰 좌석 버튼과 접근성을 다듬었습니다.

릴리스 기록에는 앱 테스트 298개와 릴리스 검사 6개의 통과 결과가 있습니다. 이번 09.30에는 소스와 이 기록을 대조했습니다. 실제 지하철·토스 기기 검증이나 보관 데이터 정리 작업의 운영 실행까지 확인했다는 의미는 아닙니다.

Next

토스 실제 기기와 지하철에서 열차 확인·좌석 선택을 점검하고, 공유 쓰기를 열기 위한 운영 조건을 확인할 예정입니다. 개발용 보상인 쉼표는 테스트 상태이며 실제 토스포인트가 아닙니다.