TradeHub – торгова площадка для купівлі та продажу товарів, натхненна платформами типу Monobazar / OLX.
MarketMasters
- Алекс (Alex) – Product Owner, розробник backend (контролери, бази даних).
- Іван Петренко – Scrum Master, розробник frontend (представлення, інтерфейс).
- Марія Сидоренко – Розробник (тестування, документація).
- Сергій Коваль – Розробник (інтеграції, аутентифікація).
Створити веб-додаток на базі ASP.NET Core, який дозволяє користувачам реєструватися, купувати та продавати товари. Додаток повинен забезпечувати зручний інтерфейс для перегляду товарів, пошуку, управління кошиком, оформлення замовлень, керування запасами для продавців та систему відгуків. Проект реалізується в рамках курсового командного проекту для груп П35 / СПР-411 з використанням методології SCRUM.
- Початок: 21 лютого 2026 року.
- Завершення: 1 квітня 2026 року (згідно з планом підготовки до захисту).
- Захист: Для групи П35 – 25 березня 2026 року; для СПР-411 – 2 травня 2026 року.
- 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 для логування.
- Гість: Перегляд товарів, пошук, реєстрація/логін.
- Покупець: Додавання товарів у кошик, оформлення покупок, перегляд історії замовлень, залишення відгуків.
- Продавець: Розміщення товарів, керування запасами, відповіді на запити покупців.
- Адміністратор (опціонально): Модерація контенту, управління користувачами.
- Відображення списку представлених товарів (з фото, назвою, ціною, коротким описом).
- Фільтри: за категоріями, популярністю, новизною.
- Пагінація для великих списків.
- Сторінка пошуку з полем вводу.
- Підтримка ключових слів, фільтрів (ціна, категорія, локація).
- Відображення результатів у форматі списку або сітки.
- Реєстрація: Email, пароль, ім'я, контактні дані.
- Логін/Логаут.
- Відновлення паролю.
- Авторизація: Доступ до функцій тільки для авторизованих користувачів (наприклад, покупка/продаж).
- Використання ASP.NET Identity для управління ролями.
- Форма для додавання товару: Назва, опис, фото, ціна, кількість на складі, категорія.
- Редагування/видалення власних товарів.
- Керування запасами: Оновлення кількості, маркування як "продано".
- Відповіді на запити покупців (через повідомлення або коментарі).
- Додавання/видалення товарів у кошик.
- Перегляд кошика з підсумковою сумою.
- Оформлення замовлення: Введення адреси доставки, вибір методу оплати.
- Інтеграція з платіжними системами (наприклад, Stripe або LiqPay для безпечних платежів) – обробка платежу з callback.
- Перегляд історії замовлень (статус: в обробці, відправлено, завершено).
- Залишення відгуків: Оцінка (1-5 зірок), текстовий коментар.
- Відображення середньої оцінки продавця на сторінці товару.
- Система повідомлень: Для спілкування між покупцями та продавцями.
- Фільтри та сортування: За ціною, рейтингом, датою.
- Опціонально: Інтеграція з email-сервісами для сповіщень (наприклад, SendGrid).
- HomeController: Обробка домашньої сторінки, списку товарів.
- SearchController: Обробка пошуку.
- AccountController: Реєстрація, логін, управління профілем.
- ProductController: Додавання, редагування, перегляд деталей товарів.
- CartController: Управління кошиком.
- OrderController: Оформлення та історія замовлень.
- ReviewController: Управління відгуками.
- InventoryController: Керування запасами для продавців.
- Представлення: Razor Views для кожного контролера (наприклад, Index.cshtml для списку, Details.cshtml для деталей).
- Час відповіді на запити: Менше 2 секунд.
- Підтримка до 100 одночасних користувачів (на локальному сервері).
- Захист від SQL-ін'єкцій, XSS (використання вбудованих засобів ASP.NET).
- HTTPS для всіх сторінок.
- Валідування вводу на клієнті та сервері.
- Модульна структура для легкого додавання функцій.
- Використання репозиторіїв та сервісів для абстракції.
- Юніт-тести: Покриття ключових методів (CRUD, бізнес-логіка).
- Інтеграційне тестування: API ендпоінти.
- Ручне тестування: Інтерфейс користувача.
- Технічна: UML-діаграми (класи, послідовності), опис API.
- Користувацька: Інструкція з використання (README.md).
- Публікація на GitHub Pages.
- Шарова архітектура: Presentation (MVC), Business Logic (Services), Data Access (EF Core Repositories).
- Патерни: Repository, Unit of Work, Dependency Injection.
- UML-діаграми: Класи (Product, User, Order), послідовності (оформлення замовлення).
- Ризики: Затримки з інтеграцією платежів, проблеми з базою даних.
- Залежності: Доступ до API платіжних систем, стабільність хостингу.
Проект реалізується за планом підготовки (SCRUM-спринти по тижнях):
- Тиждень 1: Затверджено ТЗ.
- Тиждень 2: Архітектура, базова структура.
- Тиждень 3: База даних, CRUD.
- Тиждень 4: Інтерфейс, основний функціонал.
- Тиждень 5: Додаткові функції, тестування.
- Тиждень 6: Документація, оптимізація.
- Тиждень 7: Підготовка до презентації.
- Всі функціональні вимоги реалізовані.
- Проект задеплоєний і працює без критичних помилок.
- Документація повна.
- Успішне проходження тестів.
ТЗ затверджено командою MarketMasters 21 лютого 2026 року.