По договоренности
CMS Joomla! 3.10.12
Можно написать с нуля, или реализовать на базе готового компонента.
Техническое задание
Термины:
1. Сайт – интернет ресурс
2. Неавторизованные пользователи – это пользователь, который не прошёл процедуру авторизации, то есть не подтвердил свою личность и не получил права доступа к Cайту.
3. Авторизованный пользователь — это пользователь, который успешно прошёл процедуру аутентификации (подтверждения личности) и получил права доступа к Сайту.
4. Оценка проекта – возможность авторизованным пользователям путем голосования оценить проект.
5. Ползунок голосования– стандартный ползунок в виде шкалы, которую можно передвигать нажатием левой клавиши мыши от 0 до 100. По аналогии как в запрещенной социальной сети.
6. Страница проекта – страница сайта со выводом списка всех проектов.
7. Пагинация это способ разбить большой объём контента на отдельные страницы с возможностью навигации между ними.
Требования к визуальной клиентской части сайта (frontend)
1. Страница проектов формируется в виде списка проектов (стандартный шаблон вывода материалов в категории в виде блога) : 3-4 проекта на страницу в столбец. Не более 20 проектов на странице. Остальные проекты подгружаются по переходу через стандартную Пагинацию. Каждый проект состоит из фотографии, названия и рейтинга проекта. Для Авторизованных пользователей добавляется ползунок голосования за проект (оценка проекта). Не авторизованные пользователи видят только итоговый рейтинг проекта.
2. Авторизованный пользователь может проголосовать за каждый проект путем передвижения ползунка оценки проекта. Авторизованный пользователь может проголосовать сразу за несколько проектов.
3. Итоговый рейтинг проекта рассчитывается по следующей формуле:
сумма всех оценок, разделенная на количество проголосовавших за конкретный проект.
4. При отжатой левой клавиши мыши Ползунок голосования фиксируется и указывается оценка. Данные сохраняются в базу данных и происходит расчёт оценки рейтинга. Ползунок доступен только авторизованным пользователям. Ползунок можно передвигать в любой момент, т.е. есть возможность переголосовать по проекту.
5. Авторизация пользователя происходит через стандартную систему авторизации с обязательным заполнением полей Фамилия, Имя, email и добавлением возможности авторизации через социальные сети и сервисы авторизации (вконтакте, mail.ru, одноклассники, яндекс). Другие требования к личному кабинету не предъявляются. Использовать стандартный функционал системы.
6. Авторизации через социальные сети и прочие сервисы требуются ключи авторизации. Заказчик самостоятельно на основе предоставленной инструкции Исполнителя регистрируется в данных система и получает ключи, и далее передает ключи Исполнителю для дальнейшей настройки системы
Требования к административной части сайта (backend)
Возможность выгружать из панели администрирования данные в excel таблицу данные о голосовании, включает следующие поля:
Id пользователя, Фамилия, Имя, email, Названия проекта, Оценка, Общий рейтинг