Технічне завдання на перший етап / MVP
Проект: Десктоп-додаток на Python для автоматизації публікації оголошень на Bazoš.sk
Технології: Python, Playwright, PySide/PyQt, SQLite/PostgreSQL, Excel імпорт/експорт
Вартість першого етапу: 30 000 грн
Термін виконання: 10–14 робочих днів після надання тестових акаунтів, проксі та прикладів товарів.
---
### 1. Мета першого етапу
Розробити мінімально робочу десктоп-версію додатку під Windows, яка дозволить:
— імпортувати товари з Excel;
— працювати з кількома акаунтами Bazoš;
— прив'язувати до кожного акаунту окремий проксі;
— використовувати окремий Playwright-профіль для кожного акаунту;
— виконувати вхід в акаунт Bazoš.sk;
— публікувати оголошення на Bazoš.sk в одній категорії — “ноутбуки”;
— завантажувати фото з локальних папок;
— зберігати посилання на опубліковане оголошення;
— відображати базові статуси та помилки в інтерфейсі.
Перший MVP потрібен для перевірки повного базового циклу:
Excel → товар → акаунт/проксі/профіль → публікація на Bazoš.sk → фото → посилання → статус.
---
### 2. Що входить у перший MVP
#### 2.1 Десктоп-додаток під Windows
Розробка простого десктоп-додатку з GUI:
— запуск додатку на Windows;
— простий інтерфейс без складної аналітики;
— базові розділи: товари, акаунти, черга/процес, помилки/логи;
— кнопки запуску/зупинки базового процесу;
— відображення поточного статусу обробки.
---
#### 2.2 Excel-імпорт
Реалізація Excel-шаблону для товарів.
Орієнтовні поля:
— назва товару;
— опис;
— ціна;
— місто/регіон;
— телефон/контакт;
— категорія;
— шлях до папки з фото;
— акаунт для публікації;
— статус;
— посилання на опубліковане оголошення;
— коментар/помилка.
Розробник надає базовий Excel-шаблон. Після узгодження він використовується для імпорту товарів у додаток.
---
#### 2.3 Робота з фото
— для кожного товару використовується окрема локальна папка з фото;
— додаток бере фото з вказаного шляху;
— фото завантажуються при створенні оголошення на Bazoš.sk.
---
#### 2.4 Акаунти, проксі та профілі
У першому MVP реалізується:
— додавання кількох акаунтів Bazoš;
— зберігання даних акаунтів у локальній базі;
— прив'язка проксі до акаунту;
— схема: 1 акаунт = 1 проксі = 1 окремий Playwright-профіль;
— окрема браузерна сесія для кожного акаунту.
---
#### 2.5 Публікація оголошень на Bazoš.sk
В рамках першого MVP реалізується публікація:
— тільки на Bazoš.sk;
— тільки в одній категорії — “ноутбуки”;
— з заповненням основних полів оголошення;
— з завантаженням фото;
— з збереженням посилання на опубліковане оголошення;
— з оновленням статусу товару в додатку.
---
#### 2.6 Статуси та логування
В MVP будуть базові статуси:
— pending;
— in_progress;
— published;
— error.
Також буде базове логування:
— успішна публікація;
— помилка входу;
— помилка проксі;
— помилка публікації;
— помилка завантаження фото;
— ситуація, коли потрібне ручне дію.
---
#### 2.7 Ручна пауза при SMS-підтвердженні
Якщо Bazoš просить повторну SMS-верифікацію акаунта:
— додаток не намагається обходити підтвердження;
— процес по цьому акаунту ставиться на паузу;
— користувач вручну проходить підтвердження;
— після цього роботу можна продовжити.
---
#### 2.8 Архітектура під Bazoš.sk та Bazoš.cz
У першому MVP повноцінна публікація робиться тільки для Bazoš.sk, але архітектура одразу закладається під подальше розширення на Bazoš.cz.
Тобто:
— основна логіка додатку відокремлюється від логіки конкретного сайту;
— селектори, URL, категорії та поля виносяться в окремий шар;
— Bazoš.cz в подальшому можна буде додати окремим модулем без переписування ядра додатку.
---
### 3. Що не входить у перший MVP
В перший етап не входить:
— повноцінна підтримка Bazoš.cz;
— публікація в кількох категоріях;
— автоматична перепублікація/підняття оголошень;
— налаштування інтервалу ротації 1–7 днів;
— sold/delete-логіка;
— контроль ліміту 50 активних оголошень на акаунт.
Додатково фіксуємо по першому етапу:
— збереження браузерного профілю/сесії: додаток має зберігати Playwright-профілі між перезапусками Windows і самого додатку, щоб не виконувати логін знову кожного разу, якщо сесія на Bazoš залишається активною;
— збереження посилань: посилання на опубліковані оголошення зберігаються локально в базі і залишаються доступними після перезапуску додатку;
— черга не втрачає товари при помилці: якщо публікація завершилась помилкою, товар отримує статус error, помилка записується в лог, але сам товар не видаляється і може бути повторно запущений;
— ручний вибір акаунта: в Excel/інтерфейсі передбачено можливість вказати акаунт, з якого потрібно публікувати конкретний товар;
— зупинка/продовження черги: базова можливість зупинити і продовжити обробку без втрати поточного стану входить у MVP;
— переносимість проекту: додаток, база, профілі та конфіги не повинні бути жорстко прив'язані до мого ПК, сервера або Windows-користувача. Проект має бути переносимим при коректному перенесенні папки додатку/бази/профілів і налаштуванні середовища;
— передача матеріалів: після завершення етапу передаються .exe, вихідний код, репозиторій/архів проекту, Excel-шаблон, README та інструкція по запуску/зборці;
— період виправлення багів: після здачі MVP передбачено короткий період на виправлення багів і недочетів, які стосуються саме узгодженого ТЗ першого етапу. Не нові функції, а саме виправлення в рамках MVP.
Результат першого етапу: робочий Windows-додаток з GUI, Excel-імпортом, кількома акаунтами/проксі, окремими Playwright-профілями, публікацією на Bazoš.sk в категорії “ноутбуки”, завантаженням фото, збереженням посилань, базовими статусами, логами, ручною паузою при SMS-підтвердженні та архітектурою під подальше розширення на Bazoš.cz.
Доповнення до ТЗ першого етапу / MVP
Що необхідно від замовника для старту робіт:
— 2–3 тестових акаунти Bazoš;
— проксі під ці акаунти;
— кілька тестових товарів у категорії “ноутбуки”;
— локальні папки з фото для кожного товару;
— приклад ручної публікації оголошення;
— список обов'язкових полів для Excel;
— інформація про версію Windows, на якій буде використовуватися додаток.
Критерії приймання першого MVP:
— додаток запускається на Windows;
— товари коректно імпортуються з Excel;
— акаунти і проксі використовуються в додатку;
— створюються і зберігаються окремі Playwright-профілі;
— виконується вхід в акаунт Bazoš.sk;
— публікується тестове оголошення в категорії “ноутбуки”;
— фотографії завантажуються з локальної папки;
— посилання на опубліковане оголошення зберігається;
— статус товару оновлюється після публікації;
— помилка публікації не видаляє товар з черги обробки.
Додатково:
— для першого MVP використовується локальна база SQLite;
— вихідний код проекту і Git-репозиторій передаються замовнику після завершення етапу;
— після здачі MVP надається 5 робочих днів на виправлення багів і недоліків, що стосуються погодженого функціоналу першого етапу
Увійдіть
або
зареєструйтесь,
щоб побачити оригінал