new file: main_dc/yalarba/documentation/docs.md add documentation for all system yaltrip
8.0 KiB
Общая документация проекта: Туристический агрегатор "EasySite & YalArba"
Версия: 1.0 (Первичная)
Дата: 4 декабря 2025 года
Статус: Активная разработка
Контакт поддержки: valitovgaziz@yandex.ru
🎯 Общее описание проекта
Проект представляет собой полноценную туристическую экосистему, состоящую из двух взаимосвязанных платформ:
-
EasySite (easysite102.ru) – B2B-платформа для владельцев туристических объектов (отели, санатории, рестораны, достопримечательности), позволяющая создавать, управлять и продвигать свои услуги в автоматическом режиме.
-
YalArba (yalarba.ru) – B2C-платформа для туристов, предоставляющая поиск, бронирование, планирование маршрутов и отзывы о местах отдыха.
Обе системы объединены общей бизнес-логикой, базой данных и API, что обеспечивает целостность данных и взаимодействие между поставщиками услуг и конечными пользователями.
🏗️ Архитектура системы
Технологический стек:
| Компонент | Технологии |
|---|---|
| Frontend (EasySite) | Nuxt.js 3, Vue 3, TypeScript, SSR |
| Frontend (YalArba) | Vue 3, Vue Router, Pinia, Vite |
| Backend (API) | Go (Golang), Chi Router, GORM |
| База данных | PostgreSQL (несколько инстансов) |
| Веб-сервер | Nginx с SSL (Let's Encrypt) |
| Контейнеризация | Docker, Docker Compose |
| Мониторинг | Встроенная аналитика, логгирование |
📦 Состав сервисов (Docker-контейнеры)
Основные сервисы:
- easysite – Nuxt.js приложение (easysite102.ru)
- yalarba – Vue.js SPA приложение (yalarba.ru)
- api_tp – REST API для YalArba (Go)
- api_es – REST API для EasySite (Go)
- api_bb – REST API для "Бегущий Башкир" (Go)
- db, db_bb – PostgreSQL базы данных
- nginx – Веб-сервер с reverse proxy и SSL
- certbot – Автоматическое обновление SSL-сертификатов
- analytics – Сервис сбора статистики (Node.js)
🔄 Взаимодействие компонентов
Турист (yalarba.ru) → API_TP → БД (поиск, отзывы, маршруты)
Владелец (easysite102.ru) → API_ES → БД (добавление объектов, управление)
Администратор → Nginx + аналитика (мониторинг, логи)
🎯 Ключевые функции платформ
EasySite (B2B):
- ✅ Автоматическое создание сайтов для объектов
- ✅ Управление услугами, ценами, описаниями
- ✅ Загрузка фото и медиаконтента
- ✅ Система модерации объектов
- ✅ Аналитика посещений и бронирований
- ✅ Личный кабинет владельца
YalArba (B2C):
- ✅ Поиск мест отдыха с фильтрами
- ✅ Просмотр отзывов и рейтингов
- ✅ Личный профиль туриста
- ✅ Система избранного и истории
- ✅ Построение маршрутов
- ✅ Обратная связь и поддержка
🗄️ Базы данных
Основные сущности:
- Пользователи (туристы, владельцы, администраторы)
- Объекты (отели, санатории, рестораны и др.)
- Услуги (предложения объектов)
- Отзывы и рейтинги
- Бронирования (в разработке)
- Маршруты и избранное
🔐 Безопасность
- JWT-аутентификация с refresh-токенами
- Ролевая модель доступа (user, moderator, admin)
- Защита от XSS, CSRF, SQL-инъекций
- Rate limiting на API
- HTTPS (Let's Encrypt)
- Логирование и мониторинг
🚀 Развертывание
Требования:
- Docker & Docker Compose
- Node.js 18+ (для разработки)
- Go 1.21+ (для сборки API)
- PostgreSQL 15+
Запуск в production:
docker-compose up -d
Переменные окружения:
DATABASE_URL– строка подключения к PostgreSQLJWT_SECRET– секретный ключ для токеновSMTP_*– настройки email-рассылокTELEGRAM_BOT_TOKEN– для уведомлений
📊 Мониторинг и аналитика
- Встроенный сбор статистики посещений
- Логирование запросов и ошибок
- Health-чекеры для всех сервисов
- Интеграция с внешними системами (Google Analytics, Sentry – в планах)
🗺️ Дорожная карта развития
Ближайшие планы:
- ✅ Базовая версия EasySite и YalArba
- 🔄 Интеграция платежной системы
- 🔄 Мобильное приложение (PWA)
- 🔄 Система бронирования онлайн
- 🔄 Мультиязычность (i18n)
- 🔄 Расширенная аналитика для владельцев
🛠️ Поддержка и разработка
Команда:
- Разработчик: Валитов Газиз (https://valitovgaziz.ru)
- Техподдержка: support@easysite102.ru
- Telegram-бот: для уведомлений и мониторинга
Репозитории:
- Фронтенд EasySite:
./yalarba/easySite/ - Фронтенд YalArba:
./yalarba/serv_spa/ - API-сервисы:
./yalarba/api_*,./BB/api_bb
📄 Связанная документация
- Документация EasySite
- Документация API (YalArba)
- Документация YalArba (SPA)
- Docker Compose конфигурация
✅ Статус проекта на 04.12.2025
| Компонент | Статус | Примечание |
|---|---|---|
| EasySite (Nuxt) | ✅ Рабочий прототип | Базовая функциональность |
| YalArba (Vue SPA) | ✅ Базовая структура | Требуется наполнение |
| API (Go) | ✅ Основные эндпоинты | Работа с пользователями |
| База данных | ✅ Настроена | Две инстанса PostgreSQL |
| SSL/Nginx | ✅ Работает | Автообновление сертификатов |
| Аналитика | ✅ Логирование | Базовый сбор статистики |
| Деплой | ✅ Docker Compose | Готово к production |
Примечание: Данная документация является первичной и будет дополняться по мере развития проекта. Все изменения в архитектуре и API должны быть задокументированы в соответствующих разделах.