# Конфігурація проєкту

## Огляд проєкту
- **Назва**: Платформа електронної комерції
- **Технологічний стек**: Node.js, PostgreSQL, React 18, Docker
- **Розмір команди**: 5 розробників
- **Дедлайн**: Q4 2025

## Архітектура
@docs/architecture.md
@docs/api-standards.md
@docs/database-schema.md

## Стандарти розробки

### Стиль коду
- Використовувати Prettier для форматування
- Використовувати ESLint з конфігурацією airbnb
- Максимальна довжина рядка: 100 символів
- Використовувати відступ 2 пробіли

### Конвенції іменування
- **Файли**: kebab-case (user-controller.js)
- **Класи**: PascalCase (UserService)
- **Функції/Змінні**: camelCase (getUserById)
- **Константи**: UPPER_SNAKE_CASE (API_BASE_URL)
- **Таблиці БД**: snake_case (user_accounts)

### Git-процес
- Назви гілок: `feature/description` або `fix/description`
- Повідомлення комітів: дотримуватися conventional commits
- PR обовʼязковий перед злиттям
- Усі CI/CD перевірки мають пройти
- Мінімум 1 затвердження (approval) обовʼязкове

### Вимоги до тестування
- Мінімум 80% покриття коду
- Усі критичні шляхи мають мати тести
- Використовувати Jest для юніт-тестів
- Використовувати Cypress для E2E-тестів
- Назви тестових файлів: `*.test.ts` або `*.spec.ts`

### Стандарти API
- Лише RESTful ендпоінти
- JSON запит/відповідь
- Правильно використовувати HTTP-статус-коди
- Версіонування API-ендпоінтів: `/api/v1/`
- Документувати всі ендпоінти з прикладами

### База даних
- Використовувати міграції для змін схеми
- Ніколи не зашивати облікові дані в код
- Використовувати пул зʼєднань (connection pooling)
- Увімкнути логування запитів у середовищі розробки
- Регулярне резервне копіювання обовʼязкове

### Деплой
- Деплой на основі Docker
- Оркестрація Kubernetes
- Стратегія blue-green деплою
- Автоматичний відкат при невдачі
- Міграції БД виконуються перед деплоєм

## Типові команди

| Команда | Призначення |
|---------|-------------|
| `npm run dev` | Запуск сервера розробки |
| `npm test` | Запуск тестового набору |
| `npm run lint` | Перевірка стилю коду |
| `npm run build` | Збірка для продакшну |
| `npm run migrate` | Запуск міграцій БД |

## Контакти команди
- Техлід: Sarah Chen (@sarah.chen)
- Продакт-менеджер: Mike Johnson (@mike.j)
- DevOps: Alex Kim (@alex.k)

## Відомі проблеми та обхідні рішення
- Пул зʼєднань PostgreSQL обмежений до 20 у пікові години
- Обхідне рішення: реалізувати чергу запитів
- Проблеми сумісності Safari 14 з async generators
- Обхідне рішення: використовувати транспілятор Babel

## Повʼязані проєкти
- Аналітична панель: `/projects/analytics`
- Мобільний додаток: `/projects/mobile`
- Адмін-панель: `/projects/admin`

---
**Останнє оновлення**: 9 квітня 2026
