06bb95dc29
Add docs for FronEnd begushiybashkir.ru
12 KiB
12 KiB
Документация сайта бегового клуба "Бегущий Башкир"
📋 Обзор проекта
Сайт: 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
🎨 Дизайн и стили
Основные принципы:
-
Цветовая палитра:
- Основной: #2e8b57 (зеленый)
- Акцентный: #ffd700 (золотой)
- Фон: #f8fff8 (светло-зеленый)
-
Типографика:
- Заголовки: жирный шрифт
- Основной текст: читабельный контраст
- Стили для русского и башкирского языков
-
Адаптивность:
- Mobile-first подход
- Breakpoints: 360px, 480px, 768px, 1024px
- Гибкие контейнеры и сетки
🛠️ Функциональные компоненты
NavigationMenu.vue
- Навигационное меню
- Адаптивный дизайн
- Учет состояния авторизации
EventCard.vue
- Карточка события
- Интерактивные элементы
- Состояния регистрации
RegistrationCard.vue
- Карточка регистрации
- Управление участием
- Статусы подтверждения
📊 Управление состоянием (Pinia)
Сторы:
auth.js- Авторизацияstats.js- Статистика пользователя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 }
]
Защищенные маршруты:
- Требуют авторизации
- Автоматический редирект на логин
📱 Адаптивный дизайн
Подходы:
- CSS Grid и Flexbox - для компоновки
- Относительные единицы - rem, em, vw, vh
- Медиа-запросы - для разных устройств
- Mobile-first - базовая версия для мобильных
Особые случаи:
- Ландшафтная ориентация
- Малые экраны (до 360px)
- Планшеты (768-1024px)
🖼️ Оптимизация изображений
Стратегии:
- Ленивая загрузка - для галереи
- Предзагрузка - для слайдера
- Адаптивные изображения - разные размеры для разных устройств
- Оптимизация форматов - WebP где поддерживается
⚡ Производительность
Оптимизации:
- Code splitting - разделение кода по маршрутам
- Tree shaking - удаление неиспользуемого кода
- Кэширование - статических ресурсов
- Минификация - CSS и JavaScript
🔍 SEO оптимизация
Мета-теги:
- Динамические заголовки
- Оптимизированные описания
- Ключевые слова
- Open Graph для соцсетей
Технические аспекты:
- Чистые URL
- Навигационная структура
- Скорость загрузки
- Мобильная адаптация
📝 Контент
Языки:
- Русский - основной язык
- Башкирский - для подвала сайта
- Иконки - визуальная коммуникация
Контент-стратегия:
- Регулярное обновление событий
- Добавление новых достижений
- Обновление галереи
- Актуальная статистика
🔧 Разработка
Команды:
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- настройка Vitepackage.json- зависимости и скриптыindex.html- главный HTML файлREADME.md- документация проекта
🚨 Обработка ошибок
Стратегии:
- Глобальный перехват - для API запросов
- Пользовательские уведомления - дружелюбные сообщения
- Резервные состояния - для отсутствующих данных
- Кнопки повтора - для повторных попыток
🔄 Интеграции
Планируемые:
- Календарь событий - синхронизация
- Платежная система - для платных мероприятий
- Социальные сети - автоматическая публикация
- Email рассылка - для участников
📈 Аналитика
Метрики:
- Посещаемость - популярные страницы
- Конверсии - регистрации и участие
- Вовлеченность - время на сайте
- Устройства - мобильные vs десктоп
🛡️ Безопасность
Меры:
- HTTPS - шифрование трафика
- Валидация данных - на клиенте и сервере
- Защита от XSS - экранирование вывода
- Rate limiting - для API запросов
📚 Дальнейшее развитие
Планы:
- PWA - прогрессивное веб-приложение
- Push-уведомления - для событий
- Офлайн-режим - кэширование данных
- Интернационализация - полная поддержка башкирского
- Мобильное приложение - на React Native
🎯 Целевая аудитория
Основные группы:
- Новички - желающие начать бегать
- Любители - регулярно занимающиеся
- Профессионалы - участвующие в соревнованиях
- Болельщики - интересующиеся клубом
📞 Поддержка
Каналы связи:
- Телефон: +7 (927) 30-93-095
- Email: zog1r@mail.ru
- Telegram: @begushiybashkir
- Instagram: @begushiybashkir
📋 Чеклист развертывания
Обновление контента:
- Проверить актуальность событий
- Обновить достижения
- Добавить новые фото в галерею
- Проверить контактную информацию
Техническая проверка:
- Тестирование на мобильных устройствах
- Проверка скорости загрузки
- Валидация HTML/CSS
- Проверка ссылок
SEO оптимизация:
- Обновить мета-теги
- Проверить заголовки
- Оптимизировать изображения
- Проверить sitemap
🏆 Особенности проекта
Уникальные черты:
- Двуязычность - русский и башкирский
- Сообщество - ориентация на взаимодействие
- Тренерский подход - акцент на профессиональное руководство
- Природа - тренировки на свежем воздухе
*Документация будет дополняться по мере развития проекта. Последнее обновление: декабрь 2025