설악버스 개발기


1. 버스 시간표가 너무 어려워요
본가인 가평 설악과 서울 잠실간 광역버스 시간표가 버스 터미널에 부착돼있지만 체감상 14px로 A4가 꽉 찬 시간표라 나조차도 보기 힘들었다. 어르신들께서 시간표를 물어보셨고, 중학생인 동생도 헷갈려 하는 모습을 보고 세상 간편한 UI로 시간표 웹앱을 만들기로 마음을 먹었다.
2. 빠르게 개발 시작
단일페이지에다가 빠르게 만들기 위해 React + javascript로 정하고 바로 개발에 착수했다. 버스는 7000 ~ 7002번이고 시간표는 그냥 constant로 때려넣고 공공 데이터 포털에서 버스 실시간 도착 정보를 가져왔다. 그런데 10분 정도 오차가 있었다..

현재 시간 기준으로 시간표를 잘라서 지나간 시간은 회색으로 표시하도록 했다.
동네에서 네이버 band 앱 커뮤니티가 있는데, 아는 분께 부탁해 band에 글을 올렸다.

생각보다 밴드의 파급 효과가 컸다.

작은 동네에서 하루만에 153명이 접속해주셔서 상당히 놀랐다.
3. 더 많은 사람들이 알 수 있도록
더 많은 사람들이 이용해줬으면 하는 마음에 정류장에 포스터를 부착하면 좋겠다는 생각이 들었다. 그래서 관할 기관인 면사무소에 문의 후 포스터를 만들어 부착했다.
꾸준히 서비스를 이용해주시는 것 같아 시간표가 바뀔 때마다 틈틈히 업데이트할 예정이다
4. 실시간 버스 시간 오차 줄이기
양양고속도로가 공휴일, 주말에 상당히 많이 밀린다.. 그래서 편도 40분 거리가 3시간이 되는 것도 경험해보았기에 이렇게 되면 사실상 버스 시간표가 의미가 없어졌다.
그래서 머신러닝으로 공휴일 버스 도착 시간을 학습시켜 예상 도착 시간을 도출해봐야겠다라는 생각을 했다.
그렇게 23년 6월 11일을 시작으로 경기 버스 데이터에서 공휴일 기준 데이터를 크롤링해서 모아두고 있다.
언젠간 학습시키는 날이 오기를 바라며..
Related Articles
- React Quill에서 이미지를 업로드하기 위한 올바른 방법검색 결과에 나온 코드를 참고했다가 버그가 생겨 한참을 헤맸던 경험이에요. React에서 DOM API를 사용했을 때 발생한 버그를 겨우 찾은 이야기2024.04.30ryxxn
- Firebase와 Algolia 동기화 지연 문제 해결하기firebase database와 algolia 간의 동기화 사이에 data fetching했을 때 싱크가 맞지 않는 문제를 찾고 해결한 경험이에요2024.03.24ryxxn
- swiper 캘린더 최적화 하기인턴십 중 스와이퍼 캘린더를 구현하면서 lazy loading을 적용하여 성능 최적화를 했다.2024.02.11ryxxn