Кейс · Сайт

Сайт для аренды оборудования: каталог, корзина и расчёт смены СЕВЕРСВЕТ

Сайт кинорентала и продакшена: каталог техники, портфолио с живыми видео-превью и приём заявок — быстрая статика без движков и конструкторов.

Задача

Ренталу кинотехники нужен сайт, который продаёт двумя вещами: железом и картинкой. Каталог оборудования с ценами, портфолио съёмок, контакты — и всё это должно летать на телефоне у продюсера, который ищет камеру на завтра.

Главная сложность рентала не в дизайне, а в арифметике. Продюсер набирает не один предмет, а комплект: тело, два объектива, монитор, батареи, карты, стойки. Пока сумма не посчитана, разговор не начинается — а считать её в переписке значит потерять полдня на обе стороны.

Второе: парк меняется. Позиции приезжают и уезжают, ставки пересматриваются. Сайт, в котором каждая правка цены требует программиста или похода в админку конструктора, устаревает за месяц и начинает врать.

Почему статика, а не конструктор

Решение приняли до первой строки кода, и оно определило всё остальное.

СпособЧем платитеЧто ломается
Конструкторабонплата, пока сайт живсвоя логика расчёта не вписывается; чужие скрипты тормозят на телефоне
CMS на серверехостинг, обновления, безопасностьдвижок надо обслуживать, даже когда сайт не меняется
Статика на Pagesничем: хостинг и сертификат бесплатныничего — отдаются готовые файлы, ломаться нечему

Обратная сторона честная: статику нельзя править из браузера. Поэтому каталог вынесен в один файл данных, и правка цены — это одна строка, а не программирование.

Каталог

Парк — это 127 позиций в 14 разделах: камеры, оптика, адаптеры, носители, свет, грип, риг, стабилизация, мониторы, фокус и фильтры, звук, питание, связь и DIT, спецоборудование. Суточные ставки идут от 50 ₽ за мелочь вроде переходника до 5 000 ₽ за тело.

Всё это лежит в одном файле данных. Новая позиция — строка: название, ставка, количество, описание, метки типов съёмки. Страница собирается из него скриптом при открытии, поэтому добавить камеру и изменить цену может человек, который не пишет код.

Иллюстрации техники нарисованы кодом, а не сфотографированы. Сто двадцать семь предметов пришлось бы снимать на общем фоне, переснимать при замене и держать мегабайты картинок. Вместо этого каждая категория получила векторный значок в едином стиле — они весят как текст, не мылятся на любом экране и не устаревают вместе с парком.

Корзина смены

Главная часть сайта — не витрина, а расчёт. Продюсер собирает комплект, ставит даты, и сумма считается на месте по правилам рентала, а не «по прайсу за штуку».

Смена или полусменаСутки считаются полной ставкой, шесть часов — семьюдесятью процентами. Это правило рынка, и оно зашито в расчёт.
Скидка за срокЧем длиннее аренда, тем ниже ставка за смену. Скидка показана отдельной строкой, а не спрятана в итог.
Подача и заборЛогистика считается двумя плечами отдельно: привезти и забрать. Самовывоз не стоит ничего, и это видно сразу.
Честная подписьПод итогом стоит «предварительный расчёт, не оферта»: комплектом обычно выходит дешевле, и обещать точную сумму до разговора нельзя.

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

Грабли

Значки техники сначала лежали отдельным файлом и подключались ссылкой вида <use href="sprite.svg#id"> — так делают все, и в трёх браузерах из четырёх это работает. Safari внешние ссылки на символы не читает вовсе. На айфоне каталог открывался без единой иконки, и заметить это можно было только на живом телефоне: в десктопной проверке всё было цело.

Починка вышла нестандартной: спрайт теперь живёт строкой прямо в скрипте и вставляется в страницу до отрисовки каталога. Файл при этом кэшируется отдельно, то есть скорость не пострадала. Мораль, которая повторяется в каждом проекте: сайт проверяется на устройствах, а не в одном браузере разработчика.

Результат

Живой сайт — seversvet.github.io: каталог с расчётом, фильмотека, команда, заявки в телеграм и по телефону. Хостинг стоит ноль, сертификат бесплатный, абонплаты нет ни за что.

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

Обновление парка и цен — правка одного файла данных. За обслуживание сайта владелец не платит никому.

Такой сайт под вашу задачу — от 50 000 ₽ за лендинг, от 90 000 ₽ за многостраничник. Расчёт, корзина и прочая живая логика обсуждаются отдельно: это уже не вёрстка.

Вопросы

Можно ли самому менять цены и товары?

Да. Каталог лежит в одном файле данных, позиция — одна строка. Правится в любом текстовом редакторе, после сохранения сайт обновляется сам. Инструкцию по правкам отдаю вместе с сайтом.

Почему без CMS — это не устаревший подход?

Наоборот: статику отдают готовыми файлами, поэтому она быстрее любого движка и её нечего взламывать. CMS нужна там, где контент пишут несколько человек каждый день. Каталогу техники и портфолио она не нужна и стоит денег каждый месяц.

Сколько стоит поддержка такого сайта?

Хостинг на GitHub Pages бесплатный, сертификат тоже. Платить надо только за домен, если он нужен: порядка 200–400 ₽ в год у регистратора. Абонплаты нет.

Заявки приходят в телеграм?

На этом сайте — да: собранный комплект и даты уходят готовым сообщением, плюс есть телефон. Куда именно шлются заявки, решается под задачу: телеграм, почта, таблица или сразу в вашу учётную систему.

А если у меня не рентал, а другой каталог?

Схема та же: данные отдельно, страницы собираются из них, расчёт пишется под ваши правила. Разница только в том, какие поля у позиции и как считается итог.

Главная сайта СЕВЕРСВЕТ
Обложка: тёмная витрина техники и портфолио
Портфолио СЕВЕРСВЕТ
Портфолио: фильмотека с живыми превью
Каталог техники
Каталог: камеры, оптика, свет