Перейти к содержанию

Нефункциональные требования

NFR1: Архитектура и технологии

  • Бэкенд:
    • Java/Kotlin + Spring Boot
    • Сборка: Maven
  • Фронтенд:
    • JavaScript (фреймворк на выбор)
  • СУБД:
    • PostgreSQL (продакшен), H2 (тестирование)
  • Контейнеризация:
    • Docker + Kubernetes (k8s)

NFR2: Поисковые системы

  • Реализация полнотекстового поиска через:
    1. PostgreSQL FTS
    2. Алгоритмы BM25/TF-IDF
    3. OpenSearch/ElasticSearch

NFR3: Производительность

  • Обработка дампа данных ~1 ТБ
  • Поддержка высоких нагрузок:
  • Поисковые запросы
  • Параллельная работа с контентом

NFR4: Безопасность

  • Интеграция с корпоративной системой аутентификации
  • Защита данных при импорте/экспорте
  • Контроль доступа к операциям (голосование, комментирование)

NFR5: Масштабируемость

  • Развертывание в Kubernetes
  • Поддержка горизонтального масштабирования
  • Оптимизация работы с большими объемами данных

NFR6: Интеграция

  • Встраивание функционала в корпоративный портал
  • Интеграция с системой аутентификации портала