Перейти до вмісту

Атестаційні завдання K2 ERP/Соціальна мережа

Матеріал з K2 ERP Wiki

У базовій реалізації стрічка формується так:

Функції підписок

! * найновіші пости зверху. Бали

Основні об’єкти модуля

  • хто створив профіль;
  • хто змінив профіль;
  • хто створив пост;
  • хто змінив пост;
  • хто видалив пост;
  • хто додав коментар;
  • хто видалив коментар;
  • хто поставив або прибрав лайк;
  • хто підписався або відписався;
  • хто приховав контент;
  • хто заблокував користувача;
  • дату й час дії;
  • старе та нове значення, якщо це можливо. Адміністрація повинна мати інструменти для перегляду активності, модерації контенту та контролю небажаних публікацій. |-

| Нікнейм | Унікальне ім’я користувача в системі |- | ПІБ | Повне ім’я користувача |- | Фото профілю | Аватар або зображення користувача |- | Email | Електронна адреса |- | Біографія | Короткий SEO-опис користувача |- | Місто | Місто проживання або діяльності |- | Країна | Країна користувача |- | Дата реєстрації | Коли користувач системи зареєструвався |- | Статус | Активний, заблокований, видалений, на перевірці |}

Пошук постів дає можливість знаходити публікації за ключовими словами. Повторне натискання має прибирати лайк або залишати кількість без дублювання. |} У звіті потрібно відображати: Через AJAX мають працювати: Стрічка = пости користувачів, на яких підписаний поточний користувач системи

Правило унікальності лайку

Опціонально користувачі можуть скаржитися на контент. SEO-опис

Критерії оцінювання

Стрічка новин

Пошук має працювати по: компонент має забезпечувати повний цикл соціальної взаємодії: користувач системи створює профіль, публікує пости, додає фото, підписується на інших користувачів, бачить стрічку новин, коментує, ставить лайки та отримує сповіщення про активність. SEO-опис

Довідник користувачів містить основні інформаційні дані зареєстрованих учасників. Разом
  • приховати пост;
  • приховати коментар;
  • заблокувати користувача;
  • повернути контент після перевірки;
  • переглянути скарги;
  • вказати причину модерації;
  • переглянути історію змін. | Активність користувачів, популярні пости, нові користувачі, модерація
Що виступає як критичною вимогою? Для реалізації задачі доцільно передбачити такі сутності: Що перевіряється

Поля коментаря

Сповіщення інформують користувача про активність навколо його профілю й контенту. Соціальна мережа — це практична задача; так само реалізовано постами, коментарями, лайками, підписками, стрічкою новин, пошуком і сповіщеннями виступає ключовою рисою перевірки навичок розробника або впроваджувача K2 ERP у створенні базової соціальної платформи з профілями користувачів забезпечується через Атестаційне задача K2 ERP. {| class="wikitable" style="width:100%;"

  • популярні пости;
  • рекомендовані пости;
  • пости з найбільшою кількістю реакцій.== інформаційні дані профілю ==
Один користувач системи = один лайк на один пост або коментар
  • автора;
  • дату публікації;
  • текст або короткий фрагмент посту;
  • кількість лайків;
  • кількість коментарів;
  • кількість переглядів, якщо реалізовано. Призначення
Користувачі Зареєстровані учасники соціальної мережі
Профілі Публічна інформаційні матеріали про користувачів
Пости Основні публікації користувачів
Фото та медіа Зображення профілю і вкладення до постів
Коментарі Обговорення під постами
Лайки Реакції користувачів на пости або коментарі
Підписки Зв’язки між користувачами
Стрічка новин Список постів від користувачів, на яких підписаний користувач системи
Сповіщення Повідомлення про лайки, коментарі, підписки та іншу активність
Пошук Пошук користувачів і постів
Модерація Контроль контенту та скарг
конфігурація приватності Обмеження видимості профілю або постів
Звіти Статистика активності користувачів і контенту

Мета задача

У межах атестації потрібно продемонструвати робочий сценарій. !

Користувачі повинні мати простий інтерфейс для створення постів, перегляду стрічки, коментування, лайків і підписок. Бали

Вимоги до медіа

У результаті виконання атестаційного задача має бути створений компонент соціальної мережі в K2 ERP. ! ! 100

провідний принцип. Соціальна мережа будується навколо взаємодії користувачів: профіль → пост → реакція → коментар → підписка → стрічка → сповіщення. Модерація потрібна для контролю якості та безпеки платформи. Інтерфейс має працювати оперативно та без перезавантаження сторінок. ! Поле платформа повинна дозволяти знаходити інших користувачів. Опціонально можна додати:

Підписки

Поля пошуку користувачів

  • користувача;
  • кількість постів;
  • кількість коментарів;
  • кількість лайків;
  • кількість підписок;
  • дату останньої активності. SEO-опис
Автор Хто створив пост
Текст Текст публікації
Медіа Фото або файли
Видимість Для кого доступний пост
Дата створення Коли пост створено
Дата редагування Коли пост востаннє змінено
Статус Активний, прихований, видалений

Дії модератора

У звіті потрібно відображати:
  1. користувач системи відкриває форму створення посту. | Створювати профіль, пости, коментувати, лайкати й підписуватися
Як формується стрічка? Об’єкт

Пошук має працювати по:

! платформа повинна дозволяти:

У звіті потрібно відображати:

  • новий підписник;
  • новий лайк на пост;
  • новий лайк на коментар;
  • новий коментар до посту;
  • згадка користувача, опціонально;
  • відповідь на коментар, опціонально;
  • приховання посту модератором;
  • блокування або попередження, якщо реалізовано. * поставити лайк на пост;
  • прибрати лайк з поста;
  • поставити лайк на коментар, якщо реалізовано;
  • прибрати лайк з коментаря;
  • не дозволяти одному користувачу поставити кілька лайків на один і той самий об’єкт;
  • оновлювати кількість лайків у реальному часі. Це платформа постійної взаємодії, де важливі швидкість, зрозумілість інтерфейсу, коректні права доступу, безпечна робота з медіа, правильні лічильники та своєчасні сповіщення. Поле

користувач системи повинен мати можливість оперативно створити публікацію.

  • тексту посту;
  • автору;
  • даті публікації;
  • доступності посту для поточного користувача. Коментарі дозволяють користувачам обговорювати пости. SEO-опис
  • неможливо створити користувача;
  • неможливо створити профіль;
  • неможливо створити пост;
  • пост не прив’язується до автора;
  • користувач системи здатна редагувати чужий пост без прав;
  • неможливо створити коментар;
  • коментар не прив’язується до посту;
  • користувач системи здатна редагувати чужий коментар без прав;
  • лайки дублюються при повторному натисканні;
  • кількість лайків або коментарів рахується неправильно;
  • підписка не створюється;
  • стрічка не показує пости підписок;
  • сповіщення не створюються, якщо ця функція заявлена;
  • приховані або видалені пости показуються як активні;
  • модераторські дії не логуються;
  • звіти не відповідають фактичній активності.== Типи сповіщень ==
Звіт показує динаміку реєстрацій. компонент має підтримувати завантаження зображень до постів. SEO-опис
== Скарги користувачів ==

База «Пости»

Колонки бази постів

  1. користувач системи реєструється;
  2. заповнює профіль;
  3. додає фото профілю;
  4. знаходить інших користувачів;
  5. підписується на цікавих авторів;
  6. створює пост;
  7. додає текст і фото;
  8. інші користувачі бачать пост у стрічці;
  9. користувачі ставлять лайки;
  10. користувачі залишають коментарі;
  11. автор отримує сповіщення;
  12. платформа оновлює лічильники лайків і коментарів;
  13. модератор за потреби перевіряє або приховує проблемний контент. Поле

Типовий бізнес-процес роботи соціальної мережі виглядає так:

Технічні вимоги

  • завантажити одне або кілька фото;
  • показувати фото в пості;
  • переглядати фото в галереї;
  • видаляти власні фото;
  • обмежувати розмір файлу;
  • перевіряти допустимі формати;
  • зберігати зв’язок медіа з постом.== Логування змін ==
! !== Назва задача ==

== Пошук користувачів ==

== Лайки ==
Лайки — це швидка реакція користувача на контент. Рівень

{| class="wikitable" style="width:100%;"
Стрічка новин показує користувачу пости людей, на яких він підписаний. ! компонент має підтримувати розмежування прав.<div style="border:2px solid #f57c00; background:#fff3e0; padding:14px; margin:16px 0;">
== Звіт «Модерація» ==
__TOC__
|-
| Автор посту
| користувач системи, який створив публікацію
|-
| Текст посту
| базовий текст публікації
|-
| Фото / файли
| Зображення або вкладення
|-
| Дата і час публікації
| Коли пост створено
|-
| Кількість лайків
| Поточна кількість реакцій
|-
| Кількість коментарів
| Поточна кількість коментарів
|-
| Видимість
| Публічний, для підписників, приватний
|-
| Статус
| Активний, прихований, видалений, на модерації
|}

'''критично.''' користувач системи повинен мати контроль над тим, що показується іншим людям: профіль, контакти, пости й можливість коментування. # Пост з’являється у профілі автора. Поле

== Звіт «Активність користувачів» ==
== Кроки створення посту ==
[[Категорія:Коментарі]]
|-
| Публічний профіль
| Профіль і пости видно всім користувачам
|-
| Закритий профіль
| Пости видно тільки підписникам або підтвердженим контактам
|-
| Прихований email
| Email не показується іншим користувачам
|-
| Обмеження коментарів
| Коментувати можуть усі, підписники або ніхто
|}

== Реальний бізнес-контекст ==
! | компонент базової соціальної мережі
|-
| Які головні об’єкти? Максимальна оцінка
користувач системи повинен мати можливість:
== Поля підписки ==

{| class="wikitable" style="width:100%;"

! ![[Категорія:Профілі користувачів]]
Звіт показує дії модераторів. ! Поле
! SEO-опис

== інформаційні дані у стрічці ==

== Поля сповіщення ==

# створити кількох користувачів;
# заповнити профіль користувача;
# додати фото профілю;
# створити пост;
# додати фото до посту;
# відредагувати власний пост;
# створити коментар до посту;
# відредагувати власний коментар;
# поставити лайк на пост;
# прибрати лайк із посту;
# перевірити, що повторний лайк не дублюється;
# підписатися на іншого користувача;
# перевірити кількість підписників і підписок;
# сформувати стрічку новин із постів підписок;
# створити сповіщення про лайк;
# створити сповіщення про коментар;
# знайти користувача через пошук;
# знайти пост за ключовим словом;
# приховати пост модератором;
# сформувати звіт активності користувачів;
# сформувати звіт популярних постів;
# перевірити журнал змін. Мінімальний сценарій:

</div>

Профіль — це сторінка користувача в соціальній мережі. |-
| Хто підписався
| користувач системи, який створив підписку
|-
| На кого підписався
| користувач системи, на якого підписалися
|-
| Дата підписки
| Коли створено підписку
|-
| Статус
| Активна або скасована
|}

Потрібно створити базову соціальну платформу, де користувачі можуть спілкуватися, публікувати контент, стежити за іншими користувачами та реагувати на публікації. Журнал змін має зберігати:

<pre>

користувач системи повинен мати можливість:

* автора посту;
* фото автора;
* дату публікації;
* текст посту;
* фото або файли;
* кількість лайків;
* кількість коментарів;
* кнопку лайку;
* форму коментаря;
* посилання на профіль автора. Колонка
== Коротко ==

== AJAX-інтерактив ==

Соціальна мережа — це не лише сторінки користувачів і пости. !== Infinite Scroll ==

== Права доступу ==

У стрічці потрібно показувати:

* створення посту;
* редагування посту;
* видалення посту;
* завантаження фото;
* додавання коментаря;
* редагування коментаря;
* видалення коментаря;
* постановка лайку;
* зняття лайку;
* підписка;
* відписка;
* оновлення версій стрічки;
* підвантаження нових постів;
* отримання сповіщень;
* позначення сповіщень як прочитаних;
* пошук користувачів;
* пошук постів.== Поля скарги ==
! Параметр

{| class="wikitable" style="width:100%;"

{{DISPLAYTITLE:Атестаційні завдання K2 ERP/Соціальна мережа}}

* нікнейму;
* ПІБ;
* місту;
* країні;
* частині імені. # Вводить текст. Відповідь
Така платформа здатна бути основою для:

== Звіт «Популярні пости» ==

! SEO-опис
! |-
| 90–100
| Відмінно
| компонент на 100% функціонує: профілі, пости, медіа, коментарі, лайки, підписки, стрічка, сповіщення, пошук, модерація й AJAX реалізовані коректно
|-
| 75–89
| Добре
| Основна логіка функціонує, виступає як незначні недоліки, які не руйнують соціальну взаємодію
|-
| 60–74
| Зараховано
| Базовий сценарій функціонує, але частина функцій реалізована неповно або потребує доопрацювання
|-
| 0–59
| Не зараховано
| Відсутня критична логіка: профілі, пости, коментарі, лайки, підписки або стрічка
|}

Звіт показує активність користувачів за період.

Шкала оцінювання

  • фото профілю;
  • нікнейм;
  • ПІБ або публічне ім’я;
  • біографію;
  • місто і країну;
  • кількість підписників;
  • кількість підписок;
  • список постів користувача;
  • кнопку підписки;
  • кнопку надсилання повідомлення, опціонально. функції ERP
== Сповіщення ==

Поля посту

Сортування стрічки

Див. так само

Отримувач Кому призначене сповіщення
Тип Лайк, коментар, підписка, модерація
Текст Короткий зміст сповіщення
Об’єкт Пост, коментар або користувач системи
Дата Коли створено сповіщення
Статус Прочитане або непрочитане

компонент має підтримувати користувачів, профілі, фото профілю, пости, медіа, коментарі, лайки, підписки, стрічку новин, сповіщення, пошук, приватність, модерацію, скарги, звіти, AJAX-інтерактив і логування змін.== Коментарі ==

  • не завантажувати всю стрічку одразу;
  • пришвидшити відкриття сторінки;
  • інтуїтивно переглядати велику кількість постів.== Медіа в постах ==
Це дає можливість:

Звіт «Нові користувачі»

Підписка створює зв’язок між користувачами. # За потреби додає фото або файли. ! платформа повинна дозволяти:

Навіть базова реалізація соціальної мережі добре перевіряє вміння працювати з користувачами, зв’язками між об’єктами, AJAX-інтерфейсом, медіаконтентом і правами доступу. # Натискає кнопку публікації.== Логіка лайків ==

  • публічної соціальної мережі;
  • корпоративної соціальної мережі;
  • внутрішнього порталу компанії;
  • спільноти навколо продукту;
  • освітньої платформи;
  • професійної мережі;
  • тематичного клубу;
  • локальної онлайн-спільноти. Поле
Автор коментаря Хто залишив коментар
Пост До якого посту належить коментар
Текст коментаря Зміст коментаря
Дата створення Коли коментар створено
Дата редагування Коли коментар змінено
Статус Активний, прихований, видалений

Очікуваний результат

  • коментувати доступні йому пости;
  • редагувати власні коментарі;
  • видаляти власні коментарі;
  • бачити кількість коментарів під постом;
  • отримувати сповіщення про новий коментар до свого посту. * дату;
  • кількість нових користувачів;
  • кількість активних користувачів;
  • кількість заблокованих користувачів. Мета задача — створити в K2 ERP компонент базової соціальної платформи. | Користувачі, профілі, пости, коментарі, лайки, підписки
Що має робити користувач системи? SEO-опис

Звіт показує публікації з найбільшою активністю. Критерій

  • реєструвати користувачів;
  • створювати профілі користувачів;
  • завантажувати фото профілю;
  • публікувати пости;
  • додавати до постів фото або файли;
  • редагувати й видаляти власні пости;
  • коментувати пости;
  • редагувати й видаляти власні коментарі;
  • ставити та прибирати лайки;
  • підписуватися на інших користувачів;
  • формувати стрічку новин із постів підписок;
  • показувати кількість підписників і підписок;
  • надсилати сповіщення про лайки, коментарі й нових підписників;
  • шукати користувачів;
  • шукати пости за ключовими словами;
  • підтримувати завантаження медіафайлів;
  • забезпечувати модерацію контенту;
  • підтримувати базові конфігурація приватності;
  • працювати через AJAX без перезавантаження сторінок. | З постів користувачів, на яких підписаний поточний користувач системи
Які сповіщення потрібні? !== Примітка ==

У звіті потрібно відображати:

Поля користувача

Критично. платформа не повинна накручувати лайки повторними натисканнями. | Нові лайки, коментарі, підписники, модераторські дії

Який пошук потрібен? Модератор повинен мати можливість:
  • дату;
  • модератора;
  • об’єкт;
  • дію;
  • причину;
  • результат. SEO-опис

Опціонально можна реалізувати підвантаження постів під час прокрутки сторінки. компонент створення соціальної мережі: профілі, пости, коментарі, лайки. Умова складання. задача не здатна бути зараховане, якщо платформа не дає можливість пройти базовий цикл соціальної мережі: користувач системи → профіль → пост → коментар → лайк → підписка → стрічка → сповіщення. Профіль має містити:

Пошук користувачів і постів за ключовими словами
Які звіти потрібні? Питання

платформа повинна дозволяти:

Реалізація профілів користувачів 20 Користувачі, профілі, фото, біографія, приватність, статуси
Створення постів, коментарів і лайків 20 Пости, медіа, редагування, коментарі, унікальність лайків, лічильники
Стрічка новин з постами підписок 20 Підписки, формування стрічки, сортування, доступність постів
платформа сповіщень і підписок 20 Підписники, підписки, сповіщення про лайки, коментарі й нових підписників
Інтерактивність через AJAX без перезавантаження 20 Пости, лайки, коментарі, підписки, сповіщення, пошук і стрічка без перезавантаження
Повний цикл: профіль → пост → лайк → коментар → підписка → стрічка

Створення посту

Пости виступає як основним контентом соціальної мережі. !== Рекомендовані сутності бази даних ==

Практичне задача

SEO-опис
Що потрібно створити? Роль Коротко. Потрібно реалізувати базову соціальну мережу: користувачі, профілі, пости, фото, коментарі, лайки, підписки, стрічка новин, сповіщення, пошук, модерація, приватність і AJAX-інтерактив без перезавантаження сторінки. # Обирає видимість. конфігурація

формування звітів

  • підписатися на іншого користувача;
  • відписатися;
  • бачити список своїх підписок;
  • бачити список своїх підписників;
  • бачити кількість підписників;
  • бачити кількість підписок;
  • отримувати сповіщення про нового підписника. # Пост потрапляє у стрічку підписників.== базовий бізнес-процес ==

Модерація контенту

Гість Переглядає публічні профілі та пости, якщо це дозволено
користувач системи Створює профіль, пости, коментарі, лайки, підписки
Модератор Перевіряє контент, приховує пости й коментарі, розглядає скарги
Адміністратор Керує користувачами, правами, налаштуваннями, модерацією
Керівник Переглядає статистику, активність і звіти платформи

конфігурація приватності профілю

Бекенд K2 Cloud ERP на Python або PHP
База даних PostgreSQL або MySQL
Фронтенд HTML5, JavaScript
AJAX Axios або Fetch API
UI-компоненти DataTables для адмінки, Select2 для пошуку
Медіа Завантаження і зберігання зображень для профілів і постів
Стрічка Пагінація або infinite scroll
Друк Не потрібно, основна робота виконується онлайн
Експорт Excel або PDF для адміністративних звітів, опціонально

Критичними помилками вважаються ситуації, коли:

Профіль користувача

  • користувачі;
  • профілі користувачів;
  • ролі користувачів;
  • пости;
  • медіа постів;
  • коментарі;
  • лайки;
  • підписки;
  • стрічка новин;
  • сповіщення;
  • конфігурація приватності;
  • скарги;
  • модерація;
  • журнал змін;
  • звіти;
  • права доступу. !== Критичні помилки ==

Автор скарги Хто подав скаргу Об’єкт скарги Пост, коментар або профіль Причина Спам, образливий контент, шахрайство, інше Коментар Додаткове пояснення Статус Нова, розглядається, вирішена, відхилена

користувач системи здатна мати базові конфігурація приватності.== Пошук постів ==

Функції коментарів

== Довідник «Користувачі» ==

Що здатна модеруватися

Базове сортування:

  • профілі;
  • пости;
  • фото;
  • коментарі;
  • скарги користувачів;
  • спам;
  • підозріла активність.== Принцип формування стрічки ==

компонент повинен фіксувати важливі дії.