Руководство по установке
Добро пожаловать на нашу платформу. Это руководство поможет вам настроить и начать использовать все доступные инструменты и функции.
Системные требования
Поддерживаемые браузеры
- Chrome 90+
- Firefox 88+
- Safari 14+
- Edge 90+
Мобильные устройства
- iOS 14+
- Android 8+
- Современные мобильные браузеры
Требования к сети
- Стабильное интернет-соединение
- Минимальная пропускная способность: 1 Мбит/с
- Рекомендуется: 5+ Мбит/с для лучшего опыта
Локальная установка (разработчики)
Предварительные требования
- Node.js 18.0+
- pnpm 8.0+
- Git 2.30+
Шаги установки
- Клонировать репозиторий
git clone https://github.com/your-org/woker-job.git cd woker-job
- Установить зависимости
pnpm install
- Настроить переменные окружения
cp .env.example .env # Отредактировать .env с вашими настройками
- Запустить сервисы
# Запустить backend pnpm --filter back-end dev # В другом терминале запустить frontend pnpm --filter web dev
- Проверить установку
- Backend: http://localhost:3000
- Frontend: http://localhost:3001
Конфигурация разработки
Структура проекта
woker-job/
├── apps/
│ ├── back-end/ # API NestJS
│ └── web/ # Frontend Nuxt.js
├── packages/ # Общие пакеты
└── docs/ # Документация
Доступные скрипты
# Разработка
pnpm dev # Запустить все сервисы
pnpm build # Сборка для продакшена
pnpm test # Запустить тесты
pnpm lint # Проверить код
# Управление контентом
pnpm content:check # Проверить синхронизацию многоязычного контента
pnpm content:init # Инициализировать структуру языка
Конфигурация продакшена
Docker (рекомендуется)
# Собрать образ
docker build -t woker-job .
# Запустить контейнер
docker run -p 3000:3000 woker-job
Ручной деплой
- Собрать приложение
pnpm build
- Настроить сервер
- Node.js 18+
- PM2 или аналогичный для управления процессами
- Nginx для обратного прокси
- Переменные окружения продакшена
NODE_ENV=production DATABASE_URL=your_database_url JWT_SECRET=your_jwt_secret
Конфигурация базы данных
PostgreSQL (рекомендуется)
# Установить PostgreSQL
sudo apt-get install postgresql postgresql-contrib
# Создать базу данных
sudo -u postgres createdb woker_job
# Запустить миграции
pnpm migration:run
SQLite (разработка)
# Настроить в .env
DATABASE_URL="file:./dev.db"
Конфигурация аутентификации
OAuth 2.0
- Настроить провайдеров
- Google OAuth
- GitHub OAuth
- Microsoft OAuth
- Переменные окружения
GOOGLE_CLIENT_ID=your_google_client_id GOOGLE_CLIENT_SECRET=your_google_client_secret GITHUB_CLIENT_ID=your_github_client_id GITHUB_CLIENT_SECRET=your_github_client_secret
JWT
JWT_SECRET=your_jwt_secret_key
JWT_EXPIRES_IN=7d
Конфигурация электронной почты
SMTP
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your_email@gmail.com
SMTP_PASS=your_app_password
Сервисы электронной почты
- SendGrid: Для массовой рассылки
- Mailgun: Для транзакционной почты
- AWS SES: Для масштабируемости
Конфигурация хранилища
Локальное
STORAGE_TYPE=local
STORAGE_PATH=./uploads
Облачное хранилище
# AWS S3
STORAGE_TYPE=s3
AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
AWS_REGION=us-east-1
AWS_BUCKET=your_bucket_name
# Google Cloud Storage
STORAGE_TYPE=gcs
GCS_PROJECT_ID=your_project_id
GCS_BUCKET=your_bucket_name
Конфигурация мониторинга
Логи
LOG_LEVEL=info
LOG_FORMAT=json
Метрики
- Prometheus: Для метрик системы
- Grafana: Для визуализации
- Sentry: Для мониторинга ошибок
Конфигурация безопасности
HTTPS
# Генерировать SSL сертификаты
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
Заголовки безопасности
// Настроить в Nuxt.js
export default {
serverMiddleware: [{ path: '/api', handler: '~/server-middleware/security.js' }],
};
Конфигурация кэша
Redis
REDIS_URL=redis://localhost:6379
REDIS_PASSWORD=your_redis_password
Конфигурация кэша
// Настроить в NestJS
import { CacheModule } from '@nestjs/cache-manager';
import { redisStore } from 'cache-manager-redis-store';
CacheModule.register({
store: redisStore,
host: 'localhost',
port: 6379,
});
Конфигурация очереди задач
Bull Queue
REDIS_URL=redis://localhost:6379
QUEUE_PREFIX=woker-job
Конфигурация очереди
// Настроить в NestJS
import { BullModule } from '@nestjs/bull';
BullModule.registerQueue({
name: 'email',
redis: {
host: 'localhost',
port: 6379,
},
});
Проверка установки
Автоматические тесты
# Модульные тесты
pnpm test:unit
# Интеграционные тесты
pnpm test:integration
# End-to-end тесты
pnpm test:e2e
Ручная проверка
- Проверить API
curl http://localhost:3000/health
- Проверить Frontend
- Открыть http://localhost:3001
- Убедиться, что все страницы загружаются
- Протестировать базовые функции
- Проверить базу данных
pnpm db:test
Устранение неполадок
Общие проблемы
Ошибка порта занят
# Найти процесс, использующий порт
lsof -i :3000
# Завершить процесс
kill -9 <PID>
Ошибка зависимостей
# Очистить кэш
pnpm store prune
# Переустановить зависимости
rm -rf node_modules
pnpm install
Ошибка базы данных
# Проверить соединение
pnpm db:ping
# Сбросить базу данных
pnpm db:reset
Логи отладки
# Просмотр логов в реальном времени
pnpm logs
# Просмотр конкретных логов
pnpm logs:api
pnpm logs:web
Обновления
Автоматическое обновление
# Обновить зависимости
pnpm update
# Обновить приложение
git pull origin main
pnpm install
pnpm build
Миграции базы данных
# Генерировать миграцию
pnpm migration:generate
# Запустить миграции
pnpm migration:run
# Откатить миграцию
pnpm migration:revert
Поддержка
Ресурсы помощи
Контакт
- Email: support@example.com
- Техническая поддержка: tech@example.com
- Коммерческий: sales@example.com
Следующие шаги
- Настроить домен
- Настроить DNS
- Настроить SSL
- Настроить CDN
- Настроить мониторинг
- Настроить оповещения
- Настроить дашборды
- Настроить резервное копирование
- Настроить масштабируемость
- Настроить балансировщик нагрузки
- Настроить автоскейлинг
- Настроить микросервисы
Последнее обновление: Декабрь 2024 Версия: 1.0.0