RC-Images CMS для публикации и обмена и фотографиями

Author Автор: Роман Чернышов    Опубликовано: 15 марта 2022

rc-images-cmsДобрый день друзья! Спешу поделиться с вами моим новым проектом, готовым решением для создания сайта на тему публикации и обмена фотографиями, с функционалом социальной сети, под названием RC-Images CMS. Функционал системы включат в себя каталог с множеством категорий, изображений и поиском по ним, в том числе по тегам, цвету и периоду публикации. Функционал загрузки изображений, подгонки и нарезки под разные разрешения, редактирования как самого изображения так и описания, а также их оценка, добавление в избранное, профили пользователей, подписки, комментарии и многое другое. По традиции, данный проект представляет собой готовый продукт, что означает возможность установки CMS в несколько кликов, документацию, поддержку и обновления. Далее обо всем подробно.

О движке

Немного истории

В первоначальном виде проект был заложен в далеком 2011 году, за основу в то время, была взята сторонняя популярная CMS для блогов, для которой было написано множество собственных уникальных плагинов, в результате работы получилось собственное уникальное решение, для организации сайта с возможность публикации и обмена  фотографиями. Данная CMS использовалась в успешном проекте, на сайте посвящённом изображениям для рабочего стола www.fonstola.ru, но в ходе развития сайта и роста его популярности, с увеличением количества как посетителей(до сотен тысяч), так и количество загружаемого ими контента. Возникла потребность в новом решении, современном, быстром и безопасном, а также выдерживающем большие нагрузки(тысячи уникальный посетителей в день, и десятки тысяч просмотров и скачивания изображений).

В результате в феврале 2022 года было принято решение о разработке нового, самостоятельного движка, на безе PHP фреймворка RChe Framework, удовлетворяющего всем требованиям и веяниям текущего времени, от функционала до дизайна, в результате чего родилась система под названием RC-Images CMS (полностью написанная мною с нуля). Проект незамедлительно был пущен в эксплуатацию, с последующим продолжением его тестирования, доработки и конечно же — развитии. И этот факт, что CMS, с самого первого дня своего существования(с выхода версии 1.0), была внедрена на столь крупный сайт, говорит о том, что впереди у неё долгая жизнь — улучшения, внедрения нового функционала и реализация уникальных идей.

Кому подойдет?

Данная CMS подойдет для создания сайта с каталогами фотографий, социальной сети с отсылкой к подобию функционала Instagram, включающей профили пользователей с возможностью подписок и комментирования публикаций друг друга. На данной платформе, также возможно создание фото-хостинга с функцией как временного хранения файлов, так и долгосрочного, включая возможность ограничения доступа к ним и платные тарифы для пользователей. По желанию, можно снабдить сайт такими полезными инструментами как конвертация форматов изображений, инструменты редактирования и обработки фото и многое другое.

CMS включает в себя весь набор стандартного функционала для публикации новостей и статей, создания категорий, ведения блогов, проведения опросов пользователей, сбора отзывов. Также на сайте присутствует простой встроенный форум(также разработанные с нуля под данную систему). Это позволяет развернуть на вашем сайте систему, которая не будет ограничена лишь функционалом для работы с изображениями, CMS представляет собой целый портал с множеством разделов и возможностей.

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

Функционал

Так как CMS это достаточно большой проект, с множеством различных функций, фишек и решений, я лишь вкратце опишу основной функционал системы,  со стороны пользовательской части сайта, так как для описания всех тонкостей одной статьи будет недостаточно(поэтому в будущем будут еще статьи, раскрывающие более подробную информацию).

1. Базовый функционал

1.1 Регистрация, авторизация, восстановление пароля учетной записи;

1.2 Форма обратной связи;

1.3 Поиск по сайту в новостях и статьях;

1.4 Опросы на сайте;

1.5 Блоги, новости, статьи, категории записей, комментарии;

базовый функционал

2. Мой профиль

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

2.1 Избранное. Каталог изображений добавленных в избранное;

2.2 Оценки. Каталог изображений к которым были проставлены оценки(лайк, дизлайк);

2.3 О пользователе (о себе). Информация из настроек профиля пользователя;

Мой профиль

3. Мои изображения

3.1 Добавленных на сайт изображений; При добавлении есть возможность указать название, описание, теги, также система производит анализ изображения и определяет перечень самых используемых в нем цветов, для дальнейшего поиска изображений по цветам.

Мои изображения

4. Мой кабинет

4.1 Раздел мои изображения, с возможностью загрузки и просмотра ранее загруженных изображений, а также их удалением;

4.2 Просмотр опубликованных и находящихся на модерации, изображений;

4.3 Статистика за сутки, количество комментариев и оценок пользователей к опубликованным изображениям;

4.4 Система личных сообщений, с возможностью просмотра входящих, исходящих сообщений, отправки и удаления, а также добавление контактов в личный список контактов(актуально, когда на сайте несколько сотен тысяч пользователей);

4.5 Настройка аккаунта, с возможностью загрузки аватара, указания ФИО, телефона, информации о себе, города, а также смены пароля и просмотра Email и баланса в рублях(если на сайте подключен функционал монетизации для пользователей, партнёрская программа);

Мой кабинет

5. Раздел Финансы

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

5.1 Платежная информация. В данном разделе пользователь может указать свои паспортные данные, адрес регистрации, ИНН, а также реквизиты для выплат;

5.2 Партнёрская программа. Реферальная ссылка, функционал позволяющий делиться сайтом с друзьями пользователями в социальных сетях, функционал приглашения друзей по емаил, а также статистика партнерской программы с отображением списка привлечённых пользователей, с датой привлечения и прибылью которую они вам принесли;

5.3 Вывод средств. В данном разделе пользователь может подать заявку на вывод денежных средств со своего аккаунта;

5.4 История финансовых операций, с отображением данных о выводе денежных средств или зачислениях, с указанием даты и суммы;

Раздел Финансы

6. Галерея

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

6.1 Просмотр изображения. Вывод как самого изображения, так и информации о нем и авторе, с возможностью оценки, добавления в избранное, а также скачивании его в различном разрешении (около 20 вариантов разрешений, также можно настроить список разрешений в админпанели). Возможность поделиться страницей в соц. сетях, а также скопировать ссылку на изображение в любом разрешении, в том числе HTML или BB код для вставки. Возможность скачивания изображения в любом из 20 разрешений или его оригинала. Поиск других, похожих изображений по цветам. Вывод похожих изображений.

6.2 Комментирование. Возможность комментировал изображений. Настройка доступа к возможности комментирования для незарегистрированных и зарегистрированных пользователей из админпанели.

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

Галерея

7. Прямой эфир

Отображение последних просмотренных пользователями изображений, с обновлением информации каждые пять секунд, список изображений обновляется автоматически(ajax-запросом). Можно понаблюдать, чем сейчас интересуются посетители сайта, принять участия в обсуждении, поставить свои оценки.

Прямой эфир

8. Случайные

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

9. ТОП Авторов и Пользователей

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

Рейтинг пользователей — выводится список самых активных пользователей, которые принимают участие в комментировании и оценке изображений на сайте. Рейтинг (количество выставленных оценок + количество обоев, добавленных в Избранное) * 0,1 + количество комментариев * 1.

Звания пользователей(ранги, группы) — На сайте, для пользователей предусмотрен ряд статусов, которые в свою очередь наделяют пользователя рядом привилегий. Для получения того или иного статуса, необходимо выполнение ряда условий, например для получения статуса «активный+», необходимо оставить на сайте 20 комментариев(настраивается в админпанели). Ниже в таблице, приведен перечень статусов, с описанием условий необходимых для получения привилегий.

СтатусУсловия полученияПривилегии
АктивныйРейтинг от 10Загрузка изображений с возможностью ограничения доступа(по ссылке)
Активный+Рейтинг от 50Доступ к закрытым категория галереи, доступ в раздел НЮ
ПремиумРейтинг от 500Сайт без рекламы

ТОП Авторов и Пользователей

10. Общение

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

Общение

Админпанель

Далее также вкратце(без погружения в тонкости технических деталей) разберем функционал админпанели RC-Images CMS, который является достаточно обширным и на сегодняшний день весь потенциал заложенный в админпанель, со стороны пользовательской части сайта(например не активирован форму, слайдер, отзывы — все это мы будем использовать позже) — нераскрыт. Я рассмотрю только основные разделы админпанели, без подразделов, т.к. их общее количество несколько десятков(около 40 — функционал как я и сказал весьма обширен).

Консоль (сводка)

Главная страница, представляющая собой общую сводку по работе сайта, с перечнем информативных блоков: количество новых пользователей, количество фотографий за сутки, количество платежей(при подключении советующих модулей монетизации) их общая сумма, количество новых комментариев за сутки.

Консоль (сводка)

Настройки

В данном разделе сосредоточен ряд подразделов, отвечающих за все настройки сайта, СЕО, система, безопасность, часовой пояс, главная страница, настройки всех меню, виджетов, редактор HTML шаблонов и CSS, переменные шаблонов, свои стили, автоцензор(автоматическое отслеживание нецензурной лексики на сайте с их вырезкой или авто-заменой).

Настройки

Система

Резервное копирование базы данных, а также журнал событий на сайте, с возможностью просмотра и очистки от старых записей.

Система

Сообщество

Пользователи. Список всех зарегистрированных пользователей на сайте, с возможностью поиска по ним используя логин или емаил. Список содержит данные: логин, емаил, группа к которой относится пользователь и его статус (активирован аккаунт или нет). Также присутствует возможность редактирования аккаунта пользователя с указанием всех данных аккаунта и смены пароля, возможность добавления нового пользователя или удаление имеющихся. Группы пользователей. А также работа со званиями(рангами) пользователей от которых зависит ряд привилегий пользователей на сайте, такие как доступ к закрытым разделам, например.

Сообщество

Финансы

В данном разделе содержаться подразделы: 1) Партнерская программа. В данном разделе отображаются все данные по партнерской программе, а именно список пользователей кто привлек по партнерской ссылке новых пользователей на сайт, их количество и сумма заработка. 2) Заявки на вывод. В данном разделе отображается список всех заявок от Пользователей, на вывод заработанных ими средств(вознаграждения, комиссионного вознаграждения в рамках партнерской программы). В списке отображается следующая информация: ID заявки, дата и время, логин пользователя, его текущий баланс, сумма к выводу и статус (ожидает или исполнена). Доступны функции изменения статуса, просмотра деталей, редактирования и удаления заявки. 3) История финансовых операций.

Финансы

Клиенты

Email подписчики. В данном разделе собраны все емаил адреса пользователей оформивших подписку на получение новостей сайта. Также вы можете самостоятельно добавить емаил в данный список. В списке отображаются данные: дата добавления, емаил, текстовая заметка и статус (активен или не активен). Доступна функция редактирования и удаления. Далее, по этому списку можно осуществлять емаил рассылку, в разделе админпанели Инструменты -> Рассылки.

Клиенты

Галерея

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

Галерея

Контент

Страницы. Основной раздел для работы с контентом, который позволяет создавать, редактировать и удалять страницы. В списке страниц указывается их название и ссылка, по которой можно перейти на страницу. При создании страницы указывается заголовок, основной текст, категория, дата публикации, ссылка ЧПУ, теги, изображение превью, параметры доступа, настройки разрешения или запрета комментирования, показ даты публикации, показ похожих записей. Также для каждой страницы доступна настройка СЕО параметров мета: title, description и keywords. В качестве редактора текста используется WYSIWYG редактор TinyMCE 4 (включает дополнительные возможность загрузки файлов на сервер и проверки правописания).

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

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

Опросы. Список опросов, с отображением данных: ID опроса, заголовок и статус. Создание и проведение опросов на сайте. В один момент времени может быть активен только один опрос. Опросов выводится на сайте в сайтбаре страницы. Пользователь может проголосовать, выбрав один из предложенных вариантов ответов на вопрос. Для предотвращения множественного голосования одним и тем же пользователем предусмотрена система запоминания пользователя по IP и Cookie. Доступна функция создания, редактирования и удаления опросов.

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

Отзывы. Функционал управления отзывами оставленными пользователями на сайте. В разделе представлен список отзывов с отображением таких данных как: ID отзыва, авто отзыва с отображением логина и изображения аватара, а также основной текст отзыва. доступен функционал редактирования и удаления отзывов.

Инструменты

Реклама на сайте, в разделе Страниц(статьи, новости, категории). Функционал позволяющий размещать на сайте рекламные блоки. В списке содержится уже созданные рекламные блоки, с отображением информации по ним: ID блока, текст ссылки(анкор), тип блока(ссылка, баннер или произвольный html код), дополнительные настройки(noindex, nofollow), место отображения на сайте и статус(отображается или отключён).

Рассылки. Функционал организации массовых рассылок на емаил пользователей на сайте, давших свое согласие на получения таких рассылок в настройках своего аккаунта.

Рассылки СМС. Функционал организации массовых рассылок на мобильные телефоны пользователей по СМС пользователей на сайте, давших свое согласие на получения таких рассылок в настройках своего аккаунта.

Инструменты

Модераторская

На сайте также предусмотрена группа пользователей Модераторы(Редактора), члены данной группы имеют возможность редактирования изображений и комментариев к ним, а также доступ к разделам управления контентом в админпанели. Модераторы выполняют функцию помощников Администратора.

Фреймворк

  • Поддержка PHP 5.6 и выше, оптимизирован под PHP 7, 8;
  • База данных MySQL 5 и выше, драйвера MySQL/MySQLi/PDO;
  • Методология ООП, архитектура MVC;
  • Работает как под управлением Apache, nGinx так и Windows Server;
  • Адаптивная верстка шаблонов, структуры сайта;
  • Шаблонизатор не используется, применяется PHP Short Tag (с целью увеличения скорости работы);
  • Автоматическая загрузка PHP классов, при обращении;
  • Поддержка кеширования запросов к БД, кеширования изображений(в том числе миниатюр);
  • Поддержка минимизации CSS, JS, HTML кода, при отдаче;
  • Автоматическая генерация WebP изображений для лучшей производительности;
  • Поддержка ЧПУ;
  • Ajax подгрузка данных;
  • Защита от DDOS на уровне скриптов;
  • Единая точка входа;
  • Содержит инсталлятор;
  • Включает в себя админпанель с набором функционала, делающим фреймворк полноценной CMS;
  • Поддержка автора в рамках условий прописанных в лицензии;
  • Наличие документации.

Доработки

CMS может быть доработана в соответствии с вашим техническим заданием, можно изменить уже имеюшийся функционал, добавить функции в личный кабинет, изменить функционал в каталоге изображений или в админапанели, добавить интеграции с рядом сторонних сервисов для автоматизации работы, реализовать собственное API для загрузки изображений удаленно, с помощью различных технических средств и т.д. Любые ваши идеи!

Демо

Как я уже выше сказал, данная CMS, сразу же после своего релиза поступила в работу и была размещена на крупном портале, собственно где и можно посмотреть её работу, что называется, в действии — www.fonstola.ru

Заключение

Проект получился шикарный(без лишней скромности), работает быстро, выдерживает большие нагрузки, безопасность на уровне, функционал обширный, безусловно он будет развиваться, впереди еще много идей на внедрение. Напоследок отвечу на вопросы о деньгах, сколько все это стоит? И сколько такой сайт приносит денег? Стоимость разработки такого проекта с нуля, может сильно перевалить за миллион, а разработка на какой-то готовой платформе сулит не мало затрат по времени и вложений больших усилий(хоть по деньгам, может быть, и будет чуть дешевле). Поэтому купить RC-Images CMS(готово решение) будет существенно выгоднее, срок поставки — сутки(сайт будет готов к работе). Что касается монетизации — фото-контент весьма востребован, а в купе с социальной составляющей, такой сайт быстро приобретает постоянную публику и становиться очень посещаемым, соотношение количества уникальных посетителей на количество просмотров страниц 1/15(очень высокий показатель). Размещение контекстной рекламы, баннеров, брендирования, видео рекламы, а также функционал по предоставлению платного доступа к закрытым разделам — позволит выгодно монетизировать сайт и выйти на окупаемость вложений. Разумеется проект и я, открыты к вашим идеям и предложениям!

Оставить комментарий

Автор блога
Чернышов Роман
Роман Чернышов
Веб-разработчик, Full Stack
Senior, Architector
PHP, JavaScript, Node.JS, Python, HTML 5, CSS 3, MySQL, Bash, Linux Admin
Заказать работу
предложить оффер

Последние вопросы
Список вопросов
Последние комментарии
Меню

Archive

Мои проекты
Insurance CMS Love Crm CMS Совместные покупки Мой PHP Framework Хостинг для моих клиентов Лицензии на мой софт и поддержка