1. Публічна частина (Frontend)
• Каталог товарів:
- список з пагінацією, категоріями, фільтрацією (за ціною, категорією, наявністю).
- картка товару: фото, ціна, опис, залишок.
• Пошук: за назвою/описом.
• Кошик: додати/видалити/змінити кількість, підрахунок суми.
• Чекаут: форма (ім'я, email, телефон, адреса доставки).
• Оплата: інтеграція Stripe (карти, Apple Pay/Google Pay, MB Way/Multibanco).
• Сторінки статусів: успішна оплата / помилка / в обробці.
• Контентні сторінки: доставка та оплата, контакти, політика конфіденційності.
• Акції , Знижки
2. Адмін-панель
• Авторизація адміністратора.
• CRUD для товарів і категорій.
• Завантаження зображень через presigned URL (S3/R2).
• Перегляд списку замовлень.
• Зміна статусу замовлення (new → paid → shipped/canceled).
3. Замовлення та оплата
• Замовлення формується після чекауту.
• Вебхуки Stripe оновлюють статус замовлення (paid, failed, pending).
• Відправка e-mail клієнту при створенні та оплаті замовлення.
Backend
• Мова/фреймворк: Node.js (NestJS + TypeScript)
• БД: PostgreSQL.
• ORM: Prisma (Node) або Django ORM/Pydantic (Python).
• Кеш: Redis (сесії, кошики, списки товарів).
• Черги: BullMQ (Node) або Celery (Python) для фонових задач (e-mail, вебхуки).
• Сховище файлів: S3-сумісне (AWS S3/Cloudflare R2).
Frontend
• Next.js (React) з SSR/ISR для SEO.
• State-management: React Query/TanStack.
• Stripe Elements для чекауту.
• React Hook Form для форм.
Дизайн готовий, версткою зараз займається розробник (верстка на React).
Потрібно зробити Backend частину і реалізувати адмінпанель.
Прошу в відгуках вказувати реальні терміни та реальну вартість. Ставки типу «пишіть, поспілкуємось» - відхиляються.