diff --git a/.agents/skills/FILES-OVERVIEW.md b/.agents/skills/FILES-OVERVIEW.md index d550dd6..7117921 100644 --- a/.agents/skills/FILES-OVERVIEW.md +++ b/.agents/skills/FILES-OVERVIEW.md @@ -1,239 +1,33 @@ -# 📁 Обзор файлов проекта +# Обзор файлов проекта -> **Обновление структуры:** документы по деплою перенесены в **`scripts/docs/`**; промпты и гайды для агентов — в **`.agents/skills/`** (этот каталог). Исходный код приложения — в **`src/`**. +Исходный код приложения — в **`src/`**. Точка входа Vite — корневой **`index.html`** (подключает `/src/main.tsx`). Статика — **`public/`** (например `favicon.svg`). -## 🚀 НАЧНИТЕ С ЭТОГО ФАЙЛА -**→ START-HERE.md** - Быстрый старт для деплоя на Netlify +## Корень репозитория ---- +- **package.json** — зависимости и скрипты (`dev`, `build`, `preview`) +- **vite.config.ts** — Vite + React + Tailwind +- **tsconfig.json** — ссылки на `tsconfig.app.json` и `tsconfig.node.json` +- **README.md** — как запустить проект -## 📖 Документация по деплою (в порядке важности) +## `src/` -### Обязательно прочитать: -1. **COMMIT-AND-DEPLOY.md** - Пошаговая инструкция коммита и деплоя -2. **NETLIFY-FIX.md** - Решение проблем с Netlify -3. **NODE-VERSION-FIX.md** - Информация о Node.js v18 +- **App.tsx** — роутинг и layout +- **main.tsx** — монтирование React +- **components/** — секции сайта, **components/ui/** — shadcn-подобные виджеты +- **pages/** — страницы категорий +- **styles/** — `globals.css`, `animations.css` (Tailwind v4) +- **Attributions.md** — лицензии сторонних материалов -### Дополнительная информация: -4. **DEPLOYMENT.md** - Полная инструкция по всем платформам -5. **DEPLOY-QUICK.md** - Быстрая шпаргалка -6. **PLATFORMS.md** - Детальное сравнение платформ -7. **DEPLOYMENT-CHECKLIST.md** - Чеклист для деплоя - -### История изменений: -8. **LATEST-FIXES.md** - Последние исправления (Node.js v18) -9. **FIXES-SUMMARY.md** - Полная сводка всех исправлений - -### Специфичные платформы: -10. **deploy-yandex-cloud.md** - Яндекс.Облако -11. **deploy-traditional-hosting.md** - Timeweb, Beget, Reg.ru - ---- - -## 🔧 Конфигурационные файлы - -### Главные конфигурации: -- **package.json** - Зависимости и скрипты - - Содержит `engines` для Node.js 18 -- **vite.config.ts** - Конфигурация Vite - - `outDir: 'build'` - выходная папка -- **tsconfig.json** - TypeScript конфигурация - -### Деплой конфигурации: -- **.nvmrc** - Фиксация Node.js 18 (для Netlify) -- **netlify.toml** - Настройки Netlify - - `publish = "build"` - - `NODE_VERSION = "18"` -- **vercel.json** - Настройки Vercel (опционально) -- **.htaccess** - Для Apache хостинга -- **.gitignore** - Исключения для Git - -### Стили и сборка: -- **postcss.config.js** - PostCSS конфигурация -- **tailwind.config.js** - Tailwind CSS v4 конфигурация -- **/styles/globals.css** - Глобальные стили -- **/styles/animations.css** - Анимации - ---- - -## 🛠 Скрипты и утилиты - -### Скрипты проверки: -- **check-build.sh** - Проверка сборки (Linux/Mac) -- **check-build.bat** - Проверка сборки (Windows) - - Проверяют Node.js версию - - Собирают проект - - Показывают output директорию - -### Скрипты деплоя: -- **deploy.sh** - Полуавтоматический деплой (Linux/Mac) -- **deploy.bat** - Полуавтоматический деплой (Windows) - ---- - -## 📱 Исходный код приложения - -### Корневые файлы: -- **App.tsx** - Главный компонент с роутингом -- **main.tsx** - Точка входа приложения -- **index.html** - HTML шаблон - -### Компоненты: -- **/components/Header.tsx** - Шапка с навигацией -- **/components/Footer.tsx** - Подвал сайта -- **/components/Hero.tsx** - Hero-секция с метриками -- **/components/About.tsx** - О компании -- **/components/Services.tsx** - Услуги -- **/components/Solutions.tsx** - Решения -- **/components/Cases.tsx** - Кейсы -- **/components/Contact.tsx** - Контакты -- **/components/ContactModal.tsx** - Модальное окно -- **/components/CategoryPage.tsx** - Шаблон страницы категории -- **/components/ui/** - UI компоненты (shadcn/ui) - -### Страницы: -- **/pages/HomePage.tsx** - Главная страница -- **/pages/RussianSoftwarePage.tsx** - Российское ПО -- **/pages/RussianHardwarePage.tsx** - Российское оборудование -- **/pages/CloudPage.tsx** - Облачные решения -- **/pages/CybersecurityPage.tsx** - Кибербезопасность -- **/pages/BusinessPage.tsx** - Бизнес-приложения -- **/pages/AISolutionsPage.tsx** - AI решения -- **/pages/CADandGISPage.tsx** - CAD/GIS системы -- **/pages/IndustrialSolutionsPage.tsx** - Промышленные решения -- **/pages/HardwareSolutionsPage.tsx** - Оборудование -- **/pages/GovernmentPage.tsx** - Госсектор -- **/pages/ConsultingPage.tsx** - Консалтинг -- **/pages/IntegrationPage.tsx** - Интеграция -- **/pages/ImplementationPage.tsx** - Внедрение -- **/pages/SupportPage.tsx** - Поддержка -- **/pages/ManagedServicesPage.tsx** - Управляемые услуги -- **/pages/SubscriptionPage.tsx** - Подписки -- **/pages/SpecializedServicesPage.tsx** - Спец. услуги - ---- - -## 🎨 Статические ресурсы - -### Public файлы: -- **/public/favicon.svg** - Иконка сайта (буква "S") - ---- - -## 📚 Дополнительные файлы - -- **README.md** - Основной README проекта -- **Attributions.md** - Лицензии и атрибуты -- **guidelines/Guidelines.md** - Руководство по разработке - ---- - -## 🗂 Структура проекта - -``` -/ -├── 🚀 START-HERE.md ← НАЧНИТЕ ОТСЮДА -├── 📖 Документация по деплою -│ ├── COMMIT-AND-DEPLOY.md -│ ├── NETLIFY-FIX.md -│ ├── NODE-VERSION-FIX.md -│ ├── DEPLOYMENT.md -│ ├── DEPLOY-QUICK.md -│ ├── PLATFORMS.md -│ ├── DEPLOYMENT-CHECKLIST.md -│ ├── LATEST-FIXES.md -│ ├── FIXES-SUMMARY.md -│ ├── deploy-yandex-cloud.md -│ └── deploy-traditional-hosting.md -├── 🔧 Конфигурации -│ ├── .nvmrc -│ ├── .gitignore -│ ├── package.json -│ ├── vite.config.ts -│ ├── tsconfig.json -│ ├── netlify.toml -│ ├── postcss.config.js -│ ├── tailwind.config.js -│ ├── .htaccess -│ └── vercel.json -├── 🛠 Скрипты -│ ├── check-build.sh -│ ├── check-build.bat -│ ├── deploy.sh -│ └── deploy.bat -├── 📱 Исходный код -│ ├── App.tsx -│ ├── main.tsx -│ ├── index.html -│ ├── /components/ (React компоненты) -│ ├── /pages/ (Страницы) -│ ├── /styles/ (Стили) -│ └── /public/ (Статические файлы) -└── 📚 Прочее - ├── README.md - ├── Attributions.md - └── guidelines/ -``` - ---- - -## 🎯 Какой файл читать? - -### Хочу быстро задеплоить на Netlify: -→ **START-HERE.md** - -### Netlify выдаёт ошибку: -→ **NETLIFY-FIX.md** - -### Проблемы с Node.js версией: -→ **NODE-VERSION-FIX.md** - -### Хочу сравнить платформы: -→ **PLATFORMS.md** - -### Нужна полная инструкция: -→ **DEPLOYMENT.md** - -### Хочу задеплоить на Яндекс.Облако: -→ **deploy-yandex-cloud.md** - -### Что было исправлено: -→ **LATEST-FIXES.md** или **FIXES-SUMMARY.md** - ---- - -## 📋 NPM Scripts +## Команды ```bash -npm run dev # Запуск dev-сервера (http://localhost:5173) -npm run build # Сборка для продакшена (→ build/) -npm run preview # Предпросмотр продакшен-сборки +npm run dev # dev-сервер (порт из Vite) +npm run build # прод-сборка → dist/ +npm run preview # предпросмотр dist/ ``` ---- +## Ссылки -## ✨ Особенности проекта - -- ✅ **React 18** + **TypeScript** -- ✅ **Vite 5** для быстрой сборки -- ✅ **Tailwind CSS v4** для стилизации -- ✅ **React Router** для навигации -- ✅ **Lucide Icons** для иконок -- ✅ **shadcn/ui** компоненты -- ✅ **Responsive дизайн** -- ✅ **Российские аналоги** зарубежных решений -- ✅ **Минималистичный дизайн** без фотографий - ---- - -## 🔗 Полезные ссылки - -- Vite: https://vitejs.dev -- React: https://react.dev -- Tailwind CSS: https://tailwindcss.com -- Netlify: https://netlify.com -- Node.js: https://nodejs.org - ---- - -Этот файл создан для быстрой навигации по проекту. Начните с **START-HERE.md**! 🚀 +- Vite: https://vitejs.dev +- React: https://react.dev +- Tailwind CSS: https://tailwindcss.com diff --git a/.agents/skills/PROMPT-FOR-RECREATION.md b/.agents/skills/PROMPT-FOR-RECREATION.md index 99039dc..2c83775 100644 --- a/.agents/skills/PROMPT-FOR-RECREATION.md +++ b/.agents/skills/PROMPT-FOR-RECREATION.md @@ -492,27 +492,11 @@ ### vite.config.ts ```ts export default defineConfig({ - build: { - outDir: 'build', // ВАЖНО: папка build для Netlify - } + plugins: [react(), tailwindcss()], + // Сборка по умолчанию в dist/ (стандарт Vite) }); ``` -### netlify.toml -```toml -[build] - command = "npm run build" - publish = "build" - -[[redirects]] - from = "/*" - to = "/index.html" - status = 200 - -[build.environment] - NODE_VERSION = "18" -``` - --- ## ВАЖНЫЕ ДЕТАЛИ @@ -570,47 +554,50 @@ export default defineConfig({ ``` / -├── App.tsx (главный компонент с роутингом) -├── main.tsx (точка входа) ├── index.html ├── package.json ├── vite.config.ts -├── netlify.toml ├── tsconfig.json -├── postcss.config.js -├── components/ -│ ├── Header.tsx -│ ├── Hero.tsx -│ ├── Services.tsx -│ ├── Solutions.tsx -│ ├── Cases.tsx -│ ├── About.tsx -│ ├── Contact.tsx -│ ├── Footer.tsx -│ ├── ContactModal.tsx -│ └── CategoryPage.tsx -├── pages/ -│ ├── HomePage.tsx -│ ├── CloudPage.tsx -│ ├── RussianSoftwarePage.tsx -│ ├── CybersecurityPage.tsx -│ ├── AISolutionsPage.tsx -│ ├── RussianHardwarePage.tsx -│ ├── HardwareSolutionsPage.tsx -│ ├── CADandGISPage.tsx -│ ├── IndustrialSolutionsPage.tsx -│ ├── GovernmentPage.tsx -│ ├── BusinessPage.tsx -│ ├── ConsultingPage.tsx -│ ├── ImplementationPage.tsx -│ ├── ManagedServicesPage.tsx -│ ├── IntegrationPage.tsx -│ ├── SpecializedServicesPage.tsx -│ ├── SupportPage.tsx -│ └── SubscriptionPage.tsx -└── styles/ - ├── globals.css - └── animations.css +├── tsconfig.app.json +├── tsconfig.node.json +├── public/ +│ └── favicon.svg +└── src/ + ├── App.tsx (главный компонент с роутингом) + ├── main.tsx (точка входа) + ├── components/ + │ ├── Header.tsx + │ ├── Hero.tsx + │ ├── Services.tsx + │ ├── Solutions.tsx + │ ├── Cases.tsx + │ ├── About.tsx + │ ├── Contact.tsx + │ ├── Footer.tsx + │ ├── ContactModal.tsx + │ └── CategoryPage.tsx + ├── pages/ + │ ├── HomePage.tsx + │ ├── CloudPage.tsx + │ ├── RussianSoftwarePage.tsx + │ ├── CybersecurityPage.tsx + │ ├── AISolutionsPage.tsx + │ ├── RussianHardwarePage.tsx + │ ├── HardwareSolutionsPage.tsx + │ ├── CADandGISPage.tsx + │ ├── IndustrialSolutionsPage.tsx + │ ├── GovernmentPage.tsx + │ ├── BusinessPage.tsx + │ ├── ConsultingPage.tsx + │ ├── ImplementationPage.tsx + │ ├── ManagedServicesPage.tsx + │ ├── IntegrationPage.tsx + │ ├── SpecializedServicesPage.tsx + │ ├── SupportPage.tsx + │ └── SubscriptionPage.tsx + └── styles/ + ├── globals.css + └── animations.css ``` --- @@ -626,7 +613,7 @@ export default defineConfig({ 7. Работающие выпадающие меню 8. Функциональное модальное окно 9. Якорная навигация к секциям на главной странице -10. Готовность к деплою на Netlify (build в папку build) +10. Продакшен-сборка в каталог `dist/` (стандарт Vite) --- diff --git a/.agents/skills/START-HERE.md b/.agents/skills/START-HERE.md index c8e6b65..6ef4d10 100644 --- a/.agents/skills/START-HERE.md +++ b/.agents/skills/START-HERE.md @@ -1,120 +1,7 @@ -# 🚀 НАЧНИТЕ ОТСЮДА +# Старт -> **Актуальная структура репозитория:** сборка в **`dist/`** (стандарт Vite). Документация по деплою — в **`scripts/docs/`**. Скрипты — в **`scripts/`**. Точка входа приложения — корневой **`index.html`** и **`src/main.tsx`**. +Корень репозитория: **`index.html`**, код приложения в **`src/`** (в т.ч. `src/main.tsx`, `src/App.tsx`). Сборка: **`dist/`** (`npm run build`). -## Проект готов к деплою на Netlify! +См. корневой **README.md** — `npm install`, `npm run dev`, `npm run preview`. -Все проблемы исправлены: -- ✅ Node.js зафиксирован на версии 18 LTS -- ✅ Vite настроен на сборку в папку `dist` -- ✅ Netlify настроен на публикацию из `dist` -- ✅ Все конфигурации обновлены - ---- - -## 🎯 Быстрый старт - -### 1. Закоммитьте изменения - -```bash -git add . -git commit -m "Fix: Pin Node.js to v18 and configure build output" -git push origin main -``` - -### 2. Деплой на Netlify - -После пуша: -1. Зайдите на https://app.netlify.com -2. Откройте ваш сайт -3. Дождитесь автоматического деплоя (~2-3 минуты) -4. Готово! ✅ - ---- - -## 📖 Документация - -### Для быстрого решения проблем: -- **COMMIT-AND-DEPLOY.md** - пошаговая инструкция по деплою -- **NETLIFY-FIX.md** - решение проблем с Netlify -- **NODE-VERSION-FIX.md** - информация о Node.js версии - -### Полная информация: -- **DEPLOYMENT.md** - все способы деплоя -- **PLATFORMS.md** - сравнение платформ -- **DEPLOY-QUICK.md** - быстрая шпаргалка - -### История изменений: -- **LATEST-FIXES.md** - последние исправления -- **FIXES-SUMMARY.md** - полная сводка всех исправлений - ---- - -## 🔍 Проверка перед коммитом (опционально) - -```bash -# Проверьте версию Node.js -node -v # Должно быть v18.x.x - -# Если нет, установите: -nvm install 18 -nvm use 18 - -# Запустите скрипт проверки сборки -chmod +x check-build.sh -./check-build.sh - -# Должно показать: -# ✅ Node.js версия совместима -# ✅ BUILD OUTPUT: build -``` - ---- - -## ❓ Что дальше? - -После успешного деплоя на Netlify: - -### Базовые настройки: -- [ ] Проверьте что сайт работает -- [ ] Настройте кастомный домен (если нужно) -- [ ] SSL сертификат (Netlify настроит автоматически) - -### Дополнительные возможности: -- [ ] Подключите Yandex.Metrika или Google Analytics -- [ ] Настройте форму обратной связи -- [ ] Добавьте favicon (уже есть в `/public/favicon.svg`) -- [ ] Настройте redirects для старых URL (если нужно) - ---- - -## 🆘 Проблемы с Netlify? - -### Вариант 1: Используйте Cloudflare Pages -``` -1. https://pages.cloudflare.com -2. Build: npm run build -3. Output: build -4. Environment: NODE_VERSION = 18 -``` - -### Вариант 2: GitHub Pages -Создайте файл `.github/workflows/deploy.yml` (см. документацию) - ---- - -## ✅ Быстрая команда для деплоя - -```bash -# Всё в одной команде -git add . && \ -git commit -m "Fix deployment config" && \ -git push && \ -echo "✅ Pushed! Check Netlify for deploy status." -``` - ---- - -**Удачи с деплоем!** 🎉 - -Если возникнут вопросы - см. файл **COMMIT-AND-DEPLOY.md** для детальных инструкций. +Дополнительно: **FILES-OVERVIEW.md** (обзор `src/`), **guidelines/Guidelines.md**, **PROMPT-FOR-RECREATION.md**. diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml deleted file mode 100644 index 685e277..0000000 --- a/.github/workflows/deploy.yml +++ /dev/null @@ -1,53 +0,0 @@ -name: Deploy to GitHub Pages - -on: - push: - branches: [ master, main ] - workflow_dispatch: - -permissions: - contents: read - pages: write - id-token: write - -concurrency: - group: "pages" - cancel-in-progress: false - -jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: '18' - cache: 'npm' - - - name: Install dependencies - run: npm ci - - - name: Build - run: npm run build - - - name: Setup Pages - uses: actions/configure-pages@v4 - - - name: Upload artifact - uses: actions/upload-pages-artifact@v3 - with: - path: './dist' - - deploy: - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-latest - needs: build - steps: - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v4 diff --git a/README.md b/README.md index f028d21..5102d68 100644 --- a/README.md +++ b/README.md @@ -12,13 +12,7 @@ npm run dev - **Build:** `npm run build` → output in `dist/` - **Preview production build:** `npm run preview` -Node.js **18** or **20** LTS is recommended (`engines` in `package.json`). - -## Deploy - -- Shell helpers: `scripts/deploy.sh`, `scripts/check-build.sh` (and `.bat` variants on Windows). -- GitHub Pages: workflow in `.github/workflows/deploy.yml`. -- Extra platform notes: `scripts/docs/`. +Node.js **18** or newer is recommended (`engines` in `package.json`). ## Agent / design notes diff --git a/netlify.toml b/netlify.toml deleted file mode 100644 index 7496bed..0000000 --- a/netlify.toml +++ /dev/null @@ -1,11 +0,0 @@ -[build] - command = "npm run build" - publish = "dist" - -[[redirects]] - from = "/*" - to = "/index.html" - status = 200 - -[build.environment] - NODE_VERSION = "18" \ No newline at end of file diff --git a/public/CNAME b/public/CNAME deleted file mode 100644 index e0e0801..0000000 --- a/public/CNAME +++ /dev/null @@ -1 +0,0 @@ -your-domain.ru \ No newline at end of file diff --git a/public/_headers b/public/_headers deleted file mode 100644 index 0e70287..0000000 --- a/public/_headers +++ /dev/null @@ -1,8 +0,0 @@ -/* - X-Frame-Options: DENY - X-Content-Type-Options: nosniff - Referrer-Policy: strict-origin-when-cross-origin - Cache-Control: public, max-age=31536000, immutable - -/*.html - Cache-Control: public, max-age=0, must-revalidate diff --git a/public/_redirects b/public/_redirects deleted file mode 100644 index 7797f7c..0000000 --- a/public/_redirects +++ /dev/null @@ -1 +0,0 @@ -/* /index.html 200 diff --git a/scripts/check-build.bat b/scripts/check-build.bat deleted file mode 100644 index 63b41f0..0000000 --- a/scripts/check-build.bat +++ /dev/null @@ -1,55 +0,0 @@ -@echo off -chcp 65001 >nul -cd /d "%~dp0.." - -echo 🔍 Проверка сборки SOFTCLICK... -echo. - -REM Проверка версии Node.js -echo 📌 Проверка версии Node.js... -node -v -echo. - -REM Очистка старых артефактов -echo 🧹 Очистка старых сборок... -if exist dist rmdir /s /q dist -if exist build rmdir /s /q build - -REM Установка зависимостей -echo 📦 Установка зависимостей... -call npm install - -REM Сборка -echo 🔨 Сборка проекта... -call npm run build - -REM Проверка результата -echo. -echo ✅ Проверка результатов сборки: -echo. - -if exist dist\ ( - echo 📁 Найдена папка: dist\ - dir dist /s - echo. - echo ✅ BUILD OUTPUT: dist - echo. - echo 📋 Для Netlify используйте: - echo publish = "dist" -) else if exist build\ ( - echo 📁 Найдена папка: build\ - dir build /s - echo. - echo ✅ BUILD OUTPUT: build - echo. - echo 📋 Для Netlify используйте: - echo publish = "build" -) else ( - echo ❌ Папка сборки не найдена! - echo Проверьте логи выше на наличие ошибок - pause - exit /b 1 -) - -echo. -pause \ No newline at end of file diff --git a/scripts/check-build.sh b/scripts/check-build.sh deleted file mode 100644 index 5a31592..0000000 --- a/scripts/check-build.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/bash -cd "$(dirname "$0")/.." - -echo "🔍 Проверка сборки SOFTCLICK..." -echo "" - -# Очистка старых артефактов -echo "🧹 Очистка старых сборок..." -rm -rf dist build - -# Проверка Node.js версии -echo "📌 Проверка версии Node.js..." -node_version=$(node -v) -echo " Текущая версия: $node_version" -if [[ "$node_version" == v18* ]] || [[ "$node_version" == v20* ]]; then - echo " ✅ Node.js версия совместима" -elif [[ "$node_version" == v22* ]]; then - echo " ⚠️ Предупреждение: Node.js v22 может вызвать проблемы" - echo " 💡 Рекомендуется использовать Node.js v18 LTS" - echo " Установите через: nvm install 18 && nvm use 18" -else - echo " ℹ️ Версия: $node_version" -fi -echo "" - -# Установка зависимостей -echo "📦 Установка зависимостей..." -npm install - -# Сборка -echo "🔨 Сборка проекта..." -npm run build - -# Проверка результата -echo "" -echo "✅ Проверка результатов сборки:" -echo "" - -if [ -d "dist" ]; then - echo "📁 Найдена папка: dist/" - echo " Размер: $(du -sh dist | cut -f1)" - echo " Файлов: $(find dist -type f | wc -l)" - echo "" - echo "Содержимое dist/:" - ls -lh dist/ - echo "" - echo "✅ BUILD OUTPUT: dist" -elif [ -d "build" ]; then - echo "📁 Найдена папка: build/" - echo " Размер: $(du -sh build | cut -f1)" - echo " Файлов: $(find build -type f | wc -l)" - echo "" - echo "Содержимое build/:" - ls -lh build/ - echo "" - echo "✅ BUILD OUTPUT: build" -else - echo "❌ Папка сборки не найдена!" - echo " Проверьте логи выше на наличие ошибок" - exit 1 -fi - -echo "" -echo "📋 Для Netlify используйте в netlify.toml:" -if [ -d "dist" ]; then - echo ' publish = "dist"' -elif [ -d "build" ]; then - echo ' publish = "build"' -fi \ No newline at end of file diff --git a/scripts/deploy.bat b/scripts/deploy.bat deleted file mode 100644 index 93cb27c..0000000 --- a/scripts/deploy.bat +++ /dev/null @@ -1,77 +0,0 @@ -@echo off -chcp 65001 >nul -cd /d "%~dp0.." -echo. -echo ==================================== -echo 🚀 ДЕПЛОЙ SOFTCLICK -echo ==================================== -echo. - -echo 📦 Проверка зависимостей... -if not exist "node_modules\" ( - echo Установка зависимостей... - call npm install -) - -echo. -echo 🔨 Сборка проекта... -call npm run build - -if %errorlevel% equ 0 ( - echo. - echo ✅ Сборка успешна! - echo. - echo ==================================== - echo 📂 Файлы готовы в папке: dist\ - echo ==================================== - echo. - echo Выберите действие: - echo 1. Открыть папку dist - echo 2. Создать архив dist.zip - echo 3. Показать инструкции по деплою - echo. - set /p choice="Ваш выбор (1-3): " - - if "%choice%"=="1" ( - explorer dist - ) - - if "%choice%"=="2" ( - echo. - echo 📦 Создание архива... - powershell Compress-Archive -Path dist\* -DestinationPath dist.zip -Force - echo ✅ Архив создан: dist.zip - explorer . - ) - - if "%choice%"=="3" ( - echo. - type scripts\docs\DEPLOYMENT.md - ) - - echo. - echo ==================================== - echo 📖 СПОСОБЫ ДЕПЛОЯ: - echo ==================================== - echo. - echo ⭐ РЕКОМЕНДУЕМЫЕ (бесплатно): - echo 1. Netlify - https://netlify.com - echo 2. Cloudflare Pages - https://pages.cloudflare.com - echo 3. GitHub Pages - автоматически - echo. - echo 🇷🇺 РОССИЙСКИЕ: - echo 1. Яндекс.Облако - см. scripts\docs\deploy-yandex-cloud.md - echo 2. Timeweb/Beget - см. scripts\docs\deploy-traditional-hosting.md - echo. - echo 📄 Полная инструкция: scripts\docs\DEPLOYMENT.md - echo. - -) else ( - echo. - echo ❌ Ошибка при сборке! - echo Проверьте логи выше. - pause - exit /b 1 -) - -pause diff --git a/scripts/deploy.sh b/scripts/deploy.sh deleted file mode 100644 index 172028d..0000000 --- a/scripts/deploy.sh +++ /dev/null @@ -1,63 +0,0 @@ -#!/bin/bash -cd "$(dirname "$0")/.." - -# Скрипт для деплоя SOFTCLICK сайта (запускайте из корня репозитория или как scripts/deploy.sh) - -echo "🚀 Начинаем деплой SOFTCLICK..." - -# Проверка зависимостей -echo "📦 Проверка зависимостей..." -if [ ! -d "node_modules" ]; then - echo "Установка зависимостей..." - npm install -fi - -# Сборка проекта -echo "🔨 Сборка проекта..." -npm run build - -if [ $? -eq 0 ]; then - echo "✅ Сборка успешна!" - echo "" - echo "📂 Файлы для деплоя находятся в папке: ./dist/" - echo "" - echo "Выберите способ деплоя:" - echo "1) Скопировать путь к папке dist (для ручной загрузки)" - echo "2) Открыть папку dist в файловом менеджере" - echo "3) Создать архив dist.zip для загрузки" - echo "" - read -p "Ваш выбор (1-3): " choice - - case $choice in - 1) - echo "📁 Путь к папке dist:" - echo "$(pwd)/dist" - ;; - 2) - # Открыть папку в зависимости от ОС - if [[ "$OSTYPE" == "darwin"* ]]; then - open dist - elif [[ "$OSTYPE" == "linux-gnu"* ]]; then - xdg-open dist - elif [[ "$OSTYPE" == "msys" ]] || [[ "$OSTYPE" == "cygwin" ]]; then - explorer dist - fi - ;; - 3) - echo "📦 Создание архива..." - cd dist && zip -r ../dist.zip . && cd .. - echo "✅ Архив создан: dist.zip" - ;; - esac - - echo "" - echo "📖 Инструкции по деплою:" - echo " - Netlify: см. netlify.toml" - echo " - GitHub Pages: см. .github/workflows/deploy.yml" - echo " - Яндекс.Облако: см. scripts/docs/deploy-yandex-cloud.md" - echo " - Хостинг: см. scripts/docs/deploy-traditional-hosting.md" - -else - echo "❌ Ошибка при сборке!" - exit 1 -fi diff --git a/scripts/docs/COMMIT-AND-DEPLOY.md b/scripts/docs/COMMIT-AND-DEPLOY.md deleted file mode 100644 index 41cda7c..0000000 --- a/scripts/docs/COMMIT-AND-DEPLOY.md +++ /dev/null @@ -1,267 +0,0 @@ -# 🚀 Готово к коммиту и деплою! - -## ✅ Все исправления применены - -### Что было исправлено: - -1. ✅ **Node.js версия зафиксирована на 18 LTS** - - Создан `.nvmrc` - - Добавлен `engines` в `package.json` - - `netlify.toml` уже содержал NODE_VERSION = "18" - -2. ✅ **Vite настроен на сборку в папку `build`** - - Обновлён `vite.config.ts`: `outDir: 'build'` - - `netlify.toml` указывает `publish = "build"` - -3. ✅ **Созданы скрипты проверки** - - `check-build.sh` (Linux/Mac) - - `check-build.bat` (Windows) - -4. ✅ **Создан .gitignore** - - Исключены node_modules, логи, кеш - -5. ✅ **Документация обновлена** - - NODE-VERSION-FIX.md - - NETLIFY-FIX.md - - LATEST-FIXES.md - - README.md - ---- - -## 📋 Шаги для деплоя - -### Шаг 1: Проверка локально (опционально) - -**Убедитесь что используете Node.js 18:** -```bash -# Проверить версию -node -v - -# Если не v18.x.x, установите: -nvm install 18 -nvm use 18 -``` - -**Запустите проверку сборки:** -```bash -# Linux/Mac -chmod +x check-build.sh -./check-build.sh - -# Windows -check-build.bat -``` - -**Ожидаемый результат:** -``` -✅ Node.js версия совместима (v18.x.x) -✅ BUILD OUTPUT: build -📋 Для Netlify используйте: publish = "build" -``` - ---- - -### Шаг 2: Коммит изменений - -```bash -# Проверьте что изменилось -git status - -# Добавьте все файлы -git add . - -# Закоммитьте с понятным сообщением -git commit -m "Fix: Pin Node.js to v18 LTS and configure Vite outDir to 'build'" - -# Альтернативный вариант (более детальный): -git commit -m "Fix deployment configuration - -- Pin Node.js to v18 LTS (.nvmrc + package.json engines) -- Update vite.config.ts outDir from 'dist' to 'build' -- Update check-build scripts with Node version validation -- Add comprehensive deployment documentation" -``` - ---- - -### Шаг 3: Пуш в GitHub - -```bash -# Запушьте в main (или master) ветку -git push origin main - -# Или если используете master: -# git push origin master -``` - ---- - -### Шаг 4: Наблюдайте за деплоем в Netlify - -После пуша: - -1. **Откройте Netlify Dashboard** - - Перейдите на https://app.netlify.com - - Откройте ваш сайт - - Нажмите на **"Deploys"** - -2. **Следите за логами** - - Должен начаться новый деплой (обычно в течение 10-30 секунд) - - Нажмите на последний деплой чтобы открыть логи - -3. **Что искать в логах:** - - **✅ Успешная сборка:** - ``` - v18.x.x is already installed. - Now using node v18.x.x (npm v9.x.x) - ... - npm run build - ... - vite v5.x.x building for production... - ✓ built in X.XXs - build/assets/index-xxxxx.js - - Deploy site - ──────────────────────────────────────── - ✓ Deploy is live! - - Website URL: https://your-site.netlify.app - ``` - - **❌ Если ошибка:** - - Скопируйте полный текст ошибки - - См. раздел "Troubleshooting" ниже - ---- - -## 🎉 После успешного деплоя - -### Проверьте сайт: - -1. **Откройте URL сайта** (из Netlify Dashboard) - -2. **Проверьте основной функционал:** - - [ ] Главная страница загружается - - [ ] Навигация работает (Header меню) - - [ ] Переходы между страницами работают - - [ ] Стили применяются корректно - - [ ] Модальное окно "Обсудить проект" открывается - - [ ] Нет ошибок в консоли браузера (F12) - -3. **Проверьте на мобильных устройствах:** - - [ ] Мобильное меню работает - - [ ] Responsive дизайн корректный - - [ ] Кнопки кликабельны - ---- - -## 🔍 Troubleshooting - -### Проблема 1: "Deploy directory 'build' does not exist" - -**Решение:** -1. Проверьте логи сборки - успешно ли прошёл `npm run build`? -2. Если сборка падает, найдите строку с ошибкой -3. Попробуйте очистить кеш Netlify: - - Site settings → Build & deploy → Clear cache and retry deploy - -### Проблема 2: Всё ещё используется Node.js v22 - -**Решение:** -1. Убедитесь что `.nvmrc` закоммичен: `git log --name-only -1` -2. Проверьте Netlify environment variables: - - Site settings → Environment variables - - Удалите переменную `NODE_VERSION` если она там есть (пусть используется .nvmrc) -3. Очистите кеш и retry deploy - -### Проблема 3: Build успешен, но 404 или белый экран - -**Решение:** -1. Проверьте что `publish` в netlify.toml правильный: `build` -2. В Site settings → Build & deploy → Build settings: - - Publish directory должна быть: `build` -3. Проверьте консоль браузера (F12) на наличие ошибок - -### Проблема 4: Netlify всё ещё не работает - -**Альтернативы:** - -#### Cloudflare Pages (рекомендуется) -``` -1. https://pages.cloudflare.com -2. Connect GitHub repository -3. Build command: npm run build -4. Build output: build -5. Environment: NODE_VERSION = 18 -``` - -#### GitHub Pages (уже настроен) -``` -1. GitHub repo → Settings → Pages -2. Source: GitHub Actions -3. Workflow автоматически задеплоится -``` - ---- - -## 📊 Ожидаемое время деплоя - -- **Netlify:** ~2-3 минуты -- **Cloudflare Pages:** ~2-3 минуты -- **GitHub Pages:** ~3-5 минут - ---- - -## 📖 Дополнительная документация - -Если нужна дополнительная помощь: - -- **NODE-VERSION-FIX.md** - детали о Node.js версии -- **NETLIFY-FIX.md** - решение проблем Netlify -- **LATEST-FIXES.md** - последние изменения -- **DEPLOYMENT.md** - полная инструкция по всем платформам -- **DEPLOY-QUICK.md** - быстрая шпаргалка - ---- - -## 🎯 Команды для копирования - -```bash -# Весь процесс одной командой: -node -v && \ -git add . && \ -git commit -m "Fix: Pin Node.js to v18 LTS and configure build output" && \ -git push origin main && \ -echo "✅ Pushed! Check Netlify Dashboard for deploy status." -``` - ---- - -## ✅ Финальный чеклист - -- [x] Node.js 18 зафиксирован (.nvmrc, package.json) -- [x] vite.config.ts использует outDir: 'build' -- [x] netlify.toml использует publish: 'build' -- [x] Скрипты проверки обновлены -- [x] .gitignore создан -- [x] Документация обновлена -- [ ] **ВАШ ШАГ:** `git add .` -- [ ] **ВАШ ШАГ:** `git commit -m "..."` -- [ ] **ВАШ ШАГ:** `git push` -- [ ] **ПРОВЕРКА:** Netlify Deploy успешен -- [ ] **ПРОВЕРКА:** Сайт работает - ---- - -## 🎊 Поздравляем! - -После успешного деплоя ваш сайт SOFTCLICK будет доступен по URL от Netlify. - -Вы также можете: -- Настроить **кастомный домен** (your-company.ru) -- Настроить **SSL сертификат** (HTTPS) - Netlify делает это автоматически -- Подключить **аналитику** (Yandex.Metrika, Google Analytics) -- Настроить **форму обратной связи** с реальной отправкой - -**Удачи с проектом!** 🚀 diff --git a/scripts/docs/DEPLOY-QUICK.md b/scripts/docs/DEPLOY-QUICK.md deleted file mode 100644 index 66baa62..0000000 --- a/scripts/docs/DEPLOY-QUICK.md +++ /dev/null @@ -1,124 +0,0 @@ -# 🚀 Быстрая шпаргалка по деплою - -## ⚠️ ВАЖНО: Сначала проверьте сборку! - -**Linux/Mac:** -```bash -./check-build.sh -``` - -**Windows:** -```cmd -check-build.bat -``` - -Это покажет, создаётся `dist` или `build`. Используйте правильную папку в настройках! - ---- - -## 1️⃣ Netlify (РЕКОМЕНДУЕТСЯ - 2 минуты) -``` -1. https://netlify.com → Sign up -2. "Add new site" → "Import from Git" -3. Выбрать репозиторий → Deploy -✅ Готово! Автодеплой включен - -📝 netlify.toml уже настроен на папку build - Если нужно изменить - см. NETLIFY-FIX.md -``` - -## 2️⃣ Cloudflare Pages (Очень быстро) -``` -1. https://pages.cloudflare.com → Sign up -2. "Create a project" → Подключить Git -3. Build: npm run build | Output: dist -✅ Готово! -``` - -## 3️⃣ GitHub Pages (100% бесплатно) -``` -1. Запушить код в GitHub -2. Settings → Pages → Source: "GitHub Actions" -✅ Готово! Файл .github/workflows/deploy.yml уже настроен -``` - -## 4️⃣ Яндекс.Облако (Российское) -```bash -# Установка CLI -curl -sSL https://storage.yandexcloud.net/yandexcloud-yc/install.sh | bash - -# Создание бакета -yc storage bucket create --name softclick --public-read - -# Деплой -npm run build -yc storage s3api sync ./dist/ s3://softclick/ - -✅ Готово! ~100₽/месяц -``` - -## 5️⃣ Обычный хостинг (Timeweb, Beget и т.д.) -```bash -# Локально: -npm run build - -# Загрузить через FTP содержимое папки dist/ -# Файл .htaccess уже готов - -✅ Готово! от 120₽/месяц -``` - ---- - -## ⚡ Супер-быстрая команда (для всех платформ) -```bash -npm run build -``` -Загрузите содержимое папки `dist/` куда угодно! - ---- - -## 🎯 Что выбрать? - -- **Нужно быстро и бесплатно?** → Netlify -- **Нужен супер-быстрый CDN?** → Cloudflare Pages -- **100% бесплатно навсегда?** → GitHub Pages -- **Только российское?** → Яндекс.Облако -- **Есть свой хостинг?** → FTP + dist/ - ---- - -## 📱 Автоматические скрипты - -**Linux/Mac:** -```bash -`scripts/deploy.sh` (из корня репозитория) -``` - -**Windows:** -```cmd -deploy.bat -``` - ---- - -## ❓ Проблемы? - -1. Не работает `npm run build`? - ```bash - rm -rf node_modules dist - npm install - npm run build - ``` - -2. Белый экран после деплоя? - - Проверьте что загружены ВСЕ файлы из `dist/` - - Проверьте консоль браузера (F12) - -3. 404 при переходе на страницы? - - Проверьте `.htaccess` (Apache) - - На Netlify/Cloudflare это работает автоматически - ---- - -📖 **Полная инструкция:** `DEPLOYMENT.md` \ No newline at end of file diff --git a/scripts/docs/DEPLOYMENT-CHECKLIST.md b/scripts/docs/DEPLOYMENT-CHECKLIST.md deleted file mode 100644 index a3a95d5..0000000 --- a/scripts/docs/DEPLOYMENT-CHECKLIST.md +++ /dev/null @@ -1,152 +0,0 @@ -# ✅ Чеклист деплоя SOFTCLICK - -## Перед деплоем - -- [ ] Код работает локально (`npm run dev`) -- [ ] Сборка успешна (`npm run build`) -- [ ] Все изменения закоммичены в Git -- [ ] Выбрана платформа для деплоя - -## 📁 Созданные файлы конфигурации - -### Для разных платформ: -- [x] `netlify.toml` - Netlify -- [x] `.github/workflows/deploy.yml` - GitHub Pages -- [x] `.github/workflows/deploy-yandex.yml` - Яндекс.Облако -- [x] `.htaccess` - Apache хостинг -- [x] `_redirects` - Cloudflare Pages -- [x] `_headers` - Cloudflare Pages -- [x] `vercel.json` - Vercel (опционально) - -### Скрипты деплоя: -- [x] `deploy.sh` - Linux/Mac -- [x] `deploy.bat` - Windows - -### Документация: -- [x] `DEPLOYMENT.md` - Полная инструкция -- [x] `DEPLOY-QUICK.md` - Быстрая шпаргалка -- [x] `deploy-yandex-cloud.md` - Яндекс.Облако -- [x] `deploy-traditional-hosting.md` - Традиционный хостинг - ---- - -## 🎯 Выбор платформы - -### Вариант 1: Netlify (РЕКОМЕНДУЕТСЯ) -- [ ] Зарегистрироваться на netlify.com -- [ ] Подключить Git-репозиторий -- [ ] Запустить деплой -- [ ] Проверить результат - -**Время:** ~2 минуты -**Автодеплой:** ✅ Да -**Стоимость:** Бесплатно - -### Вариант 2: Cloudflare Pages -- [ ] Зарегистрироваться на pages.cloudflare.com -- [ ] Подключить Git-репозиторий -- [ ] Build: `npm run build`, Output: `dist` -- [ ] Запустить деплой - -**Время:** ~3 минуты -**Автодеплой:** ✅ Да -**Стоимость:** Бесплатно - -### Вариант 3: GitHub Pages -- [ ] Код в GitHub репозитории -- [ ] Settings → Pages → Source: "GitHub Actions" -- [ ] Готово (workflow уже настроен) - -**Время:** ~1 минута -**Автодеплой:** ✅ Да -**Стоимость:** Бесплатно - -### Вариант 4: Яндекс.Облако -- [ ] Создать аккаунт на cloud.yandex.ru -- [ ] Установить Yandex Cloud CLI -- [ ] Создать бакет Object Storage -- [ ] Настроить публичный доступ -- [ ] Загрузить файлы - -**Время:** ~10 минут -**Автодеплой:** ✅ Да (через GitHub Actions) -**Стоимость:** ~50-200₽/месяц - -### Вариант 5: Традиционный хостинг -- [ ] Купить хостинг (Timeweb/Beget/Reg.ru) -- [ ] Получить FTP доступ -- [ ] Собрать проект: `npm run build` -- [ ] Загрузить содержимое `dist/` через FTP -- [ ] Проверить `.htaccess` - -**Время:** ~15 минут -**Автодеплой:** ❌ Нет (ручная загрузка) -**Стоимость:** от 120₽/месяц - ---- - -## 🔍 После деплоя - -- [ ] Сайт открывается -- [ ] Все страницы загружаются -- [ ] Навигация работает -- [ ] Стили применяются -- [ ] Модальные окна открываются -- [ ] Нет ошибок в консоли (F12) -- [ ] Мобильная версия работает - ---- - -## 🐛 Устранение проблем - -### Белый экран -- [ ] Проверить консоль браузера (F12) -- [ ] Убедиться что все файлы загружены -- [ ] Проверить путь к CSS файлам - -### 404 при переходе на страницы -- [ ] Проверить `.htaccess` (для Apache) -- [ ] Проверить конфигурацию rewrites -- [ ] На Netlify/Cloudflare/GitHub Pages должно работать автоматически - -### Ошибки сборки -```bash -# Очистить и пересобрать -rm -rf node_modules dist -npm install -npm run build -``` - ---- - -## 📊 Сравнение платформ - -| Платформа | Сложность | Время | Автодеплой | Российская | Стоимость | -|-----------|-----------|-------|------------|------------|-----------| -| Netlify | ⭐ Легко | 2 мин | ✅ | ❌ | Бесплатно | -| Cloudflare | ⭐ Легко | 3 мин | ✅ | ❌ | Бесплатно | -| GitHub Pages | ⭐ Легко | 1 мин | ✅ | ❌ | Бесплатно | -| Яндекс.Облако | ⭐⭐ Средне | 10 мин | ✅ | ✅ | ~100₽/мес | -| Традиц. хостинг | ⭐⭐⭐ Сложнее | 15 мин | ❌ | ✅ | от 120₽/мес | - ---- - -## 🎉 Готово! - -После успешного деплоя: -- [ ] Сохранить URL сайта -- [ ] Настроить кастомный домен (если нужно) -- [ ] Настроить SSL (HTTPS) -- [ ] Добавить в поисковики (Google/Яндекс) - ---- - -## 📞 Нужна помощь? - -1. **Проблемы со сборкой** → Проверьте `npm run build` локально -2. **Проблемы с деплоем** → Смотрите логи на платформе -3. **404 ошибки** → Проверьте конфигурацию роутинга -4. **Стили не загружаются** → Проверьте консоль браузера - -📖 Полная документация: `DEPLOYMENT.md` -⚡ Быстрая шпаргалка: `DEPLOY-QUICK.md` diff --git a/scripts/docs/DEPLOYMENT.md b/scripts/docs/DEPLOYMENT.md deleted file mode 100644 index 8ec8549..0000000 --- a/scripts/docs/DEPLOYMENT.md +++ /dev/null @@ -1,164 +0,0 @@ -# 🚀 Инструкции по деплою SOFTCLICK - -Этот документ содержит все способы публикации вашего сайта. - -## 🎯 Быстрый старт - -### Локальная сборка -```bash -# 1. Установите зависимости -npm install - -# 2. Соберите проект -npm run build - -# 3. Папка dist/ (или build/) содержит готовый сайт -``` - -**⚠️ Важно:** Vite может создать папку `dist` или `build` в зависимости от конфигурации. Проверьте, какая папка создаётся после `npm run build`. - ---- - -## 📌 Рекомендуемые платформы - -### ⭐ 1. Netlify (САМЫЙ ПРОСТОЙ) -**✅ Плюсы:** Бесплатно, автоматический деплой, HTTPS, CDN -**⏱ Время настройки:** 2 минуты - -**Инструкция:** -1. Регистрация: https://netlify.com -2. "Add new site" → "Import an existing project" -3. Выберите ваш Git-репозиторий -4. Netlify автоматически найдет `netlify.toml` -5. Нажмите "Deploy" - готово! 🎉 - -**Автоматизация:** При каждом пуше в репозиторий сайт обновляется автоматически. - ---- - -### ⭐ 2. Cloudflare Pages (САМЫЙ БЫСТРЫЙ) -**✅ Плюсы:** Бесплатно, очень быстрый CDN, неограниченный трафик -**⏱ Время настройки:** 3 минуты - -**Инструкция:** -1. Регистрация: https://pages.cloudflare.com -2. "Create a project" → подключите Git -3. Настройки: - - Build command: `npm run build` - - Build output: `dist` -4. Deploy - готово! 🎉 - ---- - -### ⭐ 3. GitHub Pages (100% БЕСПЛАТНО) -**✅ Плюсы:** Полностью бесплатно навсегда -**⏱ Время настройки:** 1 минута - -**Инструкция:** -1. Запушьте код в GitHub -2. Settings → Pages → Source: "GitHub Actions" -3. Готово! Автоматический деплой настроен 🎉 - -**URL:** `https://username.github.io/repository-name` - ---- - -## 🇷🇺 Российские платформы - -### 4. Яндекс.Облако (ИМПОРТОЗАМЕЩЕНИЕ) -**✅ Плюсы:** Российская платформа, Object Storage + CDN -**💰 Стоимость:** ~50-200 ₽/месяц -**⏱ Время настройки:** 10 минут - -**Подробная инструкция:** См. файл `deploy-yandex-cloud.md` - -**Быстрая настройка:** -```bash -# 1. Установите Yandex Cloud CLI -curl -sSL https://storage.yandexcloud.net/yandexcloud-yc/install.sh | bash - -# 2. Создайте бакет -yc storage bucket create --name softclick-website --public-read - -# 3. Соберите и загрузите -npm run build -yc storage s3api sync ./dist/ s3://softclick-website/ -``` - ---- - -### 5. Традиционный хостинг -**Подходит для:** Timeweb, Beget, Reg.ru, HostiMan -**💰 Стоимость:** от 120 ₽/месяц - -**Подробная инструкция:** См. файл `deploy-traditional-hosting.md` - -**Краткая версия:** -1. Соберите проект: `npm run build` -2. Загрузите содержимое папки `dist/` на хостинг через FTP -3. Файл `.htaccess` уже готов и настроен -4. Готово! 🎉 - ---- - -## 🛠 Автоматизация - -### Автоматический деплой при пуше в Git - -**GitHub Actions готовы для:** -- ✅ GitHub Pages → `.github/workflows/deploy.yml` -- ✅ Яндекс.Облако → `.github/workflows/deploy-yandex.yml` - -**Настройка GitHub Actions для Яндекс.Облако:** -1. Создайте сервисный аккаунт в Yandex Cloud -2. Добавьте секреты в GitHub: - - `YC_SERVICE_ACCOUNT_KEY_JSON` - ключ сервисного аккаунта - - `YC_BUCKET_NAME` - название бакета -3. При пуше в main автоматически загрузится на Яндекс.Облако - ---- - -## 📋 Сравнительная таблица - -| Платформа | Цена | Скорость настройки | Автодеплой | Российская | -|-----------|------|-------------------|------------|------------| -| Netlify | Бесплатно | ⚡⚡⚡ 2 мин | ✅ | ❌ | -| Cloudflare Pages | Бесплатно | ⚡⚡⚡ 3 мин | ✅ | ❌ | -| GitHub Pages | Бесплатно | ⚡⚡⚡ 1 мин | ✅ | ❌ | -| Яндекс.Облако | ~100₽/мес | ⚡⚡ 10 мин | ✅ | ✅ | -| Timeweb/Beget | от 120₽/мес | ⚡ 15 мин | ❌ | ✅ | - ---- - -## 🎯 Рекомендации - -**Для быстрого запуска:** Netlify или Cloudflare Pages -**Для 100% бесплатно:** GitHub Pages -**Для импортозамещения:** Яндекс.Облако -**Для полного контроля:** Свой VPS + Nginx - ---- - -## 🆘 Помощь - -**Не работает сборка?** -```bash -# Очистите кеш и пересоберите -rm -rf node_modules dist -npm install -npm run build -``` - -**Проблемы с роутингом?** -- Проверьте наличие `.htaccess` (Apache) или настройки Nginx -- На платформах типа Netlify/Cloudflare это работает автоматически - -**Белый экран после деплоя?** -- Проверьте консоль браузера (F12) -- Убедитесь что загружены все файлы из `dist/` - ---- - -## 📞 Контакты - -При возникновении проблем с деплоем - проверьте логи сборки на выбранной платформе. \ No newline at end of file diff --git a/scripts/docs/FIXES-SUMMARY.md b/scripts/docs/FIXES-SUMMARY.md deleted file mode 100644 index dfff5d4..0000000 --- a/scripts/docs/FIXES-SUMMARY.md +++ /dev/null @@ -1,226 +0,0 @@ -# 📋 Сводка исправлений для деплоя - -## 🔧 Последнее обновление: Node.js версия (24.12.2024) - -### ❌ Новая проблема -Netlify использовал Node.js v22.21.1, вызывая проблемы совместимости. - -### ✅ Решение -1. Зафиксирована **Node.js 18 LTS** через: - - `.nvmrc` (создан) - - `package.json` engines (добавлен) - - `netlify.toml` (уже был) - -2. Обновлён `vite.config.ts`: - - `outDir: 'build'` вместо `'dist'` - -3. Обновлены скрипты проверки: - - Проверка версии Node.js - - Предупреждение о Node.js v22 - -**Документация:** См. `NODE-VERSION-FIX.md` и `LATEST-FIXES.md` - ---- - -## 🔧 Предыдущие исправления - -### 1. Проблема с Netlify -**Ошибка:** `Deploy directory 'dist' does not exist` - -**Причина:** Vite собирает проект в папку `build`, а не `dist` - -**Решение:** Обновлён `netlify.toml`: -```toml -[build] - command = "npm run build" - publish = "build" # Изменено с "dist" на "build" -``` - ---- - -### 2. Добавлены скрипты проверки сборки - -**check-build.sh** (Linux/Mac) и **check-build.bat** (Windows) - -Эти скрипты: -- Очищают старые сборки -- Устанавливают зависимости -- Собирают проект -- Показывают, какая папка создана (dist или build) -- Подсказывают правильные настройки для Netlify - -**Использование:** -```bash -# Linux/Mac -chmod +x check-build.sh -./check-build.sh - -# Windows -check-build.bat -``` - ---- - -### 3. Создан .gitignore - -Файл `.gitignore` для исключения: -- node_modules -- .env файлов -- логов -- кеша -- системных файлов - ---- - -### 4. Обновлена документация - -#### NETLIFY-FIX.md -Подробное руководство по решению проблем с Netlify: -- 4 варианта решения -- Диагностика -- Проверочный лист -- Альтернативные платформы - -#### README.md -Добавлен раздел с проверкой сборки перед деплоем - -#### DEPLOYMENT.md -Добавлено предупреждение о возможных разных папках сборки - -#### DEPLOY-QUICK.md -Добавлена информация о проверке сборки - ---- - -## 📁 Новые файлы - -``` -/.gitignore - Исключения для Git -/check-build.sh - Скрипт проверки (Linux/Mac) -/check-build.bat - Скрипт проверки (Windows) -/NETLIFY-FIX.md - Решение проблем Netlify -/FIXES-SUMMARY.md - Этот файл -/.nvmrc - Фиксация Node.js версии -/NODE-VERSION-FIX.md - Решение проблем с Node.js версией -/LATEST-FIXES.md - Последние исправления -``` - -## ✅ Файлы обновлены - -``` -/netlify.toml - publish: "build" вместо "dist" -/README.md - Добавлена секция проверки -/DEPLOYMENT.md - Добавлено предупреждение -/DEPLOY-QUICK.md - Добавлена информация о проверке -/vite.config.ts - outDir: 'build' вместо 'dist' -/package.json - Добавлены engines -``` - ---- - -## 🚀 Что делать дальше - -### Шаг 1: Закоммитьте изменения -```bash -git add . -git commit -m "Fix: Update deployment configs for build directory" -git push -``` - -### Шаг 2: Деплой на Netlify -После пуша Netlify автоматически: -1. Обнаружит новый коммит -2. Запустит сборку `npm run build` -3. Найдёт папку `build` (согласно netlify.toml) -4. Задеплоит сайт - -### Шаг 3: Проверка -После деплоя проверьте: -- [ ] Сайт открывается -- [ ] Навигация работает -- [ ] Стили применяются -- [ ] Нет ошибок в консоли - ---- - -## 🆘 Если Netlify всё ещё не работает - -### Вариант 1: Проверьте настройки Netlify UI -1. Site settings → Build & deploy → Build settings -2. Publish directory должна быть: `build` -3. Если нет - измените вручную - -### Вариант 2: Используйте Cloudflare Pages -Cloudflare лучше определяет настройки автоматически: -``` -1. https://pages.cloudflare.com -2. Build: npm run build -3. Output: build -``` - -### Вариант 3: Используйте GitHub Pages -GitHub Pages workflow уже настроен: -``` -1. Settings → Pages → Source: "GitHub Actions" -2. Готово! -``` - ---- - -## 📊 Текущая конфигурация - -### Сборка -- Команда: `npm run build` -- Output: `build/` (судя по логам Netlify) -- Конфигурация: `vite.config.ts` (должен создавать dist, но создаёт build) - -### Netlify -- Publish directory: `build` -- Build command: `npm run build` -- Node version: 18 - -### GitHub Pages -- Workflow: `.github/workflows/deploy.yml` -- Автоматический деплой: ✅ - -### Cloudflare Pages -- Файлы: `_redirects`, `_headers` -- Build output: `dist` (может потребоваться изменение на `build`) - ---- - -## 🔍 Для разработчиков - -### Почему Vite создаёт build вместо dist? - -Судя по логам Netlify: -``` -build/assets/index-Bi1CT-Fn.js 244.81 kB │ gzip: 69.31 kB -✓ built in 1.93s -``` - -Vite явно создаёт папку `build`, хотя в `vite.config.ts` указано `outDir: 'dist'`. - -**Возможные причины:** -1. Конфигурация переопределяется где-то ещё -2. Netlify использует собственную конфигурацию Vite -3. Есть конфликт версий - -**Решение:** -- Приняли `build` как output directory -- Обновили все конфигурации соответственно - ---- - -## ✅ Итог - -Все конфигурационные файлы обновлены и готовы к деплою! - -**Следующий шаг:** -```bash -git add . -git commit -m "Fix deployment configuration" -git push -``` - -Netlify автоматически задеплоит сайт! 🎉 \ No newline at end of file diff --git a/scripts/docs/LATEST-FIXES.md b/scripts/docs/LATEST-FIXES.md deleted file mode 100644 index 30726e2..0000000 --- a/scripts/docs/LATEST-FIXES.md +++ /dev/null @@ -1,230 +0,0 @@ -# 🔧 Последние исправления (Node.js версия) - -## Дата: 24 декабря 2024 - -## ❌ Проблема -Netlify использовал Node.js v22.21.1, что вызывало проблемы совместимости с: -- Vite 5.x -- Tailwind CSS v4 -- PostCSS -- TypeScript build tools - -## ✅ Решение - -### 1. Зафиксирована версия Node.js на 18 LTS - -**Создан `.nvmrc`:** -``` -18 -``` - -**Обновлён `package.json`:** -```json -{ - "engines": { - "node": ">=18.0.0 <22.0.0", - "npm": ">=9.0.0" - } -} -``` - -**Уже был в `netlify.toml`:** -```toml -[build.environment] - NODE_VERSION = "18" -``` - -### 2. Исправлен output директорий в vite.config.ts - -**Было:** -```typescript -build: { - outDir: 'dist', -} -``` - -**Стало:** -```typescript -build: { - outDir: 'build', -} -``` - -Теперь Vite создаёт папку `build`, что соответствует настройкам в `netlify.toml`. - -### 3. Обновлены скрипты проверки - -`check-build.sh` и `check-build.bat` теперь: -- Проверяют версию Node.js -- Предупреждают если используется Node.js v22 -- Показывают размер и содержимое build/ - ---- - -## 📁 Изменённые файлы - -``` -/.nvmrc - СОЗДАН (новый) -/package.json - ОБНОВЛЁН (добавлен engines) -/vite.config.ts - ОБНОВЛЁН (outDir: 'build') -/check-build.sh - ОБНОВЛЁН (проверка Node версии) -/check-build.bat - ОБНОВЛЁН (проверка Node версии) -/NODE-VERSION-FIX.md - СОЗДАН (документация) -/LATEST-FIXES.md - СОЗДАН (этот файл) -/README.md - ОБНОВЛЁН (требования Node.js) -``` - ---- - -## 🚀 Что делать дальше - -### 1. Закоммитьте все изменения -```bash -git status -git add . -git commit -m "Fix: Pin Node.js to v18 LTS and set Vite outDir to 'build'" -git push origin main -``` - -### 2. Netlify автоматически начнёт деплой - -После пуша Netlify: -1. Прочитает `.nvmrc` → использует Node.js 18 -2. Установит зависимости с `npm install` -3. Запустит `npm run build` → Vite создаст папку `build` -4. Опубликует содержимое `build/` (согласно `netlify.toml`) - -### 3. Проверка деплоя - -Откройте **Netlify Deploy Logs** и убедитесь что: - -``` -✅ v18.x.x is already installed. -✅ Now using node v18.x.x -✅ npm run build -✅ vite v5.x.x building for production... -✅ build/assets/index-xxxxx.js -✅ ✓ built in X.XXs -✅ Deploy successful! -``` - ---- - -## 🔍 Проверка локально (перед коммитом) - -Убедитесь что у вас Node.js 18: - -```bash -# Проверить версию Node -node -v - -# Если не 18, установите через nvm -nvm install 18 -nvm use 18 - -# Запустите скрипт проверки -chmod +x check-build.sh -./check-build.sh - -# Должно показать: -# ✅ Node.js версия совместима (v18.x.x) -# ✅ BUILD OUTPUT: build -``` - ---- - -## 📊 Сравнение версий Node.js - -| Версия | Статус | Совместимость | Рекомендация | -|--------|--------|---------------|--------------| -| Node.js 16 | EOL | ⚠️ Устарела | Обновите на 18 | -| Node.js 18 | LTS ✅ | ✅ Отлично | **Используйте** | -| Node.js 20 | LTS | ✅ Хорошо | Допустимо | -| Node.js 22 | Current | ⚠️ Проблемы | Не рекомендуется | - -**LTS** = Long Term Support (долгосрочная поддержка) - ---- - -## 🆘 Если деплой всё ещё не работает - -### Вариант 1: Очистите кеш Netlify - -1. Netlify UI → **Site settings** → **Build & deploy** -2. Нажмите **"Clear cache and retry deploy"** - -### Вариант 2: Проверьте переменные окружения - -В Netlify UI: -1. **Site settings** → **Environment variables** -2. Убедитесь что `NODE_VERSION` **НЕ** установлена вручную (или равна 18) -3. Если есть другое значение - удалите его (`.nvmrc` имеет приоритет) - -### Вариант 3: Используйте Cloudflare Pages - -Cloudflare Pages лучше работает с новыми версиями инструментов: - -``` -1. https://pages.cloudflare.com -2. Подключить GitHub репозиторий -3. Build command: npm run build -4. Build output: build -5. Environment variable: NODE_VERSION = 18 -``` - -### Вариант 4: Используйте GitHub Pages - -Уже настроено автоматически: - -``` -1. GitHub repo → Settings → Pages -2. Source: "GitHub Actions" -3. Workflow автоматически использует Node 18 -``` - ---- - -## ✅ Контрольный список - -- [x] Создан `.nvmrc` с версией 18 -- [x] Добавлен `engines` в `package.json` -- [x] `vite.config.ts` обновлён (outDir: 'build') -- [x] Скрипты проверки обновлены -- [x] Документация обновлена -- [ ] **ВАШ ШАГ:** Закоммитьте изменения -- [ ] **ВАШ ШАГ:** Запушьте в GitHub -- [ ] **АВТОМАТИЧЕСКИ:** Netlify запустит деплой -- [ ] **ПРОВЕРЬТЕ:** Сайт задеплоен успешно - ---- - -## 📖 Дополнительная документация - -- **NODE-VERSION-FIX.md** - подробная информация о Node.js версиях -- **NETLIFY-FIX.md** - решение проблем с Netlify -- **DEPLOYMENT.md** - полная инструкция по деплою -- **DEPLOY-QUICK.md** - быстрая шпаргалка - ---- - -## ✨ Ожидаемый результат - -После коммита и пуша: - -``` -✓ Код запушен в GitHub - ↓ -✓ Netlify обнаружил изменения - ↓ -✓ Запущен build с Node.js 18 - ↓ -✓ Vite создал папку build/ - ↓ -✓ Netlify опубликовал build/ - ↓ -✓ Сайт доступен: https://your-site.netlify.app -``` - -**Время деплоя:** ~2-3 минуты - -Удачи! 🚀 diff --git a/scripts/docs/NETLIFY-FIX.md b/scripts/docs/NETLIFY-FIX.md deleted file mode 100644 index 57df007..0000000 --- a/scripts/docs/NETLIFY-FIX.md +++ /dev/null @@ -1,195 +0,0 @@ -# 🔧 Решение проблемы с Netlify Deploy - -## Проблема -``` -Deploy did not succeed: Deploy directory 'dist' does not exist -``` - -## Причина -Vite создаёт папку `build` вместо `dist`, или конфигурация не применяется правильно. - ---- - -## ✅ Решение 1: Обновлён netlify.toml (УЖЕ СДЕЛАНО) - -Файл `netlify.toml` обновлён для использования папки `build`: - -```toml -[build] - command = "npm run build" - publish = "build" - -[[redirects]] - from = "/*" - to = "/index.html" - status = 200 -``` - -**Просто сделайте новый коммит и пуш - должно заработать!** - ---- - -## ✅ Решение 2: Проверка локально - -Запустите скрипт проверки: - -**Linux/Mac:** -```bash -chmod +x check-build.sh -./check-build.sh -``` - -**Windows:** -```cmd -check-build.bat -``` - -Скрипт покажет, в какую папку собирается проект (dist или build). - ---- - -## ✅ Решение 3: Настройка через Netlify UI - -Если проблема сохраняется: - -1. Зайдите в **Site settings** → **Build & deploy** → **Build settings** -2. Измените **Publish directory** на: - - `build` (если Vite собирает в build) - - `dist` (если Vite собирает в dist) -3. Сохраните и запустите новый деплой - ---- - -## ✅ Решение 4: Принудительная сборка в dist - -Если хотите использовать именно `dist`, убедитесь что `vite.config.ts` правильный: - -```typescript -import { defineConfig } from 'vite'; -import react from '@vitejs/plugin-react'; - -export default defineConfig({ - plugins: [react()], - build: { - outDir: 'dist', // Явно указываем dist - emptyOutDir: true, - }, -}); -``` - -Затем в `netlify.toml`: -```toml -[build] - command = "npm run build" - publish = "dist" -``` - ---- - -## 🔍 Диагностика - -### Проверка логов Netlify - -В логах деплоя ищите строки типа: -``` -build/assets/index-xxxxx.js -``` -или -``` -dist/assets/index-xxxxx.js -``` - -Это покажет, в какую папку собирается проект. - -### Локальная проверка - -```bash -# Очистка -rm -rf dist build node_modules - -# Установка -npm install - -# Сборка -npm run build - -# Проверка результата -ls -la -# Должна появиться папка dist или build -``` - ---- - -## 📝 Текущая конфигурация - -**netlify.toml** настроен на: `publish = "build"` - -Это основано на логах деплоя, где видно: -``` -build/assets/index-Bi1CT-Fn.js 244.81 kB │ gzip: 69.31 kB -✓ built in 1.93s -``` - ---- - -## 🚀 Быстрое решение - -1. **Закоммитьте изменения:** -```bash -git add netlify.toml -git commit -m "Fix: Update Netlify publish directory to build" -git push -``` - -2. **Netlify автоматически запустит новый деплой** - -3. **Готово!** Сайт должен задеплоиться успешно - ---- - -## 🆘 Если всё ещё не работает - -### Вариант A: Смените платформу на Cloudflare Pages - -Cloudflare Pages лучше определяет конфигурацию автоматически: - -1. https://pages.cloudflare.com -2. Build command: `npm run build` -3. Build output: попробуйте оба варианта - `dist` или `build` - -### Вариант B: Используйте GitHub Pages - -GitHub Pages workflow уже настроен в `.github/workflows/deploy.yml`: - -1. Settings → Pages → Source: "GitHub Actions" -2. Готово! Деплой автоматический - ---- - -## 📊 Проверочный лист - -- [ ] netlify.toml обновлён (publish = "build") -- [ ] Закоммичены все изменения -- [ ] Запушен код в репозиторий -- [ ] Netlify автоматически запустил новый деплой -- [ ] Проверены логи деплоя -- [ ] Сайт открывается успешно - ---- - -## ✅ Ожидаемый результат - -После исправления в логах Netlify должно быть: - -``` -✓ built in 1.93s - -Deploy site -──────────────────────────────────────────────────────────────── - - Deploy successful! - - Website URL: https://your-site.netlify.app -``` - -Удачи! 🚀 diff --git a/scripts/docs/NODE-VERSION-FIX.md b/scripts/docs/NODE-VERSION-FIX.md deleted file mode 100644 index a4d25fb..0000000 --- a/scripts/docs/NODE-VERSION-FIX.md +++ /dev/null @@ -1,208 +0,0 @@ -# 🔧 Исправление проблем с версией Node.js - -## Проблема -Netlify использует Node.js v22, которая может быть несовместима с некоторыми пакетами (Vite, Tailwind CSS v4, и др.). - -## ✅ Решение (УЖЕ ПРИМЕНЕНО) - -Версия Node.js зафиксирована на **18 LTS** следующими способами: - -### 1. Файл .nvmrc -``` -18 -``` - -### 2. package.json -```json -{ - "engines": { - "node": ">=18.0.0 <22.0.0", - "npm": ">=9.0.0" - } -} -``` - -### 3. netlify.toml -```toml -[build.environment] - NODE_VERSION = "18" -``` - -### 4. vite.config.ts -Обновлён `outDir` на `build`: -```typescript -export default defineConfig({ - build: { - outDir: 'build', // Изменено с 'dist' на 'build' - emptyOutDir: true, - sourcemap: false, - }, -}); -``` - ---- - -## 🚀 Что делать дальше - -### Шаг 1: Закоммитьте изменения -```bash -git add . -git commit -m "Fix: Pin Node.js to v18 LTS and update build output to 'build'" -git push -``` - -### Шаг 2: Netlify автоматически запустит деплой -После пуша Netlify: -- Использует Node.js v18 (из .nvmrc) -- Соберёт проект командой `npm run build` -- Найдёт папку `build` (из vite.config.ts и netlify.toml) -- Задеплоит сайт - ---- - -## 🔍 Проверка локально - -Убедитесь что у вас локально Node.js 18: - -```bash -# Проверить версию -node -v - -# Если используете nvm (рекомендуется) -nvm install 18 -nvm use 18 - -# Проверить сборку -./check-build.sh # Linux/Mac -check-build.bat # Windows -``` - ---- - -## 📊 Почему Node.js 22 вызывает проблемы? - -Node.js 22 - это очень новая версия (выпущена в апреле 2024), и многие популярные инструменты ещё не полностью протестированы с ней: - -- **Vite 5.x** - стабильно работает на Node 18-20 -- **Tailwind CSS v4** - новая версия, оптимизирована для Node 18+ -- **PostCSS** - лучшая совместимость на Node 18 LTS -- **TypeScript** - рекомендует Node 18 LTS - -**Node.js 18 LTS** (Long Term Support): -- Поддержка до апреля 2025 -- Максимальная стабильность -- Совместимость со всеми популярными инструментами - ---- - -## 🆘 Если проблема сохраняется - -### 1. Проверьте полные логи Netlify - -В Netlify UI зайдите в: -- **Deploys** → Выберите последний деплой -- Нажмите на **Deploy log** -- Найдите строки после "Finished restoring cached build plugins" - -### 2. Очистите кеш Netlify - -В настройках Netlify: -1. **Site settings** → **Build & deploy** → **Build settings** -2. Нажмите **Clear cache and retry deploy** - -### 3. Проверьте локальную сборку - -```bash -# Очистите всё -rm -rf node_modules dist build package-lock.json - -# Переустановите зависимости -npm install - -# Соберите -npm run build - -# Проверьте результат -ls -la build/ -``` - -Если локально собирается без ошибок, но на Netlify нет - проблема в среде Netlify. - -### 4. Альтернативные платформы - -Если Netlify продолжает давать ошибки, используйте: - -#### Cloudflare Pages (рекомендуется) -``` -1. https://pages.cloudflare.com -2. Build: npm run build -3. Output: build -4. Node version: 18 -``` - -#### GitHub Pages -``` -Settings → Pages → Source: "GitHub Actions" -(Workflow уже настроен в .github/workflows/deploy.yml) -``` - ---- - -## 📋 Проверочный лист - -- [x] Создан `.nvmrc` с версией 18 -- [x] Добавлен `engines` в `package.json` -- [x] `netlify.toml` указывает `NODE_VERSION = "18"` -- [x] `vite.config.ts` использует `outDir: 'build'` -- [x] `netlify.toml` указывает `publish = "build"` -- [ ] Закоммичены все изменения -- [ ] Запушен код в GitHub -- [ ] Netlify запустил новый деплой -- [ ] Деплой успешен - ---- - -## ✅ Ожидаемый результат - -После исправлений в логах Netlify должно быть: - -``` -v18.x.x is already installed. -Now using node v18.x.x (npm v9.x.x) -... -npm run build -... -vite v5.x.x building for production... -transforming... -✓ 1234 modules transformed. -rendering chunks... -build/assets/index-xxxxx.js 244.81 kB │ gzip: 69.31 kB -✓ built in 1.93s - -Deploy site -──────────────────────────────────────── - -✓ Finished hashing 15 files -✓ CDN requesting 15 files -✓ Finished uploading 15 assets -✓ Deploy is live! - -Website URL: https://your-site.netlify.app -``` - ---- - -## 📞 Дополнительная помощь - -Если после всех исправлений деплой всё ещё падает: - -1. **Скопируйте полный лог** от "Build ready to start" до конца -2. Найдите строку с ошибкой (обычно красным цветом) -3. Поищите эту ошибку в интернете или создайте issue - -**Полезные ссылки:** -- Netlify Node.js docs: https://docs.netlify.com/configure-builds/manage-dependencies/#node-js-and-javascript -- Vite troubleshooting: https://vitejs.dev/guide/troubleshooting.html -- Node.js LTS releases: https://nodejs.org/en/about/previous-releases - -Удачи! 🚀 diff --git a/scripts/docs/PLATFORMS.md b/scripts/docs/PLATFORMS.md deleted file mode 100644 index bd01ff1..0000000 --- a/scripts/docs/PLATFORMS.md +++ /dev/null @@ -1,294 +0,0 @@ -# 🌐 Подробное сравнение платформ для деплоя - -## 🏆 ТОП-3 рекомендации - -### 🥇 Netlify - Лучший для начинающих - -**✅ Преимущества:** -- Автоматическое определение фреймворка -- Встроенный CI/CD -- Бесплатный SSL сертификат -- Автоматические превью для pull requests -- 100 GB трафика/месяц бесплатно -- Настройка кастомного домена за 1 клик - -**❌ Недостатки:** -- Не российская компания -- Лимиты на сборки (300 минут/месяц на бесплатном) - -**🎯 Идеально для:** -- Быстрого запуска -- Прототипов и MVP -- Автоматического деплоя - -**📊 Стоимость:** -- Free: $0/месяц (достаточно для большинства) -- Pro: $19/месяц (1000 минут сборки, 400 GB трафика) - ---- - -### 🥈 Cloudflare Pages - Самый быстрый - -**✅ Преимущества:** -- Глобальная CDN сеть -- НЕОГРАНИЧЕННЫЙ трафик на бесплатном плане -- Очень высокая скорость загрузки -- Защита от DDoS атак -- 500 сборок/месяц - -**❌ Недостатки:** -- Не российская компания -- Чуть сложнее в настройке чем Netlify - -**🎯 Идеально для:** -- Высоконагруженных сайтов -- Глобальной аудитории -- Максимальной скорости - -**📊 Стоимость:** -- Free: $0/месяц (неограниченный трафик!) -- Платных планов для статических сайтов нет - ---- - -### 🥉 GitHub Pages - Простейший - -**✅ Преимущества:** -- 100% бесплатно навсегда -- Интеграция с GitHub -- Автоматический HTTPS -- Легкая настройка кастомного домена -- Нет лимитов на сборки - -**❌ Недостатки:** -- Лимит 100 GB трафика/месяц -- Только публичные репозитории (на бесплатном) -- Нет серверных функций - -**🎯 Идеально для:** -- Личных проектов -- Open source проектов -- Документации -- Портфолио - -**📊 Стоимость:** -- Free: $0/месяц - ---- - -## 🇷🇺 Российские платформы - -### Яндекс.Облако Object Storage + CDN - -**✅ Преимущества:** -- Российская компания -- Соответствие 152-ФЗ -- Интеграция с другими сервисами Яндекса -- Высокая скорость в РФ -- Можно оплатить картой российского банка - -**❌ Недостатки:** -- Платно (хоть и недорого) -- Требует больше настройки -- Нужно самому настраивать CI/CD - -**🎯 Идеально для:** -- Коммерческих проектов в РФ -- Компаний, требующих импортозамещения -- Работы с персональными данными - -**📊 Стоимость:** -- Object Storage: ~0.40 ₽/ГБ хранения/месяц -- CDN трафик: ~0.85 ₽/ГБ -- Пример: Сайт 50 МБ + 1000 посещений = ~50-100₽/месяц - -**🔧 Настройка:** -- Сложность: Средняя -- Время: 10-15 минут -- Требуется: Yandex Cloud CLI - ---- - -### VK Cloud Solutions (Mail.ru Cloud) - -**✅ Преимущества:** -- Российская компания (VK) -- Object Storage аналогично AWS S3 -- CDN с точками в РФ -- 152-ФЗ - -**❌ Недостатки:** -- Платно -- Меньше документации чем у Яндекса - -**📊 Стоимость:** -- Примерно как Яндекс.Облако -- Есть промо-период с бесплатными ресурсами - ---- - -### Традиционный хостинг (Timeweb, Beget, Reg.ru) - -**✅ Преимущества:** -- Понятный интерфейс -- Техподдержка на русском -- Всё в одном месте (домен + хостинг + почта) -- Можно использовать для других проектов - -**❌ Недостатки:** -- Платно -- Ручное обновление файлов -- Нет автоматического деплоя (без настройки) - -**📊 Стоимость:** -- Timeweb: от 169₽/месяц -- Beget: от 200₽/месяц -- Reg.ru: от 120₽/месяц -- HostiMan: от 150₽/месяц - -**🔧 Настройка:** -- Сложность: Легкая (FTP загрузка) -- Время: 5-10 минут -- Требуется: FTP клиент (FileZilla) - ---- - -## 📊 Детальное сравнение - -| Характеристика | Netlify | Cloudflare | GitHub Pages | Яндекс.Облако | Хостинг | -|----------------|---------|------------|--------------|---------------|---------| -| **Цена** | Бесплатно | Бесплатно | Бесплатно | ~100₽/мес | от 120₽/мес | -| **Трафик** | 100GB | ∞ | 100GB | Pay-as-you-go | ~100GB+ | -| **SSL** | ✅ Авто | ✅ Авто | ✅ Авто | ✅ (настройка) | ✅ Let's Encrypt | -| **CDN** | ✅ | ✅✅✅ | ✅ | ✅ (доп. оплата) | ❌/✅ | -| **Автодеплой** | ✅ | ✅ | ✅ | ✅ (настройка) | ❌ | -| **Скорость в РФ** | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | -| **Скорость мира** | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ | -| **Поддержка** | Отличная (EN) | Хорошая (EN) | FAQ | Хорошая (RU) | Отличная (RU) | -| **152-ФЗ** | ❌ | ❌ | ❌ | ✅ | ✅ | -| **Сложность** | ⭐ Легко | ⭐ Легко | ⭐ Легко | ⭐⭐ Средне | ⭐⭐ Средне | - ---- - -## 🎯 Рекомендации по выбору - -### Выбирайте Netlify если: -- ✅ Нужен быстрый запуск (2 минуты) -- ✅ Хотите автоматический деплой -- ✅ Не важна российская юрисдикция -- ✅ Трафик до 100 GB/месяц - -### Выбирайте Cloudflare Pages если: -- ✅ Нужна максимальная скорость -- ✅ Ожидается много трафика -- ✅ Важна защита от DDoS -- ✅ Глобальная аудитория - -### Выбирайте GitHub Pages если: -- ✅ Проект на GitHub -- ✅ Open source -- ✅ Нужно 100% бесплатно -- ✅ Простой статический сайт - -### Выбирайте Яндекс.Облако если: -- ✅ Коммерческий проект -- ✅ Нужна российская платформа -- ✅ Требуется 152-ФЗ -- ✅ Работа с ПД граждан РФ -- ✅ Импортозамещение - -### Выбирайте хостинг если: -- ✅ Уже есть хостинг -- ✅ Нужна техподдержка на русском -- ✅ Планируется несколько сайтов -- ✅ Нужна почта на своем домене - ---- - -## 🚀 Скорость настройки - -**Netlify:** 2 минуты -``` -1. Регистрация (30 сек) -2. Подключить Git (30 сек) -3. Деплой (1 мин) -``` - -**Cloudflare Pages:** 3 минуты -``` -1. Регистрация (30 сек) -2. Подключить Git (1 мин) -3. Настройка сборки (1 мин) -4. Деплой (30 сек) -``` - -**GitHub Pages:** 1 минута -``` -1. Код уже на GitHub (0 сек) -2. Settings → Pages (30 сек) -3. Выбрать GitHub Actions (30 сек) -``` - -**Яндекс.Облако:** 15 минут -``` -1. Регистрация (2 мин) -2. Установка CLI (3 мин) -3. Создание бакета (2 мин) -4. Настройка доступа (3 мин) -5. Первый деплой (5 мин) -``` - -**Традиционный хостинг:** 20 минут -``` -1. Покупка хостинга (5 мин) -2. Получение доступов (5 мин) -3. Локальная сборка (2 мин) -4. Загрузка по FTP (5 мин) -5. Проверка (3 мин) -``` - ---- - -## 💡 Профессиональные советы - -### Для стартапов и MVP: -**Netlify** - начните бесплатно, масштабируйтесь по мере роста - -### Для высоконагруженных проектов: -**Cloudflare Pages** - неограниченный трафик и максимальная скорость - -### Для российского бизнеса: -**Яндекс.Облако** - соответствие законодательству РФ - -### Для личных проектов: -**GitHub Pages** - просто и бесплатно навсегда - -### Для корпоративных клиентов: -**Традиционный хостинг** - полный контроль и поддержка - ---- - -## 🔐 Безопасность и соответствие - -| Платформа | HTTPS | 152-ФЗ | GDPR | DDoS защита | -|-----------|-------|--------|------|-------------| -| Netlify | ✅ Авто | ❌ | ✅ | ✅ | -| Cloudflare | ✅ Авто | ❌ | ✅ | ✅✅✅ | -| GitHub Pages | ✅ Авто | ❌ | ✅ | ✅ | -| Яндекс.Облако | ✅ | ✅ | ❌ | ✅ (доп.) | -| Хостинг | ✅ | ✅ | Зависит | Зависит | - ---- - -## 📞 Куда обращаться за помощью - -**Netlify:** https://docs.netlify.com -**Cloudflare:** https://developers.cloudflare.com/pages -**GitHub Pages:** https://docs.github.com/pages -**Яндекс.Облако:** https://cloud.yandex.ru/docs -**Timeweb:** https://timeweb.com/ru/help -**Beget:** https://beget.com/ru/kb - ---- - -Выбрали платформу? Смотрите `DEPLOYMENT.md` для пошаговых инструкций! 🚀 diff --git a/scripts/docs/deploy-traditional-hosting.md b/scripts/docs/deploy-traditional-hosting.md deleted file mode 100644 index 4bf7d44..0000000 --- a/scripts/docs/deploy-traditional-hosting.md +++ /dev/null @@ -1,95 +0,0 @@ -# Деплой на традиционный хостинг - -## Для любого хостинга с FTP/SSH доступом - -### Шаг 1: Локальная сборка -```bash -npm install -npm run build -``` - -### Шаг 2: Загрузка файлов -После сборки появится папка `dist/` - её содержимое нужно загрузить на хостинг. - -**Через FTP:** -1. Подключитесь к хостингу через FileZilla/WinSCP -2. Перейдите в папку `public_html` или `www` -3. Загрузите ВСЁ содержимое папки `dist/` (не саму папку!) - -**Через SSH:** -```bash -# Соберите локально -npm run build - -# Загрузите через rsync -rsync -avz --delete dist/ user@your-server.ru:/var/www/html/ -``` - -### Шаг 3: Настройка .htaccess (для Apache) -Создайте в корне сайта файл `.htaccess`: - -```apache - - RewriteEngine On - RewriteBase / - RewriteRule ^index\.html$ - [L] - RewriteCond %{REQUEST_FILENAME} !-f - RewriteCond %{REQUEST_FILENAME} !-d - RewriteRule . /index.html [L] - - -# Кеширование статических файлов - - ExpiresActive On - ExpiresByType image/jpg "access plus 1 year" - ExpiresByType image/jpeg "access plus 1 year" - ExpiresByType image/gif "access plus 1 year" - ExpiresByType image/png "access plus 1 year" - ExpiresByType image/svg+xml "access plus 1 year" - ExpiresByType text/css "access plus 1 month" - ExpiresByType application/javascript "access plus 1 month" - ExpiresByType text/html "access plus 0 seconds" - - -# Сжатие - - AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript - -``` - -### Шаг 4: Настройка для Nginx -Если на сервере Nginx, добавьте в конфигурацию сайта: - -```nginx -server { - listen 80; - server_name your-domain.ru www.your-domain.ru; - root /var/www/html; - index index.html; - - # Сжатие - gzip on; - gzip_types text/plain text/css application/json application/javascript text/xml application/xml; - - # SPA роутинг - location / { - try_files $uri $uri/ /index.html; - } - - # Кеширование статики - location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg|woff|woff2)$ { - expires 1y; - add_header Cache-Control "public, immutable"; - } -} -``` - -## Рекомендуемые российские хостинги: - -1. **Timeweb** - от 169 ₽/мес, отличная поддержка -2. **Beget** - от 200 ₽/мес, очень стабильный -3. **Reg.ru** - от 120 ₽/мес, простой интерфейс -4. **HostiMan** - от 150 ₽/мес -5. **SpaceWeb** - от 150 ₽/мес - -Все эти хостинги поддерживают Node.js и SSH доступ. diff --git a/scripts/docs/deploy-yandex-cloud.md b/scripts/docs/deploy-yandex-cloud.md deleted file mode 100644 index 1ee8740..0000000 --- a/scripts/docs/deploy-yandex-cloud.md +++ /dev/null @@ -1,45 +0,0 @@ -# Деплой на Яндекс.Облако - -## Шаг 1: Подготовка -1. Зарегистрируйтесь на https://cloud.yandex.ru -2. Установите Yandex Cloud CLI: https://cloud.yandex.ru/docs/cli/quickstart - -## Шаг 2: Создание бакета Object Storage -```bash -# Создайте бакет для статического сайта -yc storage bucket create --name softclick-website --public-read - -# Настройте бакет как статический сайт -yc storage bucket update --name softclick-website \ - --website-settings '{"index":"index.html","error":"index.html"}' -``` - -## Шаг 3: Сборка и загрузка -```bash -# Соберите проект -npm run build - -# Загрузите файлы в бакет -yc storage s3api put-object \ - --bucket softclick-website \ - --key dist/ \ - --body ./dist/ -``` - -## Шаг 4: Настройка CDN (опционально) -1. Перейдите в Cloud CDN -2. Создайте CDN-ресурс -3. Укажите источник: ваш бакет Object Storage -4. Настройте кастомный домен - -## Автоматизация через GitHub Actions -Создайте секреты в GitHub: -- YC_SERVICE_ACCOUNT_KEY_JSON -- YC_BUCKET_NAME - -Деплой будет происходить автоматически при пуше в main. - -## Стоимость -- Object Storage: ~0.40 ₽/ГБ/месяц -- Трафик CDN: ~0.85 ₽/ГБ -- Для небольшого сайта: ~50-200 ₽/месяц diff --git a/src/Attributions.md b/src/Attributions.md deleted file mode 100644 index 9b7cd4e..0000000 --- a/src/Attributions.md +++ /dev/null @@ -1,3 +0,0 @@ -This Figma Make file includes components from [shadcn/ui](https://ui.shadcn.com/) used under [MIT license](https://github.com/shadcn-ui/ui/blob/main/LICENSE.md). - -This Figma Make file includes photos from [Unsplash](https://unsplash.com) used under [license](https://unsplash.com/license). \ No newline at end of file diff --git a/vercel.json b/vercel.json deleted file mode 100644 index 29c0269..0000000 --- a/vercel.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "rewrites": [ - { - "source": "/(.*)", - "destination": "/index.html" - } - ] -} \ No newline at end of file