# πŸ“š ДокумСнтация ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° EasySite ## πŸ—οΈ ΠžΠ±Ρ‰Π°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° **EasySite** - это полноцСнная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° для создания сайтов, построСнная Π½Π° Nuxt.js 3 с использованиСм server-side rendering ΠΈ автоматичСской Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ сайтов. ### ВСхнологичСский стСк: - **Frontend**: Nuxt.js 3, Vue 3, TypeScript - **Backend**: Nuxt Server (API Routes) (Golang, gorm, chi) - **Бтилизация**: ΠšΠ°ΡΡ‚ΠΎΠΌΠ½Ρ‹Π΅ CSS-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ - **SEO**: АвтоматичСская sitemap, ΠΌΠ΅Ρ‚Π°-Ρ‚Π΅Π³ΠΈ - **Π”Π΅ΠΏΠ»ΠΎΠΉ**: Node.js сСрвСр --- ## πŸ“ Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° прилоТСния ### ΠœΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ (Routing) #### ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹: **ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ страницы:** - `/` - Главная страница с CTA ΠΈ шагами создания сайта - `/about` - Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° "О ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ" с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ - `/contact` - ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ - `/news` - Новости - `/objects` - ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²/сайтов - `/partner` - ΠŸΠ°Ρ€Ρ‚Π½Π΅Ρ€ΡΠΊΠ°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° - `/requisites` - Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ - `/reviews` - ΠžΡ‚Π·Ρ‹Π²Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ - `/rules` - ΠŸΡ€Π°Π²ΠΈΠ»Π° использования - `/support` - ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° - `/vacations` - ВозмоТности/прСдлоТСния **Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Ρ‹ соглашСний:** - `/agreements/privacy` - ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ - `/agreements/userAgreement` - ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ΅ соглашСниС **АутСнтификация:** - `/auth/login` - Π’Ρ…ΠΎΠ΄ Π² систСму - `/auth/register` - РСгистрация **ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ Π·ΠΎΠ½Π°:** - `/profile` - ΠŸΡ€ΠΎΡ„ΠΈΠ»ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ - `/profile/edit` - Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ профиля - `/profile/settings` - Настройки Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° - `/objects/create` - Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° - `/objects/my-objects` - Мои ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹/сайты - `/reviews/write` - НаписаниС ΠΎΡ‚Π·Ρ‹Π²Π° - `/support/create` - Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ обращСния Π² ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ **Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅:** - `/plugins/auth` - Плагин Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ --- ## 🎯 БизнСс-Π»ΠΎΠ³ΠΈΠΊΠ° ### 1. ΠŸΡ€ΠΎΡ†Π΅ΡΡ создания сайта (3 шага) #### Π¨Π°Π³ 1: РСгистрация (`/auth/register`) ```typescript // ΠŸΡ€ΠΈΠΌΠ΅Ρ€ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ рСгистрации interface RegisterData { email: string; password: string; confirmPassword: string; // ... Π΄Ρ€ΡƒΠ³ΠΈΠ΅ поля } // Валидация: // 1. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ email // 2. Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ пароля // 3. БогласиС с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ соглашСниСм // 4. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π° ``` #### Π¨Π°Π³ 2: Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ услуг (`/objects/create`) ```typescript interface Service { id: string; title: string; description: string; category: string; price?: number; images: string[]; features: string[]; // ... Π΄Ρ€ΡƒΠ³ΠΈΠ΅ поля } // ΠŸΡ€ΠΎΡ†Π΅ΡΡ: // 1. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ заполняСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± услугах // 2. Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ // 3. ΠšΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΡ // 4. Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ``` #### Π¨Π°Π³ 3: ГСнСрация сайта (`/objects/my-objects`) ```typescript // АвтоматичСская гСнСрация Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚: // 1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ URL (ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½ ΠΈΠ»ΠΈ ΠΏΡƒΡ‚ΡŒ) // 2. ГСнСрация HTML-страниц Π½Π° основС шаблонов // 3. НаполнСниС ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ ΠΈΠ· профиля ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ // 4. SEO-оптимизация // 5. ΠŸΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡ Π½Π° хостингС ``` --- ## πŸ” БистСма Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ### Π€Π°ΠΉΠ»Ρ‹ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ: ``` server/ β”œβ”€β”€ api/ β”‚ β”œβ”€β”€ auth/ β”‚ β”‚ β”œβ”€β”€ login.post.ts # POST /api/auth/login β”‚ β”‚ β”œβ”€β”€ register.post.ts # POST /api/auth/register β”‚ β”‚ └── logout.post.ts # POST /api/auth/logout β”œβ”€β”€ middleware/ β”‚ β”œβ”€β”€ auth.ts # Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ middleware └── utils/ └── auth.ts # Π£Ρ‚ΠΈΠ»ΠΈΡ‚Ρ‹ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ``` ### Flow Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ: 1. **РСгистрация** β†’ созданиС Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° + email вСрификация 2. **Π’Ρ…ΠΎΠ΄** β†’ JWT Ρ‚ΠΎΠΊΠ΅Π½ + refresh Ρ‚ΠΎΠΊΠ΅Π½ 3. **Π—Π°Ρ‰ΠΈΡ‚Π° Ρ€ΠΎΡƒΡ‚ΠΎΠ²** β†’ middleware ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° 4. **Π’Ρ‹Ρ…ΠΎΠ΄** β†’ инвалидация Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² --- ## πŸ—ΊοΈ ΠšΠ°Ρ€Ρ‚Π° сайта (Sitemap) ### ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ (`nuxt.config.ts`) ```typescript sitemap: { siteUrl: 'https://easysite102.ru', sources: ['/api/__sitemap__/urls'], // ДинамичСскиС URL exclude: ['/admin/**', '/private/**'], defaults: { changefreq: 'daily', priority: 0.7, lastmod: new Date().toISOString() } } ``` ### ГСнСрация динамичСских URL: ```typescript // server/api/__sitemap__/urls.ts export default defineEventHandler(async () => { const objects = await db.objects.findMany({ where: { published: true } }) return objects.map(object => ({ loc: `/objects/${object.slug}`, lastmod: object.updatedAt, changefreq: 'weekly' })) }) ``` --- ## 🎨 ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈ страницы ### Главная страница (`index.vue`) **ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ:** - Hero-сСкция с gradient text - 3-ΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΉ процСсс создания сайта - Адаптивный Π΄ΠΈΠ·Π°ΠΉΠ½ (mobile-first) - SEO-оптимизация Ρ‡Π΅Ρ€Π΅Π· `useSeoMeta()` ### Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° "О нас" (`about.vue`) **Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°:** 1. Hero сСкция с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ 2. Π‘Π»ΠΎΠΊ "Наш ΠΏΡƒΡ‚ΡŒ" (тСкст + статистика) 3. Команда (тСкущая + ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ) 4. ЦСнности ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ 5. CTA сСкция **SEO настройки:** ```typescript useSeoMeta({ title: 'О ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ - EasySite', description: 'Π£Π·Π½Π°ΠΉΡ‚Π΅ большС ΠΎ нашСй ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ...', ogTitle: 'О ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ - EasySite', ogDescription: 'Π£Π·Π½Π°ΠΉΡ‚Π΅ большС...', }) ``` --- ## 🎯 ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ систСмы ### 1. Layout систСма (`layouts/default.vue`) ```vue ``` ### 2. Навигация - Π“Π»Π°Π²Π½ΠΎΠ΅ мСню для ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Ρ… страниц - Π‘ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню для Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ - Breadcrumbs для слоТных ΠΏΡƒΡ‚Π΅ΠΉ ### 3. Π€ΠΎΡ€ΠΌΡ‹ - РСгистрация/авторизация - Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° - Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ профиля - НаписаниС ΠΎΡ‚Π·Ρ‹Π²ΠΎΠ² - ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΡ Π² ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ --- ## πŸ› οΈ API Endpoints ### ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ API: ``` GET /api/objects # Бписок ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² GET /api/objects/:id # Π”Π΅Ρ‚Π°Π»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° GET /api/reviews # ΠžΡ‚Π·Ρ‹Π²Ρ‹ GET /api/news # Новости ``` ### Π—Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹Π΅ API: ``` POST /api/auth/login # Π’Ρ…ΠΎΠ΄ POST /api/auth/register # РСгистрация POST /api/auth/logout # Π’Ρ‹Ρ…ΠΎΠ΄ GET /api/profile # ΠŸΡ€ΠΎΡ„ΠΈΠ»ΡŒ PUT /api/profile # ОбновлСниС профиля POST /api/objects # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° GET /api/user/objects # Мои ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ PUT /api/objects/:id # ОбновлСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° DELETE /api/objects/:id # Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° POST /api/reviews # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΡ‚Π·Ρ‹Π²Π° POST /api/support/tickets # ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Π² ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ``` --- ## πŸ—οΈ Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… (ΠΏΡ€ΠΈΠΌΠ΅Ρ€) ```sql -- ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ CREATE TABLE users ( id UUID PRIMARY KEY, email VARCHAR(255) UNIQUE NOT NULL, password_hash VARCHAR(255) NOT NULL, name VARCHAR(100), avatar_url TEXT, verified BOOLEAN DEFAULT false, created_at TIMESTAMP DEFAULT NOW(), updated_at TIMESTAMP ); -- ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹/Π‘Π°ΠΉΡ‚Ρ‹ CREATE TABLE objects ( id UUID PRIMARY KEY, user_id UUID REFERENCES users(id), title VARCHAR(255) NOT NULL, slug VARCHAR(255) UNIQUE NOT NULL, description TEXT, template_id VARCHAR(50), status VARCHAR(50) DEFAULT 'draft', settings JSONB, published_at TIMESTAMP, created_at TIMESTAMP DEFAULT NOW() ); -- Услуги CREATE TABLE services ( id UUID PRIMARY KEY, object_id UUID REFERENCES objects(id), title VARCHAR(255) NOT NULL, description TEXT, price DECIMAL(10,2), position INTEGER ); ``` --- ## πŸš€ Π Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ ### ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния: ```env # Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… DATABASE_URL=postgresql://... # JWT JWT_SECRET=your_jwt_secret_key JWT_REFRESH_SECRET=your_refresh_secret_key # Email SMTP_HOST=smtp.gmail.com SMTP_PORT=587 SMTP_USER=your_email@gmail.com SMTP_PASS=your_app_password # Π”ΠΎΠΌΠ΅Π½Ρ‹ BASE_URL=https://easysite102.ru CLIENT_URL=https://easysite102.ru # Telegram увСдомлСния TELEGRAM_BOT_TOKEN=your_bot_token TELEGRAM_CHAT_ID=your_chat_id ``` ### ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для запуска: ```bash # Установка npm install # Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° npm run dev # Π‘Π±ΠΎΡ€ΠΊΠ° npm run build # ΠŸΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½ npm run preview # Π”Π΅ΠΏΠ»ΠΎΠΉ npm run deploy ``` --- ## πŸ“ˆ ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ° ### ВстроСнныС ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ: 1. **SEO ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ** - Ρ‡Π΅Ρ€Π΅Π· sitemap ΠΈ meta Ρ‚Π΅Π³ΠΈ 2. **ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ** - Lighthouse scores 3. **Аналитика** - Google Analytics/Tag Manager 4. **Ошибки** - Sentry/Bugsnag ### ΠšΠ°ΡΡ‚ΠΎΠΌΠΈΠ·Π°Ρ†ΠΈΡ: ```typescript // Плагин для Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ // plugins/analytics.ts export default defineNuxtPlugin(() => { // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ useGtag({ config: { id: 'G-XXXXXXXXXX' } }) }) ``` --- ## πŸ›‘οΈ Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ### Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ€Ρ‹: 1. **CSRF Π·Π°Ρ‰ΠΈΡ‚Π°** - для всСх POST запросов 2. **XSS Π·Π°Ρ‰ΠΈΡ‚Π°** - санитизация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° 3. **SQL ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΈ** - использованиС ORM с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ запросами 4. **JWT Ρ‚ΠΎΠΊΠ΅Π½Ρ‹** - с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΆΠΈΠ·Π½ΠΈ 5. **Rate limiting** - ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ запросов 6. **CORS ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ** - настройка Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² --- ## πŸ”§ Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° ### ΠŸΠ»Π°Π½Ρ‹ развития: 1. **Π¨Π°Π±Π»ΠΎΠ½Ρ‹ сайтов** - Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠ² 2. **ΠœΡƒΠ»ΡŒΡ‚ΠΈΡΠ·Ρ‹Ρ‡Π½ΠΎΡΡ‚ΡŒ** - i18n ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° 3. **ΠŸΠ»Π°Ρ‚Π΅ΠΆΠ½Π°Ρ систСма** - подписки ΠΈ ΠΏΠ»Π°Ρ‚Π΅ΠΆΠΈ 4. **Аналитика сайтов** - статистика посСщСний 5. **МобильноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅** - Ρ‡Π΅Ρ€Π΅Π· Capacitor/PWA --- ## πŸ“‹ ЧСклист для Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° 1. [ ] Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Node.js 18+ 2. [ ] ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ 3. [ ] Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ зависимости `npm install` 4. [ ] ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ `.env` Ρ„Π°ΠΉΠ» 5. [ ] Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π‘Π” (PostgreSQL) 6. [ ] Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ `npm run db:migrate` 7. [ ] Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ dev сСрвСр `npm run dev` 8. [ ] ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎ `localhost:3000` 9. [ ] ΠŸΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ 10. [ ] ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ сайта --- ## πŸ†˜ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΈ устранСниС нСисправностСй ### ЧастыС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹: 1. **Sitemap Π½Π΅ гСнСрируСтся** - ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ настройки Π² `nuxt.config.ts` - Π£Π±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Ρ‡Ρ‚ΠΎ `siteUrl` ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ - ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ `/api/__sitemap__/urls` 2. **АутСнтификация Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚** - ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ JWT сСкрСты - Π£Π±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ middleware - ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ cookies настройки 3. **НС Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ изобраТСния** - ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ `@nuxt/image` - Π£Π±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡƒΡ‚Π΅ΠΉ - ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²Π° доступа ### ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ: - **Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ**: Π’Π°Π»ΠΈΡ‚ΠΎΠ² Π“Π°Π·ΠΈΠ· (https://valitovgaziz.ru) - **Telegram Π±ΠΎΡ‚**: Π§Π°Ρ‚ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ - **Email ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°**: support@easysite102.ru --- Π­Ρ‚Π° докумСнтация ΠΏΠΎΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ основныС аспСкты ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° EasySite. Для Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ модулям ΠΎΠ±Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ΡΡŒ ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ сСкции Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.