Бюджет: 1111 UAH Термін: 1 день
Добрий день!
Детально вивчив обидва документи, аудит і ТЗ. Проект зрозумілий, завдання сформульовані грамотно. Нижче моя оцінка і пропозиція.
Про мене: Backend/fullstack розробник, основний стек: Laravel, MySQL, Redis, Vue 3, Docker. Досвід з каталогами +10k+ позицій, розуміння технічного SEO (canonical, Schema.org, sitemap, редиректи).
Оцінка термінів (full-time):
| Завдання 1-2: Стабілізація (500-е, бренди, Cloudflare, Redis, пошук) | 5-7 днів |
| Завдання 3-4: SEO-інфраструктура (редиректи, canonical, sitemap, Schema.org) | 5-8 днів |
| Завдання 5-7: Медіа, бренди-лендинги, модуль експертів | 7-10 днів |
| Завдання 8-10: Q&A, відгуки, AI-консультант, моніторинг | 4-7 днів |
Це без міграції сервера і оновлення Laravel, їх оцінюю окремо після аудиту коду.
Ставка: $15/год.
Як пропоную працювати:
1. Розпочати з аудиту кодової бази (1-2 дні), отримати доступ до репозиторію і сервера, оцінити реальний стан, уточнити терміни.
2. Поетапно за пріоритетами з ТЗ (червоні, помаранчеві, жовті, зелені), з прийманням після кожного блоку.
3. Міграцію на Contabo зробити першою. Немає сенсу оптимізувати код на нестабільному сервері.
4. Оновлення Laravel після завершення основних завдань, окремим етапом. Оновлення паралельно з розробкою фіч на легасі - це шлях до проблем.
Що пропоную зробити інакше (покращення до ТЗ):
- Пошук: Meilisearch замість TNTSearch. TNTSearch зберігає індекс у файлах, на 120k товарів будуть проблеми з пам'яттю і швидкістю. Meilisearch - це той же Scout-драйвер, але окремий сервіс, миттєвий пошук, typo-tolerance і фасети з коробки. Один Docker-контейнер, трудозатрати ті ж.
- AI-консультант: RAG замість голого промпта. Системний промпт "не вигадуй товари" не працює, LLM буде галюцинувати. Потрібно при запитанні користувача спочатку шукати по каталогу через Scout, передавати 10-15 релевантних товарів у контекст API. Додаткові витрати ~1 день, але результат з іграшки перетворюється в робочий інструмент.
- top_category_id: MySQL CTE замість PHP-рекурсії. Рекурсивний PHP на 120k товарів - це сотні тисяч запитів. Один WITH RECURSIVE CTE робить те ж за секунди.
- Schema.org: Blade-компоненти. Замість копіпасти JSON-LD у кожен шаблон, переиспользувані "x-schema.product", "x-schema.breadcrumb". Простіше підтримувати на 5-6 типах сторінок.
- WebP: Cloudflare Polish покриває 80% завдання. Раз Cloudflare вже підключається, Polish автоматично конвертує в WebP при доставці. Queue job потрібен тільки для thumbnail-ів конкретних розмірів.
Готовий до довгострокового співробітництва.