Skip to content

Instantly share code, notes, and snippets.

@sunmeat
Created February 21, 2026 10:12
Show Gist options
  • Select an option

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

Select an option

Save sunmeat/adf52a0999cb7a87014f3c23e1de247f to your computer and use it in GitHub Desktop.
ТЗ

Технічне завдання на розробку веб-додатку "TradeHub"

1. Загальна інформація

1.1. Назва проекту

TradeHub – торгова площадка для купівлі та продажу товарів, натхненна платформами типу Monobazar / OLX.

1.2. Назва команди

MarketMasters

1.3. Список учасників команди

  • Алекс (Alex) – Product Owner, розробник backend (контролери, бази даних).
  • Іван Петренко – Scrum Master, розробник frontend (представлення, інтерфейс).
  • Марія Сидоренко – Розробник (тестування, документація).
  • Сергій Коваль – Розробник (інтеграції, аутентифікація).

1.4. Мета проекту

Створити веб-додаток на базі ASP.NET Core, який дозволяє користувачам реєструватися, купувати та продавати товари. Додаток повинен забезпечувати зручний інтерфейс для перегляду товарів, пошуку, управління кошиком, оформлення замовлень, керування запасами для продавців та систему відгуків. Проект реалізується в рамках курсового командного проекту для груп П35 / СПР-411 з використанням методології SCRUM.

1.5. Терміни розробки

  • Початок: 21 лютого 2026 року.
  • Завершення: 1 квітня 2026 року (згідно з планом підготовки до захисту).
  • Захист: Для групи П35 – 25 березня 2026 року; для СПР-411 – 2 травня 2026 року.

1.6. Технологічний стек

  • Backend: ASP.NET Core (MVC або Razor Pages).
  • База даних: SQL Server з Entity Framework Core (Code First підхід).
  • Frontend: HTML/CSS/JavaScript, Bootstrap для стилізації.
  • Аутентифікація: ASP.NET Identity.
  • Тестування: NUnit для юніт-тестів.
  • Інструменти управління: YouTrack / Jira / Trello для канбан-дошки.
  • Деплой: Azure або локальний сервер (IIS).
  • Додаткові бібліотеки: AutoMapper для мапінгу, Serilog для логування.

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

2.1. Користувацькі ролі

  • Гість: Перегляд товарів, пошук, реєстрація/логін.
  • Покупець: Додавання товарів у кошик, оформлення покупок, перегляд історії замовлень, залишення відгуків.
  • Продавець: Розміщення товарів, керування запасами, відповіді на запити покупців.
  • Адміністратор (опціонально): Модерація контенту, управління користувачами.

2.2. Основні модулі та функціональність

2.2.1. Домашня сторінка

  • Відображення списку представлених товарів (з фото, назвою, ціною, коротким описом).
  • Фільтри: за категоріями, популярністю, новизною.
  • Пагінація для великих списків.

2.2.2. Пошук товарів

  • Сторінка пошуку з полем вводу.
  • Підтримка ключових слів, фільтрів (ціна, категорія, локація).
  • Відображення результатів у форматі списку або сітки.

2.2.3. Аутентифікація та авторизація

  • Реєстрація: Email, пароль, ім'я, контактні дані.
  • Логін/Логаут.
  • Відновлення паролю.
  • Авторизація: Доступ до функцій тільки для авторизованих користувачів (наприклад, покупка/продаж).
  • Використання ASP.NET Identity для управління ролями.

2.2.4. Розміщення та управління товарами (для продавців)

  • Форма для додавання товару: Назва, опис, фото, ціна, кількість на складі, категорія.
  • Редагування/видалення власних товарів.
  • Керування запасами: Оновлення кількості, маркування як "продано".
  • Відповіді на запити покупців (через повідомлення або коментарі).

2.2.5. Кошик та оформлення замовлень (для покупців)

  • Додавання/видалення товарів у кошик.
  • Перегляд кошика з підсумковою сумою.
  • Оформлення замовлення: Введення адреси доставки, вибір методу оплати.
  • Інтеграція з платіжними системами (наприклад, Stripe або LiqPay для безпечних платежів) – обробка платежу з callback.

2.2.6. Історія замовлень та відгуки

  • Перегляд історії замовлень (статус: в обробці, відправлено, завершено).
  • Залишення відгуків: Оцінка (1-5 зірок), текстовий коментар.
  • Відображення середньої оцінки продавця на сторінці товару.

2.2.7. Додаткові функції

  • Система повідомлень: Для спілкування між покупцями та продавцями.
  • Фільтри та сортування: За ціною, рейтингом, датою.
  • Опціонально: Інтеграція з email-сервісами для сповіщень (наприклад, SendGrid).

2.3. Контролери та представлення

  • HomeController: Обробка домашньої сторінки, списку товарів.
  • SearchController: Обробка пошуку.
  • AccountController: Реєстрація, логін, управління профілем.
  • ProductController: Додавання, редагування, перегляд деталей товарів.
  • CartController: Управління кошиком.
  • OrderController: Оформлення та історія замовлень.
  • ReviewController: Управління відгуками.
  • InventoryController: Керування запасами для продавців.
  • Представлення: Razor Views для кожного контролера (наприклад, Index.cshtml для списку, Details.cshtml для деталей).

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

3.1. Продуктивність

  • Час відповіді на запити: Менше 2 секунд.
  • Підтримка до 100 одночасних користувачів (на локальному сервері).

3.2. Безпека

  • Захист від SQL-ін'єкцій, XSS (використання вбудованих засобів ASP.NET).
  • HTTPS для всіх сторінок.
  • Валідування вводу на клієнті та сервері.

3.3. Масштабованість

  • Модульна структура для легкого додавання функцій.
  • Використання репозиторіїв та сервісів для абстракції.

3.4. Тестування

  • Юніт-тести: Покриття ключових методів (CRUD, бізнес-логіка).
  • Інтеграційне тестування: API ендпоінти.
  • Ручне тестування: Інтерфейс користувача.

3.5. Документація

  • Технічна: UML-діаграми (класи, послідовності), опис API.
  • Користувацька: Інструкція з використання (README.md).
  • Публікація на GitHub Pages.

4. Архітектура системи

  • Шарова архітектура: Presentation (MVC), Business Logic (Services), Data Access (EF Core Repositories).
  • Патерни: Repository, Unit of Work, Dependency Injection.
  • UML-діаграми: Класи (Product, User, Order), послідовності (оформлення замовлення).

5. Ризики та залежності

  • Ризики: Затримки з інтеграцією платежів, проблеми з базою даних.
  • Залежності: Доступ до API платіжних систем, стабільність хостингу.

6. План робіт

Проект реалізується за планом підготовки (SCRUM-спринти по тижнях):

  • Тиждень 1: Затверджено ТЗ.
  • Тиждень 2: Архітектура, базова структура.
  • Тиждень 3: База даних, CRUD.
  • Тиждень 4: Інтерфейс, основний функціонал.
  • Тиждень 5: Додаткові функції, тестування.
  • Тиждень 6: Документація, оптимізація.
  • Тиждень 7: Підготовка до презентації.

7. Критерії приймання

  • Всі функціональні вимоги реалізовані.
  • Проект задеплоєний і працює без критичних помилок.
  • Документація повна.
  • Успішне проходження тестів.

ТЗ затверджено командою MarketMasters 21 лютого 2026 року.

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