🔄 아래로 당겨 새로고침

코트있음?

공공 테니스장 빈 코트를 한눈에 확인하세요. 코트있음은 예약 가능한 시간과 코트를 지역, 날짜, 시간 기준으로 모아 보여드립니다.

업데이트 확인 중
업데이트 상태

도시와 조건 선택

🏘️
🎾
즐겨찾는 코트
저장된 즐겨찾기가 없습니다.

🔔 알람 등록

🎾
등록된 알람이 없습니다.

예약 가능 현황

⏳ 예약 정보를 불러오는 중입니다…

공지사항 및 사용방법

사용방법

  • 상단 도시 탭에서 용인시, 고양시, 수원시, 성남시를 선택합니다.
  • 용인시는 구 필터와 코트 필터를 함께 사용할 수 있고, 날짜와 시간 조건까지 선택하면 원하는 예약 가능 슬롯만 볼 수 있습니다.
  • 시간 조건은 6시부터 22시까지 선택한 뒤 이전, 이후, 포함 중 하나를 고르는 방식입니다. 분 단위 선택은 제공하지 않습니다.
  • 코트 필터에서 자주 보는 코트를 고른 뒤 즐겨찾기에 저장하면 다음부터 칩을 눌러 바로 해당 코트 그룹을 조회할 수 있고, 선택된 칩을 한 번 더 누르면 필터가 해제됩니다.
  • 즐겨찾기만 보기를 켜면 현재 도시에서 저장해 둔 코트 그룹의 잔여 슬롯만 표시됩니다.
  • 예약 가능 시간 버튼을 누르면 해당 시설의 예약 페이지로 이동합니다. 선택한 조건은 슬롯 검색용이며 실제 예약은 각 시설 예약 페이지에서 최종 확정합니다.
  • 오른쪽 위 새로고침 버튼을 누르면 Supabase에 저장된 최신 데이터를 다시 불러옵니다.

알람 설정 방법

  • 알람 등록 영역에서 원하는 코트, 날짜, 시간 조건을 선택한 뒤 알람 등록 버튼을 누릅니다.
  • 즐겨찾기 전체 알람은 현재 도시의 즐겨찾기 코트 전체에 같은 날짜와 시간 조건으로 알림을 등록합니다.
  • 등록한 조건에서 새로운 예약 가능 시간이 발견되면 브라우저 푸시 알림을 보냅니다.
  • 알림이 오지 않으면 브라우저 알림 권한이 허용되어 있는지 확인해 주세요.
  • 모바일에서는 브라우저 메뉴의 홈 화면에 추가 기능으로 설치한 뒤 사용하는 것을 권장합니다.

업데이트 방식

  • 각 도시는 분리된 크롤러로 갱신됩니다. 용인, 고양, 수원, 성남은 서로 다른 예약 사이트를 조회합니다.
  • UptimeRobot이 주기적으로 Cloudflare Worker를 호출하고, Worker가 GitHub Actions 크롤러를 실행합니다.
  • 수집된 예약 가능 시간은 Supabase에 저장되고, 페이지는 Supabase 공개 데이터를 읽어 표시합니다.
  • 고양시는 고양테니스협회, 대화, 백석 데이터를 함께 조회합니다. 단, 고양 크롤은 사이트 특성상 KST 05:00~22:00 시간창에서만 실행됩니다.
  • 상단의 업데이트 시간은 가장 최근 데이터 저장 시각이며, 시설별 실제 예약 페이지와 약간의 차이가 있을 수 있습니다.

업데이트 이력

2026-06-23
  • 용인은 잔여 슬롯이 없는 시설도 목록과 알람 코트 선택지에 계속 보이도록 변경했습니다.
2026-06-08
  • 성남시 예약 가능 날짜를 기존 일부 날짜만 조회하던 방식에서 오늘부터 45일 뒤까지 조회하도록 개선했습니다.
  • 성남시 50개 시설의 날짜별 잔여 코트 조회를 병렬 처리해 갱신 시간을 크게 줄였습니다.
  • 긴 크롤링 중 Supabase 연결이 끊겨 저장이 실패할 수 있던 문제를 수정했습니다.
2026-06-07
  • 성남시 데이터가 공개 페이지에서 45일치로 표시되는지 Supabase 공개 데이터 경로까지 검증했습니다.
  • 성남시 갱신 로그에 요청 수와 소요 시간을 남겨 이후 장애 원인을 더 쉽게 확인할 수 있도록 했습니다.
2026-06-06
  • 메인 화면을 예약 현황 대시보드 형태로 개편했습니다.
  • 외부 크롤링 데이터가 HTML로 직접 삽입되지 않도록 렌더링 방식을 안전하게 정리했습니다.
  • 공개 페이지에 갱신 토큰이 노출되지 않도록 수동 갱신 버튼을 데이터 다시 불러오기 방식으로 변경했습니다.
  • 용인시 구/코트 필터를 유지하면서 원하는 시간 조건까지 좁혀 볼 수 있는 시간 필터를 추가했습니다.
  • 사용자에게 불필요한 상단 요약/빠른 목록을 제거하고 실제 예약 가능 현황에 집중하도록 화면을 단순화했습니다.
  • 시간 선택 UI를 긴 목록 대신 6~22시 선택과 이전/이후/포함 버튼 조합으로 정리했습니다.
  • 알람 등록에도 같은 시간 조건 UI를 적용해 특정 시각 이후, 이전, 해당 시각 포함 슬롯만 알림 받을 수 있게 했습니다.
  • 자주 보는 코트 그룹을 브라우저에 저장하고 바로 필터 적용할 수 있는 즐겨찾기 기능을 추가했습니다.
  • 선택된 즐겨찾기 칩을 한 번 더 누르면 코트 필터가 해제되도록 개선했습니다.
  • 즐겨찾기만 보기 토글, 도시별 마지막 갱신 시각, 즐겨찾기 전체 알림 등록을 추가했습니다.
2026-06-05
  • 고양시 백석 테니스장 조회를 추가했습니다.
  • 고양시 코트 필터에서 실제 예약 가능 슬롯이 있는 코트만 보이도록 정리했습니다.
  • 고양테니스협회 접두어가 붙은 코트명과 일반 코트명이 중복으로 보이는 문제를 정리했습니다.
  • 새로고침 아래 안내를 공지사항 및 사용방법으로 개편했습니다.
2026-06-04
  • 도시별 갱신 트리거를 분리하고 Cloudflare Worker를 통해 개별 업데이트가 가능하도록 정리했습니다.
  • 성남시 코트 필터에서 대원, 탄천 등 같은 시설명이 묶이도록 정규화했습니다.
2026-06-02
  • 고양시 크롤링 안정화를 위해 Tailscale exit node와 curl_cffi 기반 요청 경로를 추가했습니다.
  • 고양테니스협회 SSL 인증서 문제에 대비해 인증서 pin 갱신 스텝을 추가했습니다.