Клининговая компания

Клининговая компания
Тип
Лендинг
Год
2026
Статус

Задача

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

Решение

Реализовано на чистом PHP (MVC без фреймворка) с SQLite и PDO — без ORM и внешних UI-библиотек. Вёрстка — семантический HTML и CSS по методологии BEM, интерфейс адаптивен (десктоп/мобайл, бургер-меню). Интерактивные элементы (промо-модалка, cookie-баннер, фильтр кейсов по городу/типу) — на нативном JS (ES-модули), без jQuery. Контент (цены, услуги, отзывы, кейсы) редактируется через админ-панель, без правки кода. Форма заявки принимает имя/телефон/email с согласием на обработку данных.

Технологии

  • Стек: PHP 8.x
  • SQLite
  • нативный JS (ES modules)
  • CSS с методологией BEM
  • без сторонних фреймворков.

Техническое описание

Техническое описание О проекте Сайт разработан с нуля без использования конструкторов и сторонних UI-фреймворков — только собственный код. Страницы сайта Публичная часть Одностраничный лендинг с якорной навигацией по секциям и отдельной формой заявки: 🏠 Главная — hero-секция с призывом к действию и фото 🧹 Услуги — карточки направлений клининга 🎁 Спецпредложение — акционный блок с доп. фото 🏢 О компании — текст, фото, специализация ⭐ Отзывы — карточки клиентов 📜 Сертификаты — блок лицензий/сертификатов 🧺 Наши кейсы — портфолио выполненных работ с фото 🤝 Партнёры — логотипы партнёров 📋 Заявка на уборку — форма с валидацией, после отправки — редирект на страницу благодарности 📞 Контакты — телефон, email, адрес (в футере) Административная панель Закрытая часть сайта для управления контентом без участия разработчика: 📥 Заявки — просмотр входящих обращений 🧹 Услуги — добавление и редактирование 🧺 Кейсы (портфолио) — добавление и редактирование ⭐ Отзывы — добавление и редактирование 📜 Сертификаты — добавление и редактирование 🤝 Партнёры — добавление и редактирование 🎁 Спецпредложение — редактирование текста и галереи изображений ⚙️ Настройки сайта — редактирование без разработчика Технологии и архитектура Backend Язык PHP 8.1+ База данных SQLite + PDO Архитектура MVC — собственная, без фреймворка Роутинг Единый диспетчер запросов, поддержка работы в подпапке Шаблоны Собственный шаблонизатор Изображения Валидация типа файла и случайное имя при загрузке Frontend JavaScript Нативный ES Modules — без фреймворков CSS Нативный CSS + методология BEM Структура CSS Модульная (базовые стили / компоненты / секции / утилиты), дизайн через CSS custom properties Иконки Инлайн SVG — без внешних библиотек Инфраструктура Окружение Docker + docker-compose Веб-сервер Apache БД SQLite — файловая, без MySQL Что намеренно не использовалось Проект обходится без популярных, но избыточных для данной задачи инструментов: ✕ React / Vue ✕ jQuery ✕ Tailwind / Bootstrap / SCSS ✕ ORM / MySQL ✕ CDN / внешние UI-библиотеки Архитектура приложения Слоистая структура: контроллеры отвечают за обработку запроса, модели — за работу с данными через подготовленные SQL-запросы (без конкатенации строк), сервисы — за вспомогательные операции (например, загрузку файлов), валидаторы — за проверку входных данных до записи в базу. Каждый слой изолирован и отвечает за одну задачу. Безопасность Проект следует базовым практикам защиты веб-приложений: экранирование выводимых данных, защита от CSRF на формах, ограничение доступа к административной части, защита от подбора пароля и от прямого доступа к служебным и конфигурационным файлам.