# Astro HTS Монорепозиторий веб-приложения для компании HTS, специализирующейся на ремонте и обслуживании грузовиков и спецтехники. ## Описание проекта Проект представляет собой полнофункциональное веб-приложение с разделением на frontend и backend части: - **Frontend**: Современное SSR-приложение на Astro с интеграцией SolidJS для интерактивных компонентов - **Backend**: PocketBase — легковесная backend-платформа для управления данными и аутентификации ## Технологический стек ### Frontend - **Astro** — фреймворк для генерации статических и серверных сайтов - **SolidJS** — реактивная библиотека для интерактивных компонентов - **Tailwind CSS** — утилитарный CSS-фреймворк - **TypeScript** — типизация JavaScript - **PocketBase SDK** — клиент для взаимодействия с backend - **Astro Icon** — работа с иконками - **Nanostores** — легковесное управление состоянием ### Backend - **PocketBase** — backend-решение с реальной базой данных и API ## Структура проекта ``` astro_hts/ ├── backend/ # Backend на PocketBase │ ├── pb_data/ # Данные PocketBase (БД, файлы) │ └── pb_migrations/ # Миграции схемы базы данных │ ├── frontend/ # Frontend на Astro │ ├── public/ # Статические файлы │ ├── src/ │ │ ├── assets/ # Изображения, шрифты и другие ассеты │ │ ├── components/ # UI-компоненты │ │ │ ├── about/ # Компоненты страницы "О компании" │ │ │ ├── base/ # Базовые компоненты │ │ │ ├── blog/ # Компоненты блога │ │ │ ├── cars/ # Компоненты каталога техники │ │ │ ├── contacts/ # Компоненты страницы контактов │ │ │ ├── home/ # Компоненты главной страницы │ │ │ ├── layout/ # Компоненты макета (header, footer) │ │ │ ├── news/ # Компоненты новостей │ │ │ ├── projects/ # Компоненты проектов │ │ │ └── services/ # Компоненты услуг │ │ ├── constants/ # Константы приложения │ │ ├── content/ # Контентные коллекции │ │ ├── icons/ # Иконки приложения │ │ ├── layouts/ # Макеты страниц │ │ ├── lib/ # Утилиты и вспомогательные функции │ │ ├── pages/ # Страницы приложения │ │ │ ├── api/ # API endpoints │ │ │ ├── blog/ # Страницы блога │ │ │ └── news/ # Страницы новостей │ │ ├── stores/ # Хранилища состояния (Nanostores) │ │ ├── content.config.js # Конфигурация контентных коллекций │ │ ├── env.d.ts # TypeScript декларации для окружения │ │ └── globalInterfaces.ts # Глобальные TypeScript интерфейсы │ ├── astro.config.mjs # Конфигурация Astro │ ├── tailwind.config.mjs # Конфигурация Tailwind CSS │ └── tsconfig.json # Конфигурация TypeScript │ ├── scripts/ # Скрипты для разработки и сборки │ └── dev-server.js # Скрипт запуска frontend и backend │ ├── package.json # Корневой package.json └── QWEN.md # Правила разработки проекта ``` ## Страницы приложения - **Главная** (`/`) — основная страница с информацией о компании - **О компании** (`/about`) — информация о компании HTS - **Услуги** (`/services`) — каталог предоставляемых услуг - **Проекты** (`/projects`) — выполненные проекты - **Техника** (`/cars`) — каталог техники - **Новости** (`/news`) — новости компании - **Блог** (`/blog`) — статьи и публикации - **Контакты** (`/contacts`) — контактная информация ## Архитектурные особенности - **SSR (Server-Side Rendering)** — рендеринг на стороне сервера через Node.js adapter - **Компонентный подход** — разделение компонентов по функциональным областям - **Типизация** — строгая типизация TypeScript без использования `any` - **Модульность** — алиасы импортов для удобной навигации по коду - **SEO-оптимизация** — интеграция sitemap для индексации ## Инфраструктура - **Bun** — пакетный менеджер и рантайм - **Biome** — линтер и форматтер кода - **Git** — система контроля версий