Files
tp/main_dc/BB/bbvue/documentation/docs.md
T
valitovgaziz 06bb95dc29 new file: main_dc/BB/bbvue/documentation/docs.md
Add docs for FronEnd begushiybashkir.ru
2025-12-02 20:53:24 +05:00

12 KiB
Raw Blame History

Документация сайта бегового клуба "Бегущий Башкир"

📋 Обзор проекта

Сайт: begushiybashkir.ru Технологический стек: Vue 3, Vue Router, Pinia, Vite Тип проекта: SPA (Single Page Application) для бегового клуба


🏗️ Архитектура проекта

Структура каталогов

src/
├── assets/           # Статические ресурсы
│   ├── logo/        # Логотипы
│   └── main.css     # Глобальные стили
├── components/       # Vue компоненты
├── pages/           # Страницы приложения
├── stores/          # Состояние приложения (Pinia)
└── router/          # Маршрутизация
public/
├── images/          # Изображения для галереи
└── favicon.ico      # Иконка сайта

🌐 Основные страницы

1. Главная страница (Home.vue)

  • Назначение: Приветствие, представление клуба, призыв к действию
  • Особенности: Слайдер, статистика клуба, преимущества, события
  • SEO: Оптимизирована для поисковых систем

2. О клубе (About.vue)

  • Назначение: Подробная информация о клубе
  • Контент: Философия, тренер, локации, контакты
  • Особенности: Информация о тренере Аминеве Загире

3. Галерея (Gallery.vue)

  • Назначение: Фотографии мероприятий и тренировок
  • Функционал: Слайдер, лайтбокс, фильтрация
  • Особенности: Адаптивная сетка изображений

4. Достижения (Achievements.vue)

  • Назначение: Демонстрация успехов участников
  • Функционал: Фильтрация, поиск, статистика
  • Контент: Личные и командные достижения

5. Статистика (DetailedStats.vue)

  • Назначение: Персональная статистика участников
  • Функционал: Графики, фильтры, экспорт данных
  • Данные: Пробег, темп, история тренировок

6. События (Events.vue)

  • Назначение: Расписание мероприятий
  • Функционал: Регистрация, управление участием
  • Типы событий: Тренировки, забеги, семинары

🔐 Система аутентификации

Компоненты:

  • Login.vue - Вход в систему
  • Register.vue - Регистрация
  • Logout.vue - Выход
  • ForgotPassword.vue - Восстановление пароля

Хранилище:

  • auth.js - Управление состоянием авторизации
  • Функции: login, logout, register, refreshToken

🎨 Дизайн и стили

Основные принципы:

  1. Цветовая палитра:

    • Основной: #2e8b57 (зеленый)
    • Акцентный: #ffd700 (золотой)
    • Фон: #f8fff8 (светло-зеленый)
  2. Типографика:

    • Заголовки: жирный шрифт
    • Основной текст: читабельный контраст
    • Стили для русского и башкирского языков
  3. Адаптивность:

    • Mobile-first подход
    • Breakpoints: 360px, 480px, 768px, 1024px
    • Гибкие контейнеры и сетки

🛠️ Функциональные компоненты

NavigationMenu.vue

  • Навигационное меню
  • Адаптивный дизайн
  • Учет состояния авторизации

EventCard.vue

  • Карточка события
  • Интерактивные элементы
  • Состояния регистрации

RegistrationCard.vue

  • Карточка регистрации
  • Управление участием
  • Статусы подтверждения

📊 Управление состоянием (Pinia)

Сторы:

  1. auth.js - Авторизация
  2. stats.js - Статистика пользователя
  3. event.js - События и регистрации

Особенности:

  • Persistence через localStorage
  • Автоматическое обновление токенов
  • Централизованная обработка ошибок

🚀 Маршрутизация (Vue Router)

Основные маршруты:

[
  { path: '/', component: Home },
  { path: '/about', component: About },
  { path: '/gallery', component: Gallery },
  { path: '/achievements', component: Achievements },
  { path: '/stats', component: DetailedStats },
  { path: '/events', component: Events },
  { path: '/login', component: Login },
  { path: '/register', component: Register },
  { path: '/profile', component: Profile }
]

Защищенные маршруты:

  • Требуют авторизации
  • Автоматический редирект на логин

📱 Адаптивный дизайн

Подходы:

  1. CSS Grid и Flexbox - для компоновки
  2. Относительные единицы - rem, em, vw, vh
  3. Медиа-запросы - для разных устройств
  4. Mobile-first - базовая версия для мобильных

Особые случаи:

  • Ландшафтная ориентация
  • Малые экраны (до 360px)
  • Планшеты (768-1024px)

🖼️ Оптимизация изображений

Стратегии:

  1. Ленивая загрузка - для галереи
  2. Предзагрузка - для слайдера
  3. Адаптивные изображения - разные размеры для разных устройств
  4. Оптимизация форматов - WebP где поддерживается

Производительность

Оптимизации:

  1. Code splitting - разделение кода по маршрутам
  2. Tree shaking - удаление неиспользуемого кода
  3. Кэширование - статических ресурсов
  4. Минификация - CSS и JavaScript

🔍 SEO оптимизация

Мета-теги:

  • Динамические заголовки
  • Оптимизированные описания
  • Ключевые слова
  • Open Graph для соцсетей

Технические аспекты:

  • Чистые URL
  • Навигационная структура
  • Скорость загрузки
  • Мобильная адаптация

📝 Контент

Языки:

  1. Русский - основной язык
  2. Башкирский - для подвала сайта
  3. Иконки - визуальная коммуникация

Контент-стратегия:

  • Регулярное обновление событий
  • Добавление новых достижений
  • Обновление галереи
  • Актуальная статистика

🔧 Разработка

Команды:

npm install      # Установка зависимостей
npm run dev      # Запуск dev сервера
npm run build    # Сборка для production
npm run lint     # Проверка кода

Конфигурация:

  • ESLint - для качества кода
  • Vite - для сборки
  • Vue 3 Composition API
  • Hot Module Replacement

📄 Файлы конфигурации

Основные:

  • vite.config.js - настройка Vite
  • package.json - зависимости и скрипты
  • index.html - главный HTML файл
  • README.md - документация проекта

🚨 Обработка ошибок

Стратегии:

  1. Глобальный перехват - для API запросов
  2. Пользовательские уведомления - дружелюбные сообщения
  3. Резервные состояния - для отсутствующих данных
  4. Кнопки повтора - для повторных попыток

🔄 Интеграции

Планируемые:

  1. Календарь событий - синхронизация
  2. Платежная система - для платных мероприятий
  3. Социальные сети - автоматическая публикация
  4. Email рассылка - для участников

📈 Аналитика

Метрики:

  1. Посещаемость - популярные страницы
  2. Конверсии - регистрации и участие
  3. Вовлеченность - время на сайте
  4. Устройства - мобильные vs десктоп

🛡️ Безопасность

Меры:

  1. HTTPS - шифрование трафика
  2. Валидация данных - на клиенте и сервере
  3. Защита от XSS - экранирование вывода
  4. Rate limiting - для API запросов

📚 Дальнейшее развитие

Планы:

  1. PWA - прогрессивное веб-приложение
  2. Push-уведомления - для событий
  3. Офлайн-режим - кэширование данных
  4. Интернационализация - полная поддержка башкирского
  5. Мобильное приложение - на React Native

🎯 Целевая аудитория

Основные группы:

  1. Новички - желающие начать бегать
  2. Любители - регулярно занимающиеся
  3. Профессионалы - участвующие в соревнованиях
  4. Болельщики - интересующиеся клубом

📞 Поддержка

Каналы связи:

  1. Телефон: +7 (927) 30-93-095
  2. Email: zog1r@mail.ru
  3. Telegram: @begushiybashkir
  4. Instagram: @begushiybashkir

📋 Чеклист развертывания

Обновление контента:

  • Проверить актуальность событий
  • Обновить достижения
  • Добавить новые фото в галерею
  • Проверить контактную информацию

Техническая проверка:

  • Тестирование на мобильных устройствах
  • Проверка скорости загрузки
  • Валидация HTML/CSS
  • Проверка ссылок

SEO оптимизация:

  • Обновить мета-теги
  • Проверить заголовки
  • Оптимизировать изображения
  • Проверить sitemap

🏆 Особенности проекта

Уникальные черты:

  1. Двуязычность - русский и башкирский
  2. Сообщество - ориентация на взаимодействие
  3. Тренерский подход - акцент на профессиональное руководство
  4. Природа - тренировки на свежем воздухе

*Документация будет дополняться по мере развития проекта. Последнее обновление: декабрь 2025