Pinehaven

О проекте

Сайт лесного гольф-клуба: поле на 18 лунок, игра для гостей, членство, академия и клубный дом. Клуб, место, тренеры, события и цены вымышлены — это демонстрационный проект.

Гольф-клуб
Отрасль
Многостраничный
Формат
9
Страниц
HTML, CSS, JS
Технологии
Pinehaven: экран 1Pinehaven: экран 2Pinehaven: экран 3Pinehaven: экран 4Pinehaven: экран 5

Задача

Гостю нужно понять, как устроено поле, и записаться на игру, а будущему члену клуба — выбрать категорию и увидеть, сколько это стоит.

Подход

У каждой лунки своя страница-схема с линией игры и характеристиками. Запись идёт в четыре шага с календарём гостевых стартов, членство считается калькулятором.

Что получилось

Сайт из 9 страниц на чистом HTML, CSS и JS: главная, поле, гостям, членство, академия, клубный дом, контакты и две информационные страницы.

Подробнее о проекте

Первый экран многослойный: на нём траектория мяча, а фотографии сдвигаются при прокрутке, рядом идёт индикатор прогресса по странице.

На странице поля 18 лунок с линиями игры и характеристиками, управлять ими можно с клавиатуры, а счётную карточку можно скачать в CSV или распечатать. Запись для гостей считает даты по московскому времени и сезонные тарифы.

Членство: пять категорий, калькулятор, подбор и дорожка вступления. Формы проверяют поля, но ничего не отправляют, оплата не подключена, настоящая бронь не создаётся.

Как мы собирали

  1. 01

    Основа

    Статический HTML, CSS и небольшие модули JavaScript без фреймворка и зависимостей. Страницы собирает скрипт build.mjs из шаблонов, готовый HTML лежит в репозитории.

  2. 02

    Логика

    Даты, свободные места, сезонные тарифы, допуслуги и членство вынесены в отдельный модуль и проверяются тестами. Часовой пояс — Европа/Москва.

  3. 03

    Материалы

    Фотографии сгенерированы специально для проекта, шрифт Manrope и все изображения лежат на сайте.

  4. 04

    Проверка

    Тесты проверяют календарь, доступность, тарифы, уникальность изображений лунок и ресурсы готовых страниц. Поддерживается «уменьшить движение».