Skip to content

Instantly share code, notes, and snippets.

@sunmeat
Created January 30, 2026 14:42
Show Gist options
  • Select an option

  • Save sunmeat/db7033e5d5ac357533d630409aa08c12 to your computer and use it in GitHub Desktop.

Select an option

Save sunmeat/db7033e5d5ac357533d630409aa08c12 to your computer and use it in GitHub Desktop.
приклад SRS

Software Requirements Specification (SRS)

Проєкт: OLX NextGen — модернізація платформи OLX.ua
Версія: 1.0
Дата: 30 січня 2026
Автор: Загоруйко Олександр Батькович
Затверджено: Міндіч Наталія Олегівна

1. Вступ

1.1. Мета документа
Цей документ описує повний набір функціональних та нефункціональних вимог до системи OLX NextGen. Він є основою для розробки, тестування, приймання та подальшої підтримки продукту.

1.2. Обсяг продукту
OLX NextGen — це оновлена веб-платформа (з акцентом на мобільну версію як PWA), яка включає:

  • Швидкий та персоналізований інтерфейс
  • AI-рекомендації оголошень
  • Покращену систему монетизації
  • Посилену безпеку та стабільність під високим навантаженням

1.3. Визначення, акроніми

  • PWA — Progressive Web App
  • AI/ML — штучний інтелект / машинне навчання
  • ARPU — Average Revenue Per User
  • DAU — Daily Active Users
  • Core Web Vitals — метрики Google (LCP, FID, CLS)

2. Загальний опис

2.1. Перспектива продукту
OLX NextGen — еволюція поточної платформи OLX.ua з фокусом на мобільний досвід, персоналізацію та монетизацію.

2.2. Класи користувачів

  • Гість (неавторизований)
  • Приватний користувач (продавець/покупець)
  • Бізнес-користувач (магазини, автосалони тощо)
  • Модератор / підтримка
  • Адміністратор системи

2.3. Операційне середовище

  • Браузери: Chrome, Safari, Firefox, Edge (останні 2 версії)
  • Мобільні ОС: iOS 15+, Android 10+
  • Сервер: AWS / GCP, Kubernetes, PostgreSQL + Redis + Elasticsearch
  • Мови інтерфейсу: українська, російська

2.4. Обмеження дизайну та реалізації

  • Використовувати React + Next.js (фронтенд)
  • Бекенд — Node.js / Python (FastAPI)
  • ML-моделі — TensorFlow / PyTorch, інтеграція через API
  • Без зміни базової бази даних (PostgreSQL)

3. Функціональні вимоги

3.1. Авторизація та реєстрація
FR-01: Користувач може зареєструватися через email/телефон + пароль або через Google/Facebook.
FR-02: Підтримка двофакторної автентифікації (2FA) для бізнес-акаунтів.
FR-03: Відновлення пароля через email/SMS.

3.2. Публікація оголошення
FR-04: Створення оголошення з фото/відео (до 20 фото, 1 відео до 60 с).
FR-05: Автоматична категоріязація та підказки тегів за допомогою ML.
FR-06: Преміум-опції: підняття, топ-позиція, виділення кольором.

3.3. Пошук та рекомендації
FR-07: Розширений пошук з фільтрами (ціна, регіон, стан, доставка).
FR-08: Персоналізований блок «Для вас» на головній сторінці (AI-рекомендації).
FR-09: Збереження пошукових запитів та сповіщення про нові оголошення.

3.4. Монетизація
FR-10: Покупка преміум-пакетів через LiqPay/Fondy (картки, Apple Pay, Google Pay).
FR-11: Система бустингу оголошень (1–30 днів).
FR-12: Підписки для бізнес-користувачів (безліміт оголошень, аналітика).

3.5. Модерація та антифрод
FR-13: Автоматична попередня модерація (ML для виявлення спаму/дублів).
FR-14: Ручна модерація критичних категорій (авто, нерухомість).
FR-15: Блокування акаунтів за порушення (з поясненням причини).

3.6. Мобільний досвід (PWA)
FR-16: Повноцінна робота офлайн (перегляд збережених оголошень).
FR-17: Push-сповіщення про нові повідомлення/оголошення.

4. Нефункціональні вимоги

4.1. Продуктивність
NFR-01: Час завантаження сторінки < 2 с (LCP < 2.5 с) на 3G.
NFR-02: Система витримує 500 000 одночасних користувачів (пікове навантаження).

4.2. Надійність та доступність
NFR-03: Uptime 99.9% (SLA).
NFR-04: RTO < 15 хв, RPO < 5 хв (відновлення після збою).

4.3. Безпека
NFR-05: Захист від OWASP Top 10 (SQLi, XSS, CSRF тощо).
NFR-06: Шифрування персональних даних (GDPR/Закон України про ЗПД).
NFR-07: Регулярний пентест (щоквартально).

4.4. Масштабованість
NFR-08: Горизонтальне масштабування фронтенду та бекенду.
NFR-09: Автоскейлінг під навантаженням.

4.5. Інтерфейс та зручність
NFR-10: Адаптивний дизайн для екранів від 320 px.
NFR-11: Доступність (WCAG 2.1 AA).

4.6. Тестування
NFR-12: Покриття автотестами > 80% критичних шляхів.
NFR-13: Нагрузочне тестування перед кожним релізом.

5. Додатки

A. Словник термінів

  • Бустинг — тимчасове підняття оголошення в пошуку.
  • PWA — веб-додаток, що працює як нативний.
  • Core Web Vitals — метрики Google для якості UX.

B. Діаграми
(Тут у реальному документі додаються: Use Case Diagram, Data Flow Diagram, ER-діаграма тощо)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment