astro_redi/README.md

97 lines
6.1 KiB
Markdown
Raw Permalink Normal View History

# Astro HTS
2026-03-26 03:56:25 +00:00
Монорепозиторий веб-приложения для компании HTS, специализирующейся на ремонте и обслуживании грузовиков и спецтехники.
2026-03-26 03:56:25 +00:00
## Описание проекта
2026-03-26 03:56:25 +00:00
Проект представляет собой полнофункциональное веб-приложение с разделением на frontend и backend части:
2026-03-26 03:56:25 +00:00
- **Frontend**: Современное SSR-приложение на Astro с интеграцией SolidJS для интерактивных компонентов
- **Backend**: PocketBase — легковесная backend-платформа для управления данными и аутентификации
2026-03-26 03:56:25 +00:00
## Технологический стек
2026-03-26 03:56:25 +00:00
### Frontend
- **Astro** — фреймворк для генерации статических и серверных сайтов
- **SolidJS** — реактивная библиотека для интерактивных компонентов
- **Tailwind CSS** — утилитарный CSS-фреймворк
- **TypeScript** — типизация JavaScript
- **PocketBase SDK** — клиент для взаимодействия с backend
- **Astro Icon** — работа с иконками
- **Nanostores** — легковесное управление состоянием
2026-03-26 03:56:25 +00:00
### Backend
- **PocketBase** — backend-решение с реальной базой данных и API
2026-03-26 03:56:25 +00:00
## Структура проекта
2026-03-26 03:56:25 +00:00
```
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 # Правила разработки проекта
2026-03-26 03:56:25 +00:00
```
## Страницы приложения
2026-03-26 03:56:25 +00:00
- **Главная** (`/`) — основная страница с информацией о компании
- **О компании** (`/about`) — информация о компании HTS
- **Услуги** (`/services`) — каталог предоставляемых услуг
- **Проекты** (`/projects`) — выполненные проекты
- **Техника** (`/cars`) — каталог техники
- **Новости** (`/news`) — новости компании
- **Блог** (`/blog`) — статьи и публикации
- **Контакты** (`/contacts`) — контактная информация
2026-03-26 03:56:25 +00:00
## Архитектурные особенности
2026-03-26 03:56:25 +00:00
- **SSR (Server-Side Rendering)** — рендеринг на стороне сервера через Node.js adapter
- **Компонентный подход** — разделение компонентов по функциональным областям
- **Типизация** — строгая типизация TypeScript без использования `any`
- **Модульность** — алиасы импортов для удобной навигации по коду
- **SEO-оптимизация** — интеграция sitemap для индексации
2026-03-26 03:56:25 +00:00
## Инфраструктура
2026-03-26 03:56:25 +00:00
- **Bun** — пакетный менеджер и рантайм
- **Biome** — линтер и форматтер кода
- **Git** — система контроля версий