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

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

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

Підписки

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

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

Модерація потрібна для контролю якості та безпеки платформи.; Параметр

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

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

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

Стрічка = пости користувачів, на яких підписаний поточний користувач системи

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

  • фото профілю;
  • нікнейм;
  • ПІБ або публічне ім’я;
  • біографію;
  • місто і країну;
  • кількість підписників;
  • кількість підписок;
  • список постів користувача;
  • кнопку підписки;
  • кнопку надсилання повідомлення, опціонально.; Поле
Опціонально користувачі можуть скаржитися на контент.; компонент повинен фіксувати важливі дії.; 100
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">

!; # Обирає видимість.; '''Коротко.''' Потрібно реалізувати базову соціальну мережу: користувачі, профілі, пости, фото, коментарі, лайки, підписки, стрічка новин, сповіщення, пошук, модерація, приватність і AJAX-інтерактив без перезавантаження сторінки.;== Звіт «Модерація» ==

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

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

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

== інформаційні дані профілю ==

користувач системи повинен мати можливість:
== Поля коментаря ==
Звіт показує активність користувачів за період.; Це платформа постійної взаємодії, де важливі швидкість, зрозумілість інтерфейсу, коректні права доступу, безпечна робота з медіа, правильні лічильники та своєчасні сповіщення.;== Вимоги до медіа ==

!; # Пост з’являється у профілі автора.; | Повний цикл: профіль → пост → лайк → коментар → підписка → стрічка
|}

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

* [[K2 Cloud ERP|K2 ERP]]
* [[K2 ERP]]
* [[Атестаційні завдання K2 ERP]]
* [[Особистий кабінет]]
* [[Профіль користувача]]
* [[Соціальна мережа]]
* [[Стрічка новин]]
* [[Коментарі]]
* [[Лайки]]
* [[Підписки]]
* [[Сповіщення]]
* [[Модерація]]
* [[AJAX]]

Це надає можливість:
== Звіт «Нові користувачі» ==
== Дії модератора ==
!;== Довідник «Користувачі» ==

!;== Поля підписки ==

[[Категорія:Атестаційні завдання K2]]

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

* не завантажувати всю стрічку одразу;
* пришвидшити відкриття сторінки;
* комфортно переглядати велику кількість постів.;</div>

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

* найновіші пости зверху.; # користувач системи відкриває форму створення посту.; Роль

* поставити лайк на пост;
* прибрати лайк з поста;
* поставити лайк на коментар, якщо реалізовано;
* прибрати лайк з коментаря;
* не дозволяти одному користувачу поставити кілька лайків на один і той самий об’єкт;
* оновлювати кількість лайків у реальному часі.; У звіті потрібно відображати:

<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;">

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

* дату;
* кількість нових користувачів;
* кількість активних користувачів;
* кількість заблокованих користувачів.; Окремо варто відзначити публікує пости, додає фото, підписується на інших користувачів, бачить стрічку новин, коментує, ставить лайки і отримує сповіщення про активність.; | компонент базової соціальної мережі
|-
| Які головні об’єкти?; | Нові лайки, коментарі, підписники, модераторські дії
|-
| Який пошук потрібен?; характеристика

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

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

* підписатися на іншого користувача;
* відписатися;
* бачити список своїх підписок;
* бачити список своїх підписників;
* бачити кількість підписників;
* бачити кількість підписок;
* отримувати сповіщення про нового підписника.; платформа повинна дозволяти знаходити інших користувачів.; Що перевіряється

== Коротко ==

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

== Шкала оцінювання ==
== Скарги користувачів ==
</div>
|-
| Що потрібно створити?;{{DISPLAYTITLE:Атестаційні завдання K2 ERP/Соціальна мережа}}

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

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

* тексту посту;
* автору;
* даті публікації;
* доступності посту для поточного користувача.; Відповідь

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

== Звіт «Активність користувачів» ==
[[Категорія:Профілі користувачів]]
Інтерфейс має працювати оперативно та без перезавантаження сторінок.;== конфігурація приватності профілю ==

* завантажити одне або кілька фото;
* показувати фото в пості;
* переглядати фото в галереї;
* видаляти власні фото;
* обмежувати розмір файлу;
* перевіряти допустимі формати;
* зберігати зв’язок медіа з постом.;</div>

[[Категорія:Соціальна мережа]]

== Мета задача ==

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

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

'''Критично.''' платформа не повинна накручувати лайки повторними натисканнями.;== Функції коментарів ==

== Назва задача ==

== Колонки бази постів ==
Опціонально можна додати:
!; !; У межах атестації потрібно продемонструвати робочий сценарій.; Поле

== Рекомендовані сутності бази даних ==

* профілі;
* пости;
* фото;
* коментарі;
* скарги користувачів;
* спам;
* підозріла активність.; !; Поле
|-
| Автор посту
| користувач системи, який створив публікацію
|-
| Текст посту
| ключовий текст публікації
|-
| Фото / файли
| Зображення або вкладення
|-
| Дата і час публікації
| Коли пост створено
|-
| Кількість лайків
| Поточна кількість реакцій
|-
| Кількість коментарів
| Поточна кількість коментарів
|-
| Видимість
| Публічний, для підписників, приватний
|-
| Статус
| Активний, прихований, видалений, на модерації
|}

!; Питання
|-
| Автор коментаря
| Хто залишив коментар
|-
| Пост
| До якого посту належить коментар
|-
| Текст коментаря
| Зміст коментаря
|-
| Дата створення
| Коли коментар створено
|-
| Дата редагування
| Коли коментар змінено
|-
| Статус
| Активний, прихований, видалений
|}

== ключовий бізнес-процес ==

Модератор повинен мати можливість:

* коментувати доступні йому пости;
* редагувати власні коментарі;
* видаляти власні коментарі;
* бачити кількість коментарів під постом;
* отримувати сповіщення про новий коментар до свого посту.; Повторне натискання має прибирати лайк або залишати кількість без дублювання.; {| class="wikitable" style="width:100%;"
Коментарі дозволяють користувачам обговорювати пости.; | З постів користувачів, на яких підписаний поточний користувач системи
|-
| Які сповіщення потрібні?; Поле
'''істотно.''' користувач системи повинен мати контроль над тим, що показується іншим людям: профіль, контакти, пости й можливість коментування.; # За потреби додає фото або файли.; !; Об’єкт

== Поля посту ==
== Що має змогу модеруватися ==
[[Категорія:Пости]]
|-
| Автор
| Хто створив пост
|-
| Текст
| Текст публікації
|-
| Медіа
| Фото або файли
|-
| Видимість
| Для кого доступний пост
|-
| Дата створення
| Коли пост створено
|-
| Дата редагування
| Коли пост востаннє змінено
|-
| Статус
| Активний, прихований, видалений
|}

компонент має підтримувати користувачів, профілі, фото профілю, пости, медіа, коментарі, лайки, підписки, стрічку новин, сповіщення, пошук, приватність, модерацію, скарги, звіти, AJAX-інтерактив і логування змін.;== Кроки створення посту ==
Мета задача — створити в K2 ERP компонент базової соціальної платформи.; # Натискає кнопку публікації.; характеристика

Користувачі повинні мати простий інтерфейс для створення постів, перегляду стрічки, коментування, лайків і підписок.; Соціальна мережа''' — це практична задача; додатково реалізовано постами, коментарями, лайками, підписками, стрічкою новин, пошуком і сповіщеннями виступає ключовою рисою перевірки навичок розробника або впроваджувача [[K2 ERP]] у створенні базової соціальної платформи з профілями користувачів забезпечується через '''Атестаційне задача K2 ERP.; |-
| Автор скарги
| Хто подав скаргу
|-
| Об’єкт скарги
| Пост, коментар або профіль
|-
| Причина
| Спам, образливий контент, шахрайство, інше
|-
| Коментар
| Додаткове пояснення
|-
| Статус
| Нова, розглядається, вирішена, відхилена
|}

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

== Лайки ==

</div>

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

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

Лайки — це швидка реакція користувача на контент.; Звіт показує публікації з найбільшою активністю.; характеристика
|-
| Отримувач
| Кому призначене сповіщення
|-
| Тип
| Лайк, коментар, підписка, модерація
|-
| Текст
| Короткий зміст сповіщення
|-
| Об’єкт
| Пост, коментар або користувач системи
|-
| Дата
| Коли створено сповіщення
|-
| Статус
| Прочитане або непрочитане
|}

Така платформа має змогу бути основою для:

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

== Пошук постів ==

Через AJAX мають працювати:

* нікнейму;
* ПІБ;
* місту;
* країні;
* частині імені.; Типовий бізнес-процес роботи соціальної мережі виглядає так:

Журнал змін має зберігати:

* дату;
* модератора;
* об’єкт;
* дію;
* причину;
* результат.; * приховати пост;
* приховати коментар;
* заблокувати користувача;
* повернути контент після перевірки;
* переглянути скарги;
* вказати причину модерації;
* переглянути історію змін.; Поле
== Стрічка новин ==
!; |}

!; характеристика

!; !; характеристика
[[Категорія:Коментарі]]
!; | Активність користувачів, популярні пости, нові користувачі, модерація
|-
| Що є собою критичною вимогою?; {| class="wikitable" style="width:100%;"

Стрічка новин показує користувачу пости людей, на яких він підписаний.;== Infinite Scroll ==
компонент має підтримувати завантаження зображень до постів.;== Поля пошуку користувачів ==

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

компонент має підтримувати розмежування прав.; Рівень

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

!; !; | Користувачі, профілі, пости, коментарі, лайки, підписки
|-
| Що має робити користувач системи?; Профіль має містити:

* реєструвати користувачів;
* створювати профілі користувачів;
* завантажувати фото профілю;
* публікувати пости;
* додавати до постів фото або файли;
* редагувати й видаляти власні пости;
* коментувати пости;
* редагувати й видаляти власні коментарі;
* ставити та прибирати лайки;
* підписуватися на інших користувачів;
* формувати стрічку новин із постів підписок;
* показувати кількість підписників і підписок;
* надсилати сповіщення про лайки, коментарі й нових підписників;
* шукати користувачів;
* шукати пости за ключовими словами;
* підтримувати завантаження медіафайлів;
* забезпечувати модерацію контенту;
* підтримувати базові конфігурація приватності;
* працювати через AJAX без перезавантаження сторінок.;<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">

== Принцип формування стрічки ==

* автора посту;
* фото автора;
* дату публікації;
* текст посту;
* фото або файли;
* кількість лайків;
* кількість коментарів;
* кнопку лайку;
* форму коментаря;
* посилання на профіль автора.;== База «Пости» ==
== Логіка лайків ==
|-
| Хто підписався
| користувач системи, який створив підписку
|-
| На кого підписався
| користувач системи, на якого підписалися
|-
| Дата підписки
| Коли створено підписку
|-
| Статус
| Активна або скасована
|}

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

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

!; Для реалізації задачі доцільно передбачити такі сутності:
!;== Створення посту ==

'''компонент створення соціальної мережі: профілі, пости, коментарі, лайки'''.;<pre>
== Поля скарги ==
{| class="wikitable" style="width:100%;"

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

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

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

== Сповіщення ==

[[Категорія:Корпоративна Wiki]]

Довідник користувачів містить основні інформаційні дані зареєстрованих учасників.; {| class="wikitable" style="width:100%;"

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

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

!; Бали

!; Призначення

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

# користувач системи реєструється;
# заповнює профіль;
# додає фото профілю;
# знаходить інших користувачів;
# підписується на цікавих авторів;
# створює пост;
# додає текст і фото;
# інші користувачі бачать пост у стрічці;
# користувачі ставлять лайки;
# користувачі залишають коментарі;
# автор отримує сповіщення;
# платформа оновлює лічильники лайків і коментарів;
# модератор за потреби перевіряє або приховує проблемний контент.;== Основні об’єкти модуля ==
== Див.; додатково ==
!;== Медіа в постах ==

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

</div>

!;== Реальний бізнес-контекст ==

Сповіщення інформують користувача про активність навколо його профілю й контенту.; характеристика Базове сортування: Профіль — це сторінка користувача в соціальній мережі.; функціональні можливості

Один користувач системи = один лайк на один пост або коментар

Логування змін

  • публічної соціальної мережі;
  • корпоративної соціальної мережі;
  • внутрішнього порталу компанії;
  • спільноти навколо продукту;
  • освітньої платформи;
  • професійної мережі;
  • тематичного клубу;
  • локальної онлайн-спільноти.; !; Мінімальний сценарій:

Критичні помилки

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

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

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

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

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

!; характеристика

Звіт показує дії модераторів.; Колонка

!; Поле

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

!;== Примітка ==

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

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

У базовій реалізації стрічка формується так: |- | Публічний профіль | Профіль і пости видно всім користувачам |- | Закритий профіль | Пости видно тільки підписникам або підтвердженим контактам |- | Прихований email | Email не показується іншим користувачам |- | Обмеження коментарів | Коментувати можуть усі, підписники або ніхто |}

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

!; Бали

!; Пости є собою основним контентом соціальної мережі.; == Пошук користувачів ==