CMS"Belloo Dating"-"LovesUa"

FOXS

Постоялец
Регистрация
22 Июн 2018
Сообщения
95
Реакции
15

Глубако извеняюсь если я не так оформил или не в ту тему положил пост, исправте или пренесите где оно должно быть. Огромное Спасибо за понимание !

CMS"Belloo Dating"-"LovesUa" — Платформа знакомств и общения (CMS)​

Полная документация проекта, отчёт о выполненных доработках, технической оптимизации и системных требованиях для установки на хостинг/сервер.

📋 Содержание​

  1. Для просмотра ссылки Войди или Зарегистрируйся
  2. Для просмотра ссылки Войди или Зарегистрируйся
  3. Для просмотра ссылки Войди или Зарегистрируйся
  4. Для просмотра ссылки Войди или Зарегистрируйся
  5. Для просмотра ссылки Войди или Зарегистрируйся

1. Системные требования и характеристики хостинга​

Этот скрипт оптимизирован для работы на большинстве виртуальных хостингов (cPanel, ISPmanager, FastPanel, DirectAdmin, HestiaCP) и выделенных VPS/VDS серверах на базе Linux (Ubuntu 20.04/22.04/24.04, Debian 11/12, AlmaLinux/Rocky Linux).

🖥️ 1.1. Веб-сервер​

  • Веб-сервер: Apache 2.4+ или связка Nginx + Apache (где Nginx выступает как Reverse Proxy).
  • Модули Apache (обязательно включены:(
    • mod_rewrite — для работы ЧПУ-ссылок (маршрутизация страниц).
    • mod_headers — для настройки заголовков безопасности, CORS и браузерного кэша.
    • mod_deflate — для GZIP-сжатия передаваемого трафика (HTML, CSS, JS, SVG, JSON).
    • mod_expires — для долгосрочного кэширования статических ресурсов.
  • Поддержка файлов .htaccess: Директива AllowOverride All (разрешение на чтение правил из .htaccess).
  • SSL-сертификат (HTTPS:( Обязателен (например, бесплатный Let's Encrypt). Требуется для безопасности, PWA-приложения, HTML5-геолокации и WebRTC-видеозвонков.

🐘 1.2. Интерпретатор PHP​

  • Рекомендуемая версия PHP: PHP 7.4 (также полностью поддерживаются версии PHP 7.1, 7.2, 7.3).
  • Необходимые модули и расширения PHP:
    • mysqli — работа с базой данных MySQL/MariaDB.
    • curl — взаимодействие со сторонними API (Pusher, геокодирование карт, авторизация через соцсети, платежные шлюзы).
    • gd — обработка, сжатие, обрезка и генерация аватаров и фотографий пользователей.
    • mbstring — корректная обработка многобайтовых строк UTF-8 и кириллицы.
    • fileinfo — валидация MIME-типов загружаемых файлов.
    • zip — распаковка и экспорт тем, плагинов и языковых пакетов.
    • intl — поддержка интернационализации и локализации дат.
    • xml / dom — парсинг и работа со структурированными XML/HTML данными.
    • json — кодирование и декодирование JSON-ответов.
    • openssl — шифрование и безопасные сетевые запросы.
    • exif — автоповорот фотографий, сделанных на смартфоны.
  • Рекомендуемые параметры php.ini:
    Ini, TOML

    upload_max_filesize = 50M
    post_max_size = 50M
    memory_limit = 256M
    max_execution_time = 120
    max_input_vars = 3000
    allow_url_fopen = On
    short_open_tag = On
    session.auto_start = Off

🗄️ 1.3. База данных (MySQL)​

  • СУБД: MySQL 5.7+ или MariaDB 10.2+ (поддерживается и MySQL 8.0).
  • Кодировка базы данных: utf8mb4 (сопоставление / collation: utf8mb4_unicode_ci или utf8_general_ci) — для полноценной поддержки эмодзи в чатах и профилях.
  • SQL Mode: Стандартный режим (рекомендуется отключить строгий ONLY_FULL_GROUP_BY в случае возникновения специфических группировок).

📁 1.4. Права доступа к файлам и папкам (Permissions)​

Веб-сервер должен иметь права на запись (chmod 755 или 775, владелец www-data или пользователь хостинга) к следующим каталогам:
  • assets/sources/ (и все вложенные папки: uploads/, presets/ и т.д.).
  • assets/includes/ (для создания config.php во время установки).
  • install/ (на время первой установки).

⚙️ 1.5. Рекомендуемые характеристики VPS/VDS (если используется виртуальный сервер)​

  • Процессор: 1–2 ядра (vCPU).
  • Оперативная память: от 1 ГБ (рекомендуется 2 ГБ для стабильной работы при высокой нагрузке).
  • Дисковое пространство: от 15–20 ГБ SSD / NVMe.

2. Инструкция по установке на хостинг​

  1. Загрузка файлов: Загрузите содержимое папки проекта на ваш хостинг в корневую директорию сайта (public_html или www/vash-sait.com).
  2. Создание базы данных: Создайте новую базу данных MySQL, пользователя и назначьте ему полные права на эту базу.
  3. Запуск инсталлятора: Откройте в браузере адрес вашего сайта: [Для просмотра ссылки Войди или Зарегистрируйся.
  4. Проверка системы: Инсталлятор проверит параметры сервера на соответствие требованиям.
  5. Ввод данных: Введите параметры подключения к БД (хост, логин, пароль, название базы данных).
  6. Завершение: После установки система создаст assets/includes/config.php и заполнит базу данных актуальными таблицами со всеми исправлениями.

3. Отчёт о выполненных работах и оптимизации (Changelog)​

Ниже приведен полный перечень задач, решенных и реализованных в кодовой базе проекта:

🟢 1. Добавлен новый раздел «Онлайн» (Online Users)​

  • Кнопка в меню: В левой навигационной панели пользователя создан раздел «Онлайн» (рядом с «Люди рядом», «Встречи», «Самые популярные», «Сообщения», «Взаимодействие»).
  • Серверный обработчик: В assets/includes/core.php разработана функция onlineUsers(), которая динамически выбирает реальных пользователей и активных ботов онлайн с учетом фильтров по полу, возрасту, городу и с пагинацией.
  • Шаблон страницы: Создан интерфейс themes/default/layout/online/content.phtml для отображения карточек пользователей с кнопками симпатий, лайков и перехода в чат.
  • Маршрутизация: Добавлен роутинг в index.php, AJAX-обработчики в requests/user.php (case 'online' / case 'online_filter') и функции быстрого перехода в themes/default/js/lovesua.js.

🟢 2. Полный ребрендинг платформы (Bello Dating $\rightarrow$ LovesUa)​

  • SEO и тексты: Все упоминания названия Bello / Belloo Dating заменены на LovesUa в мета-тегах <title>, <meta description>, Open Graph, текстах страниц, подвале сайта, PWA-манифесте (mobile/manifest.webmanifest) и системных письмах.
  • Стили и скрипты:
    • Переименованы файлы стилей: themes/default/css/lovesua.css, mobile/css/lovesua.css, mobile/css/lovesua20.css.
    • Главный JS-файл переименован в themes/default/js/lovesua.js.
    • Создан обработчик requests/lovesua.php.
  • База данных: Обновлены записи бренда, слоганы, описания и дефолтные настройки в таблицах config, settings, site_theme, languages.
  • Инсталлятор: Обновлен интерфейс install/index.php, проверки install/check.php и дамп структуры install/schema.sql.

🟢 3. Исправлена ошибка 403 Forbidden при экспорте пресетов​

  • Суть проблемы: При попытке скачать JSON-файл конфигурации темы (assets/sources/presets/*.json) сервер возвращал ошибку 403 Forbidden.
  • Решение:
    • В корневом .htaccess расширение json исключено из списка глобально запрещенных файлов.
    • В папке assets/sources/presets/ создан файл правил .htaccess, разрешающий безопасное прямое скачивание JSON-пресетов браузером.

🟢 4. Оптимизация базы ботов и жесткий лимит (150 фейковых пользователей)​

  • Очистка базы: Удалено 3 925 избыточных ботов вместе с зависимыми данными (фото, лайки, визиты, уведомления, диалоги). Оставлена сбалансированная база из ровно 150 активных профилей.
  • Жесткий лимит (Hard Cap = 150:( В функции generateDemoUsers() (assets/includes/core.php) и в requests/user.php внедрен контроль лимита — новые боты больше не генерируются автоматически без ограничений.
  • Панель управления: В дашборде администратора зафиксированы лимиты fakeUserLimit = 150 и fakeUserUsage = 150.
  • Реальные пользователи: Подтверждено, что живые пользователи регистрируются с флагом fake = 0 и не имеют никаких ограничений на регистрацию.

🟢 5. Отключение неработающей рекламы AdSense и очистка консоли браузера​

  • В таблице config и плагинах adsWeb (реклама на ПК) и adsMobile (мобильная реклама) очищены демонстрационные коды рекламных блоков с тестовым ID ca-pub-6206822267839373.
  • В мобильных шаблонах mobile/templates/modals/ad.html и директивах mobile/js/directives.js убраны жестко зашитые обращения к pagead2.googlesyndication.com.
  • Полностью устранены ошибки HTTP 400 и предупреждения Tracking Prevention blocked access to storage в консоли разработчика (F12).

🟢 6. Очистка отладочных логов в JavaScript​

  • В файле lovesua.js удалены технические логи console.log(5000), console.log(120000) и console.log('activity detected').
  • В модуле историй themes/plugins/story.js заглушено служебное сообщение No story provided..

🟢 7. Исправление PHP-ошибки в чате (Warning non-numeric value)​

  • Суть проблемы: Предупреждение Warning: A non-numeric value encountered in core.php on line 4845 возникало из-за наличия в базе старых диалогов с удаленными пользователями (last_access возвращал строку 'noData').
  • Решение:
    • В функция getUserFriends() (core.php) и в realtime.php SQL-запрос соединен через INNER JOIN users u, что исключает диалоги с несуществующими аккаунтами.
    • Добавлено строгое приведение типов (int)$last_access, (int)$fake, (int)$online_day.
    • Очищено 10 устаревших записей в таблице chat.

🟢 8. Комплексная оптимизация под Google Lighthouse / PageSpeed​

  • Серверные правила (.htaccess:(
    • Включено GZIP-сжатие (mod_deflate).
    • Настроено кэширование браузера mod_expires (медиа и шрифты — 1 год, стили и JS — 1 месяц).
    • Добавлены заголовки безопасности (X-Content-Type-Options: nosniff, X-Frame-Options: SAMEORIGIN, Referrer-Policy).
  • Доступность (Accessibility — 93%:(
    • Добавлен тег <html lang="uk">.
    • Обновлен <meta name="viewport"> с поддержкой масштабирования (maximum-scale=5.0).
    • Добавлен семантический тег <main id="main-content" role="main"> и атрибуты aria-label для всех полей форм и кнопок.
    • Прописаны атрибуты alt, width и height для изображений.
  • Скорость (Performance — 97% ПК / 80% Mobile:(
    • Добавлен preconnect и параметр &display=swap для шрифтов Google Fonts.
    • Добавлен preload для фонового изображения и логотипа первого экрана (LCP).
    • Вторичные CSS-файлы переведены на неблокирующую асинхронную загрузку.
    • Убран блокирующий клиентский редирект на смартфонах.
  • SEO (100%) и Agentic Browsing (100%:(
    • Установлены <meta charset="UTF-8">, <link rel="canonical">, <meta name="theme-color"> и <meta name="robots">.

4. Результаты аудита Google Lighthouse / PageSpeed​

Показатель / КатегорияВерсия для ПК (Desktop)Мобильная версия (Mobile)Статус
Performance (Скорость / Core Web Vitals)97% 🟢80% 🟢Отлично
Accessibility (Доступность интерфейса)93% 🟢93% 🟢Отлично
SEO (Поисковая оптимизация)100% 🟢100% 🟢Идеально
Agentic Browsing (Семантика и структура)100% 🟢100% 🟢Идеально
Best Practices (Стандарты веб-разработки)70% 🟡67% 🟡На боевом сервере с HTTPS: 95–100%

5. Структура проекта​

Plaintext

CMS/
├── .htaccess # Главные правила Apache (сжатие GZIP, кэш, безопасность, ЧПУ)
├── index.php # Главная точка входа платформы
├── mobile.php # Точка входа мобильной адаптации
├── README.md # Этот документ
├── administrator/ # Панель управления (Админка)
├── assets/
│ ├── includes/
│ │ ├── connect.php # Подключение и системные настройки
│ │ ├── core.php # Главное ядро функций (онлайн, боты, чат, пользователи)
│ │ ├── realtime.php # Обработка событий реального времени
│ │ └── config.php # Файл конфигурации БД (создается инсталлятором)
│ └── sources/
│ ├── presets/ # Пресеты тем и языков (.htaccess с разрешением на скачивание)
│ └── uploads/ # Папка для загрузки фото, видео и медиа
├── install/ # Мастер установки платформы
│ ├── index.php # Пошаговый веб-инсталлятор
│ ├── check.php # Проверка совместимости сервера
│ └── schema.sql # Базовый обновленный дамп структуры БД (чистая установка)
├── mobile/ # Мобильная PWA версия сайта
│ ├── index.php # Шаблон мобильного веб-приложения
│ ├── manifest.webmanifest # Манифест PWA LovesUa
│ ├── css/ # Стили мобильной версии (lovesua.css, lovesua20.css)
│ └── js/ # Контроллеры и директивы AngularJS
├── requests/ # AJAX-обработчики запросов
│ ├── lovesua.php # Главный обработчик AJAX
│ ├── user.php # Обработка пользовательских действий, фильтров и раздела "Онлайн"
│ └── api.php # Внутренний REST API
└── themes/
├── default/ # Основная тема оформления
│ ├── layout/ # Шаблоны страниц (онлайн, меню, чат, контейнер)
│ │ ├── online/ # Шаблон раздела "Онлайн"
│ │ └── container.phtml # Главный контейнер авторизованной зоны
│ ├── css/ # Стили темы (lovesua.css)
│ └── js/ # Скрипты темы (lovesua.js)
└── landing1/ # Главный лендинг неавторизованных пользователей
└── layout/index/ # Шаблон первого экрана и формы регистрации/входа
Админка редактор тем.PNGАдминка-плагины.PNGАдминка1.PNGЧат.PNGМонетизация2.PNGМонетизация.PNGСтраница пользователя.PNGГлавная.PNG
Для просмотра ссылки Войди или Зарегистрируйся
Что в планах на будущие:
Думаю обновить Движок для версии PHP 8.1-8.4
Если ноги будут стоять ну или мой труд для халявщиков не будут Хейтить (Сильно).
Послушаю ваши рекомендации что ещё добавить по функционалу.
Кто будет тестить-пишите какие баги заметили, что бы я мог их про-Фиксить.
Думаю общими усилиями и советами, можно и неплохо его Обгрейдить.
Главное что бы писали чего не хватает и что мешает.
 
Назад
Сверху