Заказывайте брендовые товары и очки под заказ с доставкой в Украину и Европу
Translation pending
AI summary · website and README
CommerceHTML · JavaScriptGitHub @TBdmytroOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Trend Büro — приложение, админка и импорт товаров Витрина (index.html) плюс админка (admin.html), которая сама загружает ассортимент из источников (LV, Dior, Gucci, поставщики очков, CSV/JSON), считает цены по правилам и публикует товары после проверки. 1. GitHub: создайте пустой репозиторий и загрузите в него этот код. 2. Sanity: создайте новый проект на sanity.io/manage, dataset production. В разделе API → Tokens создайте токен с правами Editor. 3. Vercel: импортируйте репозиторий (Framework: Other). В Settings → Environment Variables добавьте:Read the full README ↗
Витрина (index.html) плюс админка (admin.html), которая сама загружает ассортимент из источников (LV, Dior, Gucci, поставщики очков, CSV/JSON), считает цены по правилам и публикует товары после проверки.
| Путь | Что это |
|---|---|
index.html | Витрина (Telegram Mini App / веб). Берёт опубликованные товары из /api/catalog. Демо-данные открываются только по ?demo=1 и помечены плашкой «ДЕМО-ДАННЫЕ». |
admin.html | Админка: источники, импорт, задачи, предпросмотр, товары, цены. |
api/admin.js | API админки (вход по паролю, подписанная cookie, защита от CSRF). |
api/catalog.js | Публичный каталог: только опубликованные товары, без закупочных цен и наценки. |
api/cron.js | Плановое обновление цен и наличия, фоновая обработка задач. |
lib/ | Логика: безопасная загрузка, разбор страниц, нормализация, дубли, цены, очередь задач, публикация. |
test/ | 41 автотест. Фикстуры в test/fixtures используются только тестами (тестовый режим). |
production. В разделе API → Tokens создайте токен с правами Editor.| Переменная | Значение |
|---|---|
SANITY_PROJECT_ID | ID проекта Sanity |
SANITY_DATASET | production |
SANITY_TOKEN | токен Editor (только здесь, никуда больше) |
ADMIN_PASSWORD | пароль входа в админку |
ADMIN_SECRET | необязательно: случайная строка 32+ символов для подписи сессии |
CRON_SECRET | случайная строка, её же Vercel передаёт в cron |
vercel.json). Чтобы большие импорты шли без открытой админки, в GitHub → Settings → Secrets добавьте APP_URL (адрес сайта) и CRON_SECRET. Тогда .github/workflows/import-tick.yml будет продвигать очередь каждые 10 минут. Пока админка открыта на вкладке «Задачи», очередь продвигается и оттуда.Если сайт отвечает защитой от ботов (CAPTCHA, вход, блокировка), задача останавливается со статусом «Заблокировано». Обход не выполняется: источник нужно подключить через файл или фид.
npm test # 41 тест
npm run check # синтаксис всех файлов + тесты
node scripts/dev.js # http://localhost:3000, без SANITY_* работает демо-режим в памяти, пароль «demo»