astro_redi/README.md

96 lines
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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