Розроблення мобільного додатку для гольф-клубу
Додаток для гольфу — нішевий продукт з конкретними вимогами: точна карта поля з відстанями, лічильник ударів з аналітикою по лункам, система гандикапа, бронювання тайм-слотів. Аудиторія платоспроможна та вимаглива до якості — дешеве рішення не приймається.
Карта поля і відстані
Головна функція на полі — знати дистанцію до пина (прапорця) та до небезпечних зон. GPS-вимірювання відстані до заздалегідь заданих точок поля.
Карта гольф-поля: супутникові знімки (Google Maps Satellite / Mapbox Satellite) як підложка + SVG-оверлеї фервею, бункерів, водних перешкод, greens. SVG-дані поля або закуповуються у GolfLogix/Golf Genius (вони покривають 40000+ полів), або оцифровуються вручну по супутнику (якщо поле невелике і нестандартне).
Відстань до пина: координати пина для кожної лунки задані заздалегідь. CLLocation(latitude: pinLat, longitude: pinLon).distance(from: userLocation) — миттєво, без API. Відображення в метрах та ярдах (налаштування користувача). Відстань до передньої та задньої межі green — аналогічно, три точки на кожен green.
Відстань до небезпечних зон (вода, бункер): натиск на зону → показує дистанцію до найближчого краю. Turf.nearestPointOnLine для полігону небезпечної зони.
Додатково для преміального UX: дистанція до ворот на кожну лунку при навігації по FollowCamera в Mapbox — поле автоматично центрується по гравцю.
Лічильник ударів
Простий, але вимагає хорошого UX. На зеленому полі зі сонцем — екран повинен читатися в рукавичках. Великі кнопки +/−, висока яскравість, dark-friendly режим.
Структура даних: Round (партія) → HoleScore[]. Кожен HoleScore: hole_number, strokes, putts, fairway_hit (bool), green_in_regulation (bool), penalties, notes.
Статистика партії: всього ударів, різниця з паром (+3, −1 та ін.), середнє кількість паттів. Історія партій — календар + динаміка handicap.
Система гандикапа
World Handicap System (WHS) — міжнародний стандарт з 2020 року. Розрахунок: Score Differential = (Adjusted Gross Score − Course Rating) × 113 / Slope Rating. Handicap Index — середнє з кращих 8 з останніх 20 диференціалів.
Дані поля: Course Rating та Slope Rating беруть з бази даних USGA / EGA (вони відкриті для ліцензованих партнерів) або вводять вручну для кожного поля. Розрахунок гандикапа — на сервері після кожної записаної партії, сповіщення користувачу.
Бронювання тайм-слотів
Tee time booking: сітка доступних слотів по дням, вибір кількості гравців, підтвердження. Інтеграція з системами управління полем: GolfNow, EZLinks, Golf Genius — у них є API для бронювання через третьи додатки. Для клубів без зовнішної системи — власний booking backend.
Оплата при бронюванні — Stripe. Скасування з повертанням за правилами клубу (конфігурується: безплатно за 24 години, штраф за менше 2 години).
Клубні заходи та лента
Турніри, змаганння, навчальні сесії — calendar-view з реєстрацією. Push-сповіщення за 24 години та за 1 годину до заходу. Таблиця турніру в реальному часі — WebSocket для live-оновлення таблиці.
Тривалість проекту
Базовий додаток (карта з відстанями, лічильник ударів, бронювання) — 4-8 тижнів. Повна версія з гандикапом WHS, інтеграцією з GolfNow, турнірним модулем — 3-4 місяці. Вартість розраховується індивідуально; істотно залежить від наявності зовнішніх систем бронювання у клубу.







