Add Windows 7 deploy bundle pipeline

Self-contained zip (dist/avtoambor-deploy.zip) for end users on Windows 7:
double-click install.bat to install Node 16, then start.bat to launch the
server. start.bat self-relaunches minimized so the console window stays out
of the way. Node is pinned to 16.x and several deps downgraded for Win7
compatibility; the unsupported View Transitions hook is dropped from the
root layout. make bundle wraps scripts/make-bundle.sh.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
David Beccue
2026-05-18 09:38:20 +05:00
parent c882ab5d43
commit 83a59f1677
13 changed files with 2113 additions and 820 deletions

305
deploy/index.html Normal file
View File

@ -0,0 +1,305 @@
<!doctype html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Замена Масла ГП — установка на Windows 7</title>
<style>
body {
font-family: -apple-system, "Segoe UI", Tahoma, Arial, sans-serif;
max-width: 720px;
margin: 2rem auto;
padding: 0 1rem 3rem;
color: #1d2330;
background: #fbf7f1;
line-height: 1.55;
}
h1 { font-size: 1.6rem; margin: 0 0 0.5rem; }
h2 { font-size: 1.15rem; margin: 1.75rem 0 0.5rem; color: #00553e; }
h3 { font-size: 1rem; margin: 1.25rem 0 0.4rem; }
.lang-nav {
display: flex;
gap: 0.5rem;
margin: 1rem 0 1.5rem;
flex-wrap: wrap;
}
.lang-nav a {
padding: 0.4rem 0.85rem;
background: #fff;
border: 1px solid #c8cfdc;
border-radius: 4px;
color: #1d2330;
text-decoration: none;
font-size: 0.92rem;
}
.lang-nav a:hover { background: #eef1f6; }
.download {
display: inline-block;
margin: 1.25rem 0 0.5rem;
padding: 0.75rem 1.25rem;
background: #006a4e;
color: #fff;
font-weight: 600;
text-decoration: none;
border-radius: 4px;
}
.download:hover { background: #00553e; }
.meta { color: #6b7388; font-size: 0.9rem; }
code, kbd {
background: #eef1f6;
padding: 1px 6px;
border-radius: 3px;
font-size: 0.9em;
}
ol, ul { padding-left: 1.25rem; }
ol li, ul li { margin: 0.55rem 0; }
.note {
background: #fff;
border-left: 3px solid #006a4e;
padding: 0.6rem 0.85rem;
margin: 1rem 0;
font-size: 0.92rem;
}
.warn {
background: #fdecea;
border: 1px solid #f5c2c0;
color: #8a1f1b;
padding: 0.6rem 0.85rem;
border-radius: 4px;
margin: 1rem 0;
font-size: 0.92rem;
}
section {
border-top: 1px solid #d8dde7;
padding-top: 1rem;
margin-top: 2.5rem;
}
section:first-of-type { border-top: none; padding-top: 0; margin-top: 0; }
</style>
</head>
<body>
<h1>Замена Масла ГП</h1>
<p class="meta">Программа учёта для Windows 7 (64-бит)
· Программаи баҳисобгирӣ барои Windows 7 (64-бит)
· Inventory app for Windows 7 (64-bit)</p>
<nav class="lang-nav">
<a href="#ru">Русский</a>
<a href="#tg">Тоҷикӣ</a>
<a href="#en">English</a>
</nav>
<a class="download" href="avtoambor-deploy.zip">
Скачать архив · Боргирӣ · Download (≈ 57 МБ / MB)
</a>
<!-- =========================================================== -->
<!-- RUSSIAN -->
<!-- =========================================================== -->
<section id="ru" lang="ru">
<h2>Русский — установка на Windows 7</h2>
<div class="warn">
Программа собрана для <strong>64-битной</strong> Windows 7. Проверьте версию:
правый клик по «Компьютер» → «Свойства» → «Тип системы». Должно быть
«64-разрядная операционная система».
</div>
<h3>Установка — один раз</h3>
<ol>
<li>
Нажмите кнопку <strong>Скачать архив</strong> выше. Сохраните файл
<code>avtoambor-deploy.zip</code> на диск <code>C:\</code>.
</li>
<li>
Правый клик по архиву → <strong>Извлечь всё…</strong> → укажите путь
<code>C:\</code><strong>Извлечь</strong>. Должна появиться папка
<code>C:\avtoambor\</code>.
</li>
<li>
Откройте папку <code>C:\avtoambor\</code> и сделайте двойной клик
по <strong>install.bat</strong>. Откроется установщик Node.js — нажимайте
«Далее», соглашайтесь со всем по умолчанию. Если Windows спросит
разрешения администратора — разрешите.
</li>
<li>
После того как установщик закончит, <strong>выйдите из системы и войдите
снова</strong> (или перезагрузите компьютер).
</li>
<li>
Двойной клик по <strong>start.bat</strong>. Откроется чёрное окно с
надписью «Сервер запущен на http://localhost:3000», и автоматически
откроется браузер с программой.
</li>
</ol>
<div class="note">
<strong>Важно:</strong> чёрное окно сервера должно оставаться открытым,
пока вы пользуетесь программой. Закрытие окна = остановка сервера.
</div>
<h3>Ярлык на рабочем столе (рекомендуется)</h3>
<ol>
<li>Откройте папку <code>C:\avtoambor\</code>.</li>
<li>Щёлкните правой кнопкой по <strong>start.bat</strong><strong>Отправить</strong><strong>Рабочий стол (создать ярлык)</strong>.</li>
<li>На рабочем столе появится значок — переименуйте его в «Замена Масла ГП».</li>
<li>Теперь для запуска программы достаточно двойного клика по этому значку.</li>
</ol>
<h3>Автозапуск при включении компьютера (необязательно)</h3>
<ol>
<li>Нажмите <kbd>Win</kbd>+<kbd>R</kbd>, введите <code>shell:startup</code>, нажмите Enter.</li>
<li>Перетащите ярлык с рабочего стола (созданный выше) в открывшуюся папку.</li>
<li>При следующем включении компьютера программа запустится сама.</li>
</ol>
<h3>Резервные копии</h3>
<p>
Программа сама копирует базу данных каждые 5 минут в папку
<code>backups\</code>, если в данных были изменения.
Для ручной копии — двойной клик по <strong>backup.bat</strong>.
</p>
<h3>Если что-то не работает</h3>
<ul>
<li><strong><code>start.bat</code> пишет «Node.js не найден»</strong> — вы пропустили шаг 4 (нужно выйти из системы и зайти снова).</li>
<li><strong>Чёрное окно мигает и сразу закрывается</strong> — откройте <code>cmd</code>, выполните <code>cd C:\avtoambor</code>, затем <code>start.bat</code>. Прочитайте сообщение об ошибке.</li>
<li><strong>Браузер пишет «Не удаётся открыть страницу»</strong> — подождите 510 секунд и обновите страницу (<kbd>F5</kbd>).</li>
<li><strong>Программа потеряла данные</strong> — закройте окно сервера, в папке <code>backups\</code> найдите свежий файл <code>zamena-masla-gp-…-….db</code>, скопируйте его в <code>data\avtoambor.db</code> (с заменой), снова запустите <code>start.bat</code>.</li>
</ul>
</section>
<!-- =========================================================== -->
<!-- TAJIK -->
<!-- =========================================================== -->
<section id="tg" lang="tg">
<h2>Тоҷикӣ — насб ба Windows 7</h2>
<div class="warn">
Барнома барои <strong>Windows 7-и 64-бита</strong> омода шудааст. Версияро
тафтиш кунед: тугмаи рости муш ба «Компьютер» → «Свойства» → «Тип системы».
Бояд «64-разрядная операционная система» нависта бошад.
</div>
<h3>Насб — як маротиба</h3>
<ol>
<li>
Тугмаи <strong>Скачать архив</strong>-ро дар боло пахш кунед. Файли
<code>avtoambor-deploy.zip</code>-ро ба диски <code>C:\</code> нигоҳ доред.
</li>
<li>
Тугмаи рости муш ба архив → <strong>Извлечь всё…</strong> → роҳи
<code>C:\</code>-ро нишон диҳед → <strong>Извлечь</strong>. Папкаи
<code>C:\avtoambor\</code> бояд пайдо шавад.
</li>
<li>
Папкаи <code>C:\avtoambor\</code>-ро кушоед ва дубора ба
<strong>install.bat</strong> зер кунед. Насбкунандаи Node.js кушода
мешавад — «Далее»-ро пахш кунед ва ба ҳамаи интихобҳои стандартӣ розӣ
шавед. Агар Windows иҷозати администраторро пурсад — иҷозат диҳед.
</li>
<li>
Пас аз ба итмом расидани насбкунанда, <strong>аз система бароед ва
дубора ворид шавед</strong> (ё компютерро аз нав сар кунед).
</li>
<li>
Дубора ба <strong>start.bat</strong> зер кунед. Тирезаи сиёҳ бо навишти
«Сервер запущен на http://localhost:3000» кушода мешавад ва браузер
худаш барномаро мекушояд.
</li>
</ol>
<div class="note">
<strong>Муҳим:</strong> то даме ки бо барнома кор мекунед, тирезаи сиёҳи
сервер бояд кушода бошад. Бастани тиреза = қатъ кардани сервер.
</div>
<h3>Тугмача дар мизи корӣ (тавсия)</h3>
<ol>
<li>Папкаи <code>C:\avtoambor\</code>-ро кушоед.</li>
<li>Тугмаи рости муш ба <strong>start.bat</strong><strong>Отправить</strong><strong>Рабочий стол (создать ярлык)</strong>.</li>
<li>Дар мизи корӣ тугмачаи нав пайдо мешавад — номи онро ба «Замена Масла ГП» иваз кунед.</li>
<li>Акнун барои оғоз кардани барнома дубора ба ҳамин тугмача зер кунед.</li>
</ol>
<h3>Худкор оғоз кардан ҳангоми ба кор андохтани компютер (ихтиёрӣ)</h3>
<ol>
<li><kbd>Win</kbd>+<kbd>R</kbd>-ро пахш кунед, <code>shell:startup</code>-ро дохил кунед, Enter-ро пахш кунед.</li>
<li>Тугмачаро аз мизи корӣ (ҳамонеро ки боло сохтед) ба папкае ки кушода шуд кашед.</li>
<li>Ҳангоми навбатии ба кор андохтани компютер барнома худаш оғоз меёбад.</li>
</ol>
<h3>Нусхаҳои эҳтиётӣ</h3>
<p>
Барнома худаш базаро ҳар 5 дақиқа ба папкаи <code>backups\</code> нусха
мегирад, агар дар маълумот тағйирот бошад. Барои нусхаи дастӣ —
дубора ба <strong>backup.bat</strong> зер кунед.
</p>
<h3>Агар чизе кор накунад</h3>
<ul>
<li><strong><code>start.bat</code> «Node.js не найден» менависад</strong> — шумо қадами 4-умро гум кардаед (бояд аз система бароед ва дубора ворид шавед).</li>
<li><strong>Тирезаи сиёҳ як лаҳза пайдо шуда баста мешавад</strong><code>cmd</code>-ро кушоед, <code>cd C:\avtoambor</code> ва пас <code>start.bat</code>-ро иҷро кунед. Паёми хаторо хонед.</li>
<li><strong>Браузер «Не удаётся открыть страницу» менависад</strong> — 510 сония интизор шавед ва саҳифаро нав кунед (<kbd>F5</kbd>).</li>
<li><strong>Маълумот гум шудааст</strong> — тирезаи серверро банд кунед, дар папкаи <code>backups\</code> файли наватарини <code>zamena-masla-gp-…-….db</code>-ро ёбед, онро ба <code>data\avtoambor.db</code> нусхабардорӣ кунед (бо ҷойгузинӣ), бори дигар <code>start.bat</code>-ро иҷро кунед.</li>
</ul>
</section>
<!-- =========================================================== -->
<!-- ENGLISH -->
<!-- =========================================================== -->
<section id="en" lang="en">
<h2>English — install on Windows 7</h2>
<div class="warn">
This bundle targets <strong>64-bit Windows 7</strong>. Verify by right-clicking
"Computer" → Properties → "System type": should read "64-bit Operating System".
</div>
<h3>One-time install</h3>
<ol>
<li>Click <strong>Download</strong> above. Save <code>avtoambor-deploy.zip</code> to <code>C:\</code>.</li>
<li>Right-click the zip → <strong>Extract All…</strong> → path <code>C:\</code><strong>Extract</strong>. You should get <code>C:\avtoambor\</code>.</li>
<li>Open <code>C:\avtoambor\</code> and double-click <strong>install.bat</strong>. The Node.js installer wizard opens — click Next, accept defaults. Allow if Windows asks for admin permission.</li>
<li>When the wizard finishes, <strong>log out of Windows and log back in</strong> (or reboot) so the new <code>PATH</code> takes effect.</li>
<li>Double-click <strong>start.bat</strong>. A black console opens with "Сервер запущен на http://localhost:3000" and the browser opens to the app automatically.</li>
</ol>
<div class="note">
<strong>Important:</strong> the black server window must stay open while you
use the app. Closing it stops the server.
</div>
<h3>Desktop shortcut (recommended)</h3>
<ol>
<li>Open <code>C:\avtoambor\</code>.</li>
<li>Right-click <strong>start.bat</strong><strong>Send to</strong><strong>Desktop (create shortcut)</strong>.</li>
<li>Rename the new desktop icon to "Замена Масла ГП".</li>
<li>From now on, double-click that icon to start the app.</li>
</ol>
<h3>Autostart on boot (optional)</h3>
<ol>
<li>Press <kbd>Win</kbd>+<kbd>R</kbd>, type <code>shell:startup</code>, press Enter.</li>
<li>Drag the desktop shortcut you just made into the folder that opens.</li>
<li>Next boot, the app starts itself.</li>
</ol>
<h3>Backups</h3>
<p>
The app auto-snapshots the DB into <code>backups\</code> every 5 minutes when
there have been changes. For a manual snapshot, double-click <strong>backup.bat</strong>.
</p>
<h3>Troubleshooting</h3>
<ul>
<li><strong><code>start.bat</code> says "Node.js не найден"</strong> — you skipped step 4 (log out / reboot).</li>
<li><strong>Black window flashes and disappears</strong> — open <code>cmd</code>, run <code>cd C:\avtoambor</code> then <code>start.bat</code>, and read the error message.</li>
<li><strong>Browser shows "can't reach this page"</strong> — wait 510 seconds and refresh (<kbd>F5</kbd>).</li>
<li><strong>Lost data</strong> — close the server window, find the newest <code>zamena-masla-gp-…-….db</code> in <code>backups\</code>, copy it over <code>data\avtoambor.db</code>, restart <code>start.bat</code>.</li>
</ul>
</section>
</body>
</html>