diff --git a/README.md b/README.md index 846cae9..fba344b 100644 --- a/README.md +++ b/README.md @@ -1,62 +1,96 @@ -# Astro REDi Monorepo +# Astro HTS -Этот монорепозиторий содержит frontend и backend части приложения Astro REDi. +Монорепозиторий веб-приложения для компании 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 ## Структура проекта -- `frontend/` - Astro-приложение для фронтенда -- `backend/` - PocketBase-приложение для бэкенда - -## Установка - -1. Установите зависимости для всего проекта: - -```bash -bun install +``` +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 # Правила разработки проекта ``` -2. Установите зависимости для frontend: +## Страницы приложения -```bash -cd frontend && bun install -``` +- **Главная** (`/`) — основная страница с информацией о компании +- **О компании** (`/about`) — информация о компании HTS +- **Услуги** (`/services`) — каталог предоставляемых услуг +- **Проекты** (`/projects`) — выполненные проекты +- **Техника** (`/cars`) — каталог техники +- **Новости** (`/news`) — новости компании +- **Блог** (`/blog`) — статьи и публикации +- **Контакты** (`/contacts`) — контактная информация -Или выполните установку всех зависимостей одной командой: +## Архитектурные особенности -```bash -bun run install:all -``` +- **SSR (Server-Side Rendering)** — рендеринг на стороне сервера через Node.js adapter +- **Компонентный подход** — разделение компонентов по функциональным областям +- **Типизация** — строгая типизация TypeScript без использования `any` +- **Модульность** — алиасы импортов для удобной навигации по коду +- **SEO-оптимизация** — интеграция sitemap для индексации -## Запуск приложения +## Инфраструктура -Для одновременного запуска frontend и backend приложения выполните: - -```bash -bun run dev -``` - -Для запуска только frontend: - -```bash -bun run dev:frontend -``` - -Для запуска только backend: - -```bash -bun run dev:backend -``` - -Для остановки запущенных процессов: - -```bash -bun run stop -``` - -## Сборка проекта - -Для сборки frontend приложения: - -```bash -bun run build -``` \ No newline at end of file +- **Bun** — пакетный менеджер и рантайм +- **Biome** — линтер и форматтер кода +- **Git** — система контроля версий