daac28b869
new file: main_dc/BB/documentation/docs.md add general and README.md file for BB project
177 lines
6.1 KiB
Markdown
177 lines
6.1 KiB
Markdown
# 🏃♂️ Бегущий Башкир - Беговой Клуб
|
||
|
||

|
||

|
||

|
||

|
||
|
||
Полнофункциональная платформа для бегового клуба "Бегущий Башкир" с современной веб-архитектурой.
|
||
|
||
## 🎯 О проекте
|
||
|
||
**Бегущий Башкир** — это цифровая экосистема для бегового сообщества Башкортостана, объединяющая:
|
||
- 🌐 **Веб-сайт** (Vue.js SPA)
|
||
- 🔧 **REST API** (Go + PostgreSQL)
|
||
- 📊 **Аналитику** (Node.js)
|
||
- 🔐 **Автоматическую SSL** (Certbot)
|
||
- 🐳 **Контейнеризацию** (Docker Compose)
|
||
|
||
## 🏗️ Архитектура
|
||
|
||
```
|
||
┌─────────────────────────────────────────┐
|
||
│ Docker Compose Cluster │
|
||
├─────────────────────────────────────────┤
|
||
│ Nginx → API_BB (Go) → DB_BB (Postgres) │
|
||
│ ↑ ↑ ↑ │
|
||
│ Certbot Analytics Frontend │
|
||
│ (SSL) (Node.js) (Vue.js) │
|
||
└─────────────────────────────────────────┘
|
||
```
|
||
|
||
## ✨ Основные возможности
|
||
|
||
- ✅ **Управление тренировками** (дистанция, темп, калории)
|
||
- ✅ **Система событий** (забеги, тренировки, семинары)
|
||
- ✅ **Достижения и награды** с верификацией
|
||
- ✅ **Персональная статистика** с графиками
|
||
- ✅ **Галерея фотографий** мероприятий
|
||
- ✅ **Многоязычность** (русский/башкирский)
|
||
- ✅ **Адаптивный дизайн** (mobile-first)
|
||
- ✅ **Автоматические SSL сертификаты**
|
||
- ✅ **Health checks и мониторинг**
|
||
|
||
## 🚀 Быстрый старт
|
||
|
||
### Требования
|
||
- Docker 20.10+
|
||
- Docker Compose 2.0+
|
||
- 2 ГБ RAM
|
||
- Порты 80, 443 открыты
|
||
|
||
### Установка
|
||
```bash
|
||
# 1. Клонирование
|
||
git clone <repository>
|
||
cd project
|
||
|
||
# 2. Настройка окружения
|
||
cp .env.example .env
|
||
# Отредактируйте .env файл
|
||
|
||
# 3. Запуск
|
||
docker-compose up -d
|
||
|
||
# 4. Проверка
|
||
docker-compose ps
|
||
```
|
||
|
||
Сайт будет доступен по адресу: **https://ваш-домен**
|
||
|
||
## 📁 Структура проекта
|
||
|
||
```
|
||
├── BB/ # Бегущий Башкир
|
||
│ ├── api_bb/ # Go API сервер
|
||
│ └── bbvue/ # Vue.js фронтенд
|
||
├── nginx/ # Веб-сервер
|
||
├── certbot/ # SSL сертификаты
|
||
├── valitovgaziz/analytics/ # Аналитика
|
||
└── docker-compose.yml # Оркестрация
|
||
```
|
||
|
||
## 🔧 Технологический стек
|
||
|
||
**Backend:**
|
||
- Go 1.25+ (Chi, GORM, JWT)
|
||
- PostgreSQL 15
|
||
- Node.js (аналитика)
|
||
|
||
**Frontend:**
|
||
- Vue 3 (Composition API)
|
||
- Pinia (state management)
|
||
- Vue Router
|
||
- Vite
|
||
|
||
**Инфраструктура:**
|
||
- Docker & Docker Compose
|
||
- Nginx (обратный прокси)
|
||
- Certbot (Let's Encrypt)
|
||
|
||
## 📡 API Endpoints
|
||
|
||
```
|
||
GET /api/health # Проверка здоровья
|
||
POST /api/auth/register # Регистрация
|
||
POST /api/auth/login # Вход
|
||
GET /api/user/workouts # Тренировки пользователя
|
||
POST /api/events/register # Регистрация на событие
|
||
GET /api/achievements # Достижения
|
||
```
|
||
|
||
Полная документация API: [docs/api.md](docs/api.md)
|
||
|
||
## 🛠️ Разработка
|
||
|
||
```bash
|
||
# Запуск в режиме разработки
|
||
docker-compose -f docker-compose.dev.yml up
|
||
|
||
# Просмотр логов
|
||
docker-compose logs -f api_bb
|
||
|
||
# Остановка
|
||
docker-compose down
|
||
|
||
# Полная очистка
|
||
docker-compose down -v
|
||
```
|
||
|
||
## 📊 Мониторинг
|
||
|
||
- **Health checks:** `GET /api/health`
|
||
- **Статус сервисов:** `docker-compose ps`
|
||
- **Логи в реальном времени:** `docker-compose logs -f`
|
||
- **Использование ресурсов:** `docker stats`
|
||
|
||
## 🔒 Безопасность
|
||
|
||
- JWT аутентификация
|
||
- HTTPS (автоматические SSL)
|
||
- Хеширование паролей (bcrypt)
|
||
- Защита от SQL-инъекций
|
||
- CORS политики
|
||
- Валидация входных данных
|
||
|
||
## 🤝 Вклад в проект
|
||
|
||
1. Форкните репозиторий
|
||
2. Создайте ветку для фичи (`git checkout -b feature/amazing`)
|
||
3. Закоммитьте изменения (`git commit -m 'Add amazing feature'`)
|
||
4. Запушьте в ветку (`git push origin feature/amazing`)
|
||
5. Откройте Pull Request
|
||
|
||
## 📞 Контакты
|
||
|
||
- **Сайт:** [begushiybashkir.ru](https://begushiybashkir.ru)
|
||
- **Тренер:** +7 (927) 30-93-095
|
||
- **Telegram:** @begushiybashkir
|
||
- **Email:** zog1r@mail.ru
|
||
|
||
## 📄 Лицензия
|
||
|
||
Проект использует смешанные лицензии в зависимости от компонентов. Подробнее в файлах LICENSE соответствующих директорий.
|
||
|
||
## 🙏 Благодарности
|
||
|
||
- Команде разработчиков
|
||
- Участникам бегового клуба
|
||
- Сообществу Open Source
|
||
|
||
---
|
||
|
||
**🏆 Беги вместе с нами!**
|
||
**🏃♂️ Бегущий Башкир — больше чем бег, это образ жизни!**
|
||
|
||
---
|
||
*Обновлено: Декабрь 2025 | Версия: 1.0* |