Атестаційні завдання K2 ERP/Сайт продажу нерухомості
Атестаційне завдання K2 ERP — Сайт продажу нерухомості — це практична задача для перевірки навичок розробника або впроваджувача K2 ERP у створенні модуля публікації, пошуку, фільтрації та обліку об’єктів нерухомості для продажу й оренди.
Модуль має забезпечувати роботу з базою об’єктів нерухомості, фотографіями, локаціями, цінами, типами угод, заявками клієнтів, агентами, статусами об’єктів, преміум-оголошеннями, обраним, мобільною адаптацією та звітами по активності.
Коротко. Потрібно реалізувати сайт нерухомості: типи об’єктів, типи угод, регіони, оголошення, фото, пошук, AJAX-фільтри, заявки клієнтів, обране, преміум-публікації, статуси об’єктів, агенти, мобільна версія та звіти.
Назва завдання
Модуль публікації об’єктів нерухомості для продажу і оренди.
Мета завдання
Мета завдання — створити в K2 ERP модуль для автоматизації сайту агентства нерухомості, забудовника або сервісу розміщення оголошень про нерухомість.
Система повинна дозволяти:
- вести типи об’єктів нерухомості;
- вести типи угод;
- вести регіони, міста й райони;
- створювати оголошення про продаж або оренду;
- завантажувати багато фотографій до об’єкта;
- керувати статусами оголошень;
- публікувати й знімати оголошення з публікації;
- модерувати оголошення;
- шукати об’єкти за параметрами;
- фільтрувати об’єкти без перезавантаження сторінки;
- приймати заявки від покупців або орендарів;
- передавати заявки агентам;
- вести історію роботи із заявкою;
- додавати об’єкти до «Вибраного»;
- створювати преміум-оголошення;
- показувати галерею фото;
- підтримувати мобільну адаптацію;
- формувати звіти по оголошеннях, заявках, агентах і популярних об’єктах.
Головний принцип. Сайт нерухомості має швидко з’єднати людину з потрібним об’єктом: зручний пошук, якісні фото, зрозуміла ціна, точна локація, статус оголошення і проста форма заявки.
Реальний бізнес-контекст
Агентство нерухомості, забудовник або онлайн-портал працює з об’єктами для продажу та оренди.
На сайті можуть розміщуватися:
- квартири;
- будинки;
- земельні ділянки;
- комерційні приміщення;
- офіси;
- склади;
- паркінги;
- новобудови;
- котеджні містечка;
- подобова оренда;
- довгострокова оренда.
Користувачі хочуть швидко знайти потрібний об’єкт за містом, районом, ціною, площею, кількістю кімнат, типом угоди та іншими параметрами. Агентам потрібна зручна база об’єктів і заявок, а керівнику — розуміння, які об’єкти переглядають, які заявки приходять і які оголошення потрібно просувати.
Основний бізнес-процес
Типовий процес роботи сайту нерухомості виглядає так:
- адміністратор створює довідники типів об’єктів, типів угод і регіонів;
- агент або менеджер створює оголошення;
- до оголошення додаються фото, опис, ціна й характеристики;
- оголошення проходить модерацію;
- після публікації воно з’являється на сайті;
- користувач знаходить об’єкт через пошук і фільтри;
- користувач переглядає фото й опис;
- користувач залишає заявку або запитання;
- заявка потрапляє агенту або менеджеру;
- агент зв’язується з клієнтом;
- за потреби змінюється статус об’єкта;
- керівник переглядає звіти по оголошеннях і заявках.
Основні об’єкти модуля
| Об’єкт | Призначення |
|---|---|
| Типи об’єктів | Квартира, будинок, ділянка, комерційна нерухомість тощо |
| Типи угод | Продаж, довгострокова оренда, подобова оренда |
| Регіони і міста | Географічна структура для пошуку |
| Оголошення | Основні картки об’єктів нерухомості |
| Фото | Галерея зображень об’єкта |
| Агенти | Працівники, які ведуть об’єкти й заявки |
| Власники | Продавці або орендодавці об’єктів |
| Заявки | Звернення покупців або орендарів |
| Вибране | Об’єкти, які користувач зберіг для подальшого перегляду |
| Преміум-публікації | Просування оголошень у списках |
| Статуси | Активне, продано, здано, знято з публікації, на модерації |
| Звіти | Аналітика по об’єктах, заявках, переглядах і агентах |
Довідник «Типи об’єктів»
Довідник типів об’єктів визначає, які види нерухомості можуть публікуватися на сайті.
Приклади типів об’єктів
- квартира;
- будинок;
- таунхаус;
- земельна ділянка;
- комерційна нерухомість;
- офіс;
- склад;
- виробниче приміщення;
- паркінг;
- гараж;
- новобудова.
Поля типу об’єкта
| Поле | Опис |
|---|---|
| Назва типу | Наприклад: квартира, будинок, ділянка |
| Опис | Коротке пояснення типу |
| Активність | Чи доступний тип для нових оголошень |
| Порядок сортування | Позиція у списках і фільтрах |
Довідник «Типи угод»
Тип угоди визначає, що саме пропонується: продаж або оренда.
Приклади типів угод
- продаж;
- оренда довгострокова;
- оренда подобова;
- оренда комерційна;
- продаж від забудовника;
- продаж від власника;
- продаж через агентство.
Довідник «Регіони і міста»
Географічний довідник потрібен для пошуку і фільтрації об’єктів.
Поля регіону
| Поле | Опис |
|---|---|
| Країна | Наприклад: Україна |
| Область | Наприклад: Київська область |
| Місто | Наприклад: Київ, Львів, Одеса |
| Район | Район міста або області |
| Мікрорайон | Опціонально |
| Метро | Опціонально для великих міст |
Довідник «Агенти»
Агент відповідає за об’єкт і заявки по ньому.
Поля агента
| Поле | Опис |
|---|---|
| ПІБ | Ім’я агента |
| Телефон | Контактний номер |
| Електронна адреса | |
| Фото | Опціонально для публічної картки |
| Регіон роботи | Місто або район, за який відповідає агент |
| Статус | Активний або неактивний |
База «Оголошення про нерухомість»
Оголошення є головною карткою об’єкта нерухомості.
Колонки бази оголошень
| Колонка | Опис |
|---|---|
| Назва об’єкта | Короткий заголовок оголошення |
| Тип об’єкта | Квартира, будинок, ділянка, офіс тощо |
| Тип угоди | Продаж або оренда |
| Місто | Населений пункт |
| Район | Район або мікрорайон |
| Адреса | Повна або часткова адреса |
| Кількість кімнат | Для житлових об’єктів |
| Загальна площа | Площа в м² |
| Поверх / поверховість | Для квартир і комерційних приміщень |
| Ціна | Вартість продажу або оренди |
| Агент | Відповідальний працівник |
| Статус | Активне, продано, здано, знято з публікації |
Поля оголошення
| Поле | Опис |
|---|---|
| Заголовок | Назва оголошення |
| Тип об’єкта | Квартира, будинок, ділянка тощо |
| Тип угоди | Продаж, довгострокова оренда, подобова оренда |
| Регіон | Область, місто, район |
| Адреса | Повна або часткова адреса |
| Кількість кімнат | Для квартир і будинків |
| Загальна площа | Площа об’єкта |
| Житлова площа | Опціонально |
| Площа кухні | Опціонально |
| Площа ділянки | Для будинків і землі |
| Поверх | Для квартир |
| Поверховість | Загальна кількість поверхів |
| Ціна | Вартість об’єкта |
| Валюта | UAH, USD, EUR |
| Опис | Детальний текст оголошення |
| Фото | Галерея зображень |
| Власник | Продавець або орендодавець |
| Агент | Відповідальний менеджер |
| Статус | Поточний стан оголошення |
Статуси оголошення
| Статус | Значення |
|---|---|
| Чернетка | Оголошення створюється, але ще не опубліковане |
| На модерації | Очікує перевірки адміністратором |
| Активне | Показується на сайті |
| Підписано договір | По об’єкту є домовленість або угода в процесі |
| Продано | Об’єкт проданий |
| Здано в оренду | Об’єкт орендований |
| Знято з публікації | Оголошення приховане з сайту |
| Архівне | Оголошення збережене в базі, але неактивне |
Важливо. Об’єкти зі статусом «Продано», «Здано в оренду» або «Знято з публікації» не повинні показуватися серед активних пропозицій.
Фото об’єкта
Фото є одним із головних елементів оголошення.
Вимоги до галереї фото
Система повинна дозволяти:
- завантажити багато фото;
- визначити головне фото;
- змінювати порядок фото;
- видаляти фото;
- переглядати фото в галереї;
- відкривати фото у збільшеному вигляді;
- обмежувати розмір файлу;
- перевіряти допустимі формати.
Пошук і фільтрація
Пошук має бути швидким і зручним.
Основні параметри фільтрації
- тип об’єкта;
- тип угоди;
- місто;
- район;
- ціна від;
- ціна до;
- площа від;
- площа до;
- кількість кімнат;
- поверх;
- поверховість;
- валюта;
- статус;
- агент;
- новобудова або вторинний ринок, опціонально.
AJAX-фільтрація
Фільтрація має працювати без перезавантаження сторінки.
Через AJAX потрібно оновлювати:
- список об’єктів;
- кількість знайдених оголошень;
- пагінацію;
- сортування;
- обрані фільтри.
Сортування оголошень
Система повинна підтримувати сортування:
- за датою публікації;
- за ціною зростання;
- за ціною спадання;
- за площею;
- за популярністю;
- за преміум-статусом.
Картка об’єкта на сайті
Картка об’єкта має бути зрозумілою для користувача.
На картці потрібно показувати
- головне фото;
- назву;
- тип угоди;
- тип об’єкта;
- місто й район;
- кількість кімнат;
- площу;
- поверх;
- ціну;
- короткий опис;
- кнопку перегляду;
- кнопку «У вибране»;
- кнопку заявки або дзвінка агенту.
Сторінка об’єкта
Сторінка об’єкта має містити повну інформацію.
На сторінці потрібно показувати
- велику галерею фото;
- заголовок;
- ціну;
- адресу або район;
- характеристики;
- опис;
- карту, опціонально;
- інформацію про агента;
- форму заявки;
- схожі об’єкти;
- статус об’єкта.
Заявки клієнтів
Користувачі сайту повинні мати можливість залишити заявку на об’єкт.
Поля заявки
| Поле | Опис |
|---|---|
| Об’єкт | До якого оголошення належить заявка |
| Ім’я | Ім’я користувача |
| Телефон | Контактний номер |
| Опціонально | |
| Коментар | Питання або побажання |
| Дата заявки | Коли створено заявку |
| Агент | Хто має обробити заявку |
| Статус | Нова, в роботі, зв’язались, показ призначено, закрита |
Статуси заявки
| Статус | Значення |
|---|---|
| Нова | Заявка щойно надійшла |
| В роботі | Агент обробляє звернення |
| Зв’язались | Агент зв’язався з клієнтом |
| Показ призначено | Заплановано перегляд об’єкта |
| Угода в процесі | Клієнт зацікавлений, триває оформлення |
| Закрита | Заявку завершено |
| Відмова | Клієнт відмовився |
Вибране
Зареєстрований користувач може додати об’єкт до списку «Вибране».
Функції вибраного
Система повинна дозволяти:
- додати об’єкт у вибране;
- прибрати об’єкт із вибраного;
- переглянути список вибраних об’єктів;
- не дублювати один і той самий об’єкт у вибраному.
Преміум-оголошення
Преміум-публікації допомагають просувати важливі об’єкти.
Варіанти преміум-функцій
- підняття в списку;
- закріплення у верхній частині сторінки;
- виділення кольором;
- показ на головній сторінці;
- позначка «Топ»;
- збільшена картка;
- пріоритет у пошуку.
Поля преміум-публікації
| Поле | Опис |
|---|---|
| Оголошення | Який об’єкт просувається |
| Тип просування | Топ, підняття, виділення, головна сторінка |
| Дата початку | Коли просування починається |
| Дата завершення | Коли просування завершується |
| Статус | Активне, завершене, скасоване |
Модерація оголошень
Модерація потрібна для контролю якості інформації.
Що перевіряє модератор
- коректність опису;
- наявність фото;
- правильність ціни;
- правильність локації;
- відсутність дублювання;
- відповідність правилам сайту;
- статус об’єкта.
Дії модератора
Модератор може:
- схвалити оголошення;
- повернути на доопрацювання;
- зняти з публікації;
- приховати фото;
- змінити статус;
- залишити коментар агенту.
Мобільна адаптація
Сайт має бути зручним на телефоні.
У мобільній версії важливо забезпечити
- швидке відкриття списку об’єктів;
- зручні фільтри;
- галерею фото;
- кнопку дзвінка;
- форму заявки;
- зручне додавання у вибране;
- коректне відображення ціни й характеристик.
Звіти
Звіт «Активні оголошення»
Звіт показує всі об’єкти, які зараз опубліковані на сайті.
У звіті потрібно відображати:
- об’єкт;
- тип угоди;
- тип об’єкта;
- місто;
- район;
- ціну;
- агента;
- дату публікації;
- кількість заявок.
Звіт «Заявки по об’єктах»
Звіт показує, які оголошення отримують звернення.
У звіті потрібно відображати:
- об’єкт;
- агента;
- кількість заявок;
- кількість заявок у роботі;
- кількість закритих заявок;
- кількість відмов.
Звіт «Ефективність агентів»
Звіт показує результативність роботи агентів.
У звіті потрібно відображати:
- агента;
- кількість об’єктів;
- кількість заявок;
- кількість оброблених заявок;
- кількість показів;
- кількість угод.
Звіт «Популярні об’єкти»
Звіт показує найцікавіші для користувачів об’єкти.
У звіті потрібно відображати:
- об’єкт;
- кількість переглядів;
- кількість додавань у вибране;
- кількість заявок;
- статус.
Звіт «Об’єкти без активності»
Звіт показує оголошення, які не отримують уваги.
У звіті потрібно відображати:
- об’єкт;
- дату публікації;
- кількість переглядів;
- кількість заявок;
- кількість днів без активності;
- агента.
AJAX-інтерактив
Інтерфейс має працювати швидко та зручно для користувача, агента й адміністратора.
Через AJAX мають працювати:
- пошук об’єктів;
- фільтрація;
- сортування;
- пагінація;
- додавання у вибране;
- видалення з вибраного;
- надсилання заявки;
- завантаження фото;
- зміна статусу оголошення;
- модерація;
- оновлення звітів.
Логування змін
Модуль повинен фіксувати важливі зміни.
Журнал змін має зберігати:
- хто створив оголошення;
- хто змінив ціну;
- хто змінив статус;
- хто завантажив або видалив фото;
- хто опублікував оголошення;
- хто зняв оголошення з публікації;
- хто обробив заявку;
- хто призначив агента;
- хто увімкнув преміум;
- дату й час дії;
- старе та нове значення, якщо це можливо.
Права доступу
Модуль має підтримувати розмежування прав.
| Роль | Можливості |
|---|---|
| Гість сайту | Переглядає активні оголошення, користується пошуком, залишає заявку |
| Зареєстрований користувач | Додає об’єкти у вибране, переглядає свої заявки |
| Агент | Створює й редагує свої об’єкти, обробляє заявки |
| Менеджер | Контролює об’єкти, заявки, агентів і статуси угод |
| Модератор | Перевіряє оголошення, фото, описи й публікації |
| Керівник | Переглядає звіти по об’єктах, заявках і агентах |
| Адміністратор | Налаштовує довідники, права, преміум-функції та службові параметри |
Технічні вимоги
| Параметр | Опис |
|---|---|
| Бекенд | K2 Cloud ERP на Python або PHP |
| База даних | PostgreSQL або MySQL |
| Фронтенд | HTML5, JavaScript |
| AJAX | Axios або Fetch API |
| UI-компоненти | DataTables для адмінки, Select2 для фільтрів, Slick Carousel або аналог для галереї фото |
| Медіа | Завантаження і зберігання багатьох фото для об’єктів |
| Карта | OpenStreetMap або Google Maps API, опціонально |
| Адаптивність | Мобільна версія сайту |
| Друк | Не обов’язково, основна робота виконується онлайн |
| Експорт | Excel або PDF для адміністративних звітів |
Рекомендовані сутності бази даних
Для реалізації задачі доцільно передбачити такі сутності:
- типи об’єктів;
- типи угод;
- країни;
- області;
- міста;
- райони;
- агенти;
- власники;
- оголошення;
- характеристики об’єктів;
- фото об’єктів;
- статуси оголошень;
- заявки;
- статуси заявок;
- вибране;
- преміум-публікації;
- перегляди;
- модерація;
- журнал змін;
- звіти;
- права доступу.
Практичне завдання
У межах атестації потрібно продемонструвати робочий сценарій.
Мінімальний сценарій:
- створити типи об’єктів;
- створити типи угод;
- створити регіони, міста й райони;
- створити агента;
- створити оголошення про продаж квартири;
- додати характеристики: кімнати, площа, поверх, ціна;
- завантажити кілька фото;
- визначити головне фото;
- відправити оголошення на модерацію;
- опублікувати оголошення;
- знайти його через пошук;
- застосувати фільтр за містом, ціною і кількістю кімнат;
- додати об’єкт у вибране;
- залишити заявку на об’єкт;
- передати заявку агенту;
- змінити статус заявки;
- увімкнути преміум-просування;
- зняти оголошення з публікації;
- сформувати звіт активних оголошень;
- сформувати звіт заявок по об’єктах;
- сформувати звіт ефективності агентів;
- перевірити журнал змін.
Критерії оцінювання
| Критерій | Бали | Що перевіряється |
|---|---|---|
| Реалізація бази об’єктів і завантаження оголошень | 20 | Типи об’єктів, типи угод, регіони, оголошення, характеристики, фото |
| Пошук і фільтрація нерухомості | 20 | Пошук, AJAX-фільтри, сортування, пагінація, коректність результатів |
| Управління статусами об’єктів | 20 | Чернетка, модерація, активне, продано, здано, знято з публікації, архів |
| Робота з заявками клієнтів | 20 | Форма заявки, прив’язка до об’єкта, агент, статуси, історія обробки |
| Інтерактивність через AJAX і мобільна адаптивність | 20 | Швидка фільтрація, вибране, заявки, фото, модерація, зручність на мобільних пристроях |
| Разом | 100 | Максимальна оцінка |
Шкала оцінювання
| Бали | Рівень | Опис |
|---|---|---|
| 90–100 | Відмінно | Модуль повністю працює: об’єкти, фото, пошук, фільтри, заявки, статуси, преміум, мобільність і звіти реалізовані коректно |
| 75–89 | Добре | Основна логіка працює, є незначні недоліки, які не руйнують процес публікації та пошуку нерухомості |
| 60–74 | Зараховано | Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання |
| 0–59 | Не зараховано | Відсутня критична логіка: об’єкти, фото, пошук, фільтрація, заявки або статуси |
Критичні помилки
Критичними помилками вважаються ситуації, коли:
- неможливо створити тип об’єкта;
- неможливо створити оголошення;
- оголошення не має типу угоди;
- оголошення не має локації;
- оголошення не має ціни;
- фото не прив’язуються до об’єкта;
- активне оголошення не показується на сайті;
- зняте з публікації оголошення показується як активне;
- проданий або зданий об’єкт показується серед доступних;
- пошук повертає неправильні результати;
- фільтр за ціною, містом або кімнатами працює некоректно;
- заявка не прив’язується до об’єкта;
- агент не бачить заявку по своєму об’єкту;
- користувач бачить службові дані без прав;
- зміни ціни, статусу або фото не логуються;
- звіти не відповідають фактичним оголошенням і заявкам.
Умова складання. Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл сайту нерухомості: об’єкт → фото → публікація → пошук → заявка → обробка → статус → звіт.
Очікуваний результат
У результаті виконання атестаційного завдання має бути створений модуль сайту продажу нерухомості в K2 ERP.
Модуль має підтримувати типи об’єктів, типи угод, регіони, міста, райони, агентів, власників, оголошення, характеристики, фото, галерею, пошук, AJAX-фільтрацію, заявки, статуси, вибране, преміум-публікації, модерацію, мобільну адаптацію, звіти, AJAX-інтерактив і логування змін.
Примітка
Сайт продажу нерухомості є основним інструментом для агентств, забудовників, рієлторів і приватних продавців.
У такому модулі особливо важливі якісні фото, зручні фільтри, швидке завантаження, зрозуміла картка об’єкта, мобільна адаптація та проста форма заявки. Саме ці елементи напряму впливають на кількість звернень і успішність продажів або оренди.
Коротко
| Питання | Відповідь |
|---|---|
| Що потрібно створити? | Модуль сайту продажу й оренди нерухомості |
| Які довідники потрібні? | Типи об’єктів, типи угод, регіони, міста, райони, агенти |
| Який головний об’єкт? | Оголошення про нерухомість |
| Що має містити оголошення? | Тип, угоду, локацію, характеристики, ціну, фото, опис, агента і статус |
| Які фільтри потрібні? | Тип об’єкта, угода, місто, район, ціна, площа, кімнати |
| Що робить користувач? | Шукає об’єкт, переглядає фото, додає у вибране, залишає заявку |
| Які звіти потрібні? | Активні оголошення, заявки по об’єктах, ефективність агентів, популярні об’єкти |
| Що є критичною вимогою? | Активний об’єкт має знаходитися через пошук, а заявка має прив’язуватися до нього |