# 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** — система контроля версий
