[draft] 화장 예약 상황 표시 및 알람

2024. 08. 17.

https://www.15774129.go.kr/new/esky_m/esky_index.do?menuId=M310300000#MENU:M310300000

화장 예약 및 조회 서비스를 제공하긴 하는데

지역별, 시설별로 일일히 조회해야 하는 단점

모바일 웹 사이트가 있지만 미묘하게 위아래 스크롤이 부드럽지 못함.

매번 접속해서 확인해야 함

  • 목표 : 원하는 시설의 예약상황을 주기적으로 제공받아야 하는 사람들

  • 주기적으로 예약 상황을 받아올 것

  • 특정시설에 대한 메모 제공

  • 원하는 특정 시설만을 볼 수 있는 프리셋 제공할 것

  • 시설에 예약이 추가되면 휴대폰으로 알림 보낼 것

  • 휴대폰 알림 기능을 활용하기 위해 휴대폰 인증을 받을 것

  • 알림을 어떻게 받을지 세분화할 것(시간대, 요일 등)

08.25

AJAX로 데이터를 받는 API를 찾았다. 링크를 하나하나 눌러가며 개발자도구에서 시설코드를 추출하였다. 그리고 적절하게 일반인처럼 보이게 header를 넣고 payload를 얹어서 호출하면 된다.. 까지는 파악했다. 로컬 개발서버에서 AI와 투닥거리며 마침내 작동이 되었다.

그 이후가 문제였다. 이 서비스를 밖에서 접속해서 볼 수 있어야 한다. vercel에 deploy 하면 되지 하며 안일하게 생각한 게 시작이다. 서버리스 구조여야 하고(서버리스라는 말을 처음 들었다) CORS문제, 지독하게 API를 찾지 못하는 문제, AI가 문제를 찾아내지 못해서 무슨 문제인지 모르는 문제, 내용이 너무 길어져서 AI가 더욱 헤메는 문제,webpack과 vercel 설정을 이리저리 바꿔가며 헤메다 그만 GG를 치고 말았다. 로컬에서라도 정상작동 하는 지점까지 롤백도 안 먹는다. GitHub에서 강제 롤백이 가능한가 찾아보고 있다. 코드 한 줄 만질 줄 몰라서 일일이 AI에게 물어보는 상황을 벗어나고 싶다.

08.31 버그 수정

데이터를 새로고침하고 그 데이터를 출력해줘야 하는데 앞부분 일부만 출력되었다. 새로고침하면 전체 데이터는 제대로 표시되는 것이다. 타이밍 문제인가 AI를 닥달했다. 로깅과 isloading으로 신나게 찾아봣지만 프론트 문제는 없었고 또 암흑속으로 빠졌다.

하루 뒤 일단 AI에게 기존 프로젝트 코드를 제공하고 처음부터 뼈대만 하나하나 구현하기로 했다. 동작을 구현하는데에는 성공했다. 그리고 DB에서 문제를 발견했다. DB의 구 데이터가 삭제되지 않았고 새로운 데이터는 계속 누적되고 있었다. 서버가 새로실행되면 다 DROP시키고 새로 만들게 해놔서 눈에 안 띈 것이었다. 원인을 파악하자 AI는 신속히 코드를 바꿨고 마침내 정상 작동이 되었다.

CSS를 일부 수정하고 눈에 잘 보이도록 글자 크기를 키웠다. 하여간 꾸미는게 잴 쉽고 재밌다. 이제 개인 서버를 올리고 프로젝트를 옮길 시간이다.