Атестаційні завдання K2 ERP/Соціальна мережа
Зовнішній вигляд
Модуль створення соціальної мережі: профілі, пости, коментарі, лайки
Реальний бізнес-контекст
Потрібно створити базову соціальну платформу:
- користувачі реєструються, створюють профілі;
- публікують пости, додають фотографії;
- коментують і ставлять лайки;
- стежать за іншими користувачами;
- отримують сповіщення про активність.
Основні завдання
1. Структура довідників
Довідник «Користувачі»
Поля довідника:
- ім'я користувача — нікнейм;
- ПІБ;
- фото профілю;
- email;
- біографія;
- місто / країна;
- дата реєстрації.
2. База «Пости»
Колонки бази
- автор посту;
- текст посту;
- фото / файли — опціонально;
- дата і час публікації;
- кількість лайків;
- кількість коментарів.
Функціонал
- створення нового поста;
- можливість додати фото або прикріпити файли;
- редагування і видалення власних постів.
3. Коментарі
Колонки
- автор коментаря;
- текст коментаря;
- пост, до якого прив'язаний коментар;
- дата створення.
Функціонал
- коментування постів;
- редагування і видалення своїх коментарів.
4. Лайки
Функціонал:
- користувачі можуть ставити або забирати лайк з поста або коментаря;
- підрахунок кількості лайків у реальному часі.
5. Система підписок
Функціонал:
- можливість підписатися на іншого користувача;
- стрічка новин формується із постів користувачів, на яких підписаний;
- показ кількості:
- підписників;
- підписок.
6. Сповіщення
Типи сповіщень:
- нові підписники;
- нові коментарі на ваш пост;
- нові лайки на ваш пост або коментар.
Сповіщення виводяться в особистому кабінеті користувача.
7. Додаткові функції
- пошук користувачів по нікнейму або ПІБ;
- пошук постів за ключовими словами;
- можливість завантаження кількох фото в пост;
- робота через AJAX для публікацій, лайків і коментарів без перезавантаження;
- підвантаження нових постів при прокрутці стрічки вниз — infinite scroll, опціонально.
Технічні вимоги
| Параметр | Опис |
|---|---|
| Бекенд | K2 Cloud ERP на Python або PHP |
| БД | PostgreSQL або MySQL |
| Фронтенд | HTML5, JavaScript, AJAX, Axios або Fetch API |
| UI-компоненти | DataTables для адмінки, Select2 для пошуку |
| Медіа | Завантаження і зберігання зображень для профілів і постів |
| Друк | Не потрібно, вся робота онлайн |
Критерії оцінки
| Критерій | Бали |
|---|---|
| Реалізація профілів користувачів | 20 |
| Створення постів, коментарів і лайків | 20 |
| Стрічка новин з постами підписок | 20 |
| Система сповіщень і підписок | 20 |
| Інтерактивність через AJAX без перезавантаження | 20 |
Примітка
Соціальна мережа — основа сучасної взаємодії людей через інтернет.
Навіть найпростіша реалізація соціальної мережі вимагає уваги до:
- зручності інтерфейсу;
- швидкості роботи;
- обробки медіаконтенту.