4.42M

Интернет_магазин_женских_аксессуаров

1.

УЧЕБНАЯ ПРАКТИКА УП.11
Интернет-магазин женских аксессуаров
Backend-разработка веб-ресурса
Доломанжи Иван | 3 курс | 315 группа
ГОУ СПО «Тираспольский техникум информатики и права»
Специальность 2.09.02.07 Информационные системы и программирование
2026

2.

СОДЕРЖАНИЕ
Содержание
01
02
03
04
Анализ и проектирование
Архитектура и моделирование
Разработка приложения
Тестирование и результаты
Сбор требований, проектирование
Выбор архитектурного подхода и
Реализация бизнес-логики,
Проверка работоспособности и
базы данных и структуры системы
разработка моделей системы
интеграция с БД и создание API
итоги разработки
2

3.

01
Анализ и проектирование
Сбор требований, проектирование базы данных и структуры системы
3

4.

01 АНАЛИЗ И ПРОЕКТИРОВАНИЕ
02 АРХИТЕКТУРА
03 РАЗРАБОТКА
04 ТЕСТИРОВАНИЕ
Цели и задачи проекта
Цель: создать backend веб-ресурс для интернет-магазина женских
аксессуаров.
Функционал системы:
Задачи практики
1. Разработка концептуальной, даталогической и физической моделей
БД
• Каталог товаров: сумки, украшения, шарфы, ремни, очки
2. Проектирование схемы базы данных
• Регистрация и авторизация пользователей
3. Обзор и выбор архитектуры ПО
• Корзина и оформление заказов
• Управление ассортиментом для администраторов
4. Разработка модельного и сервисного слоёв
5. Миграции и реализация контроллеров
6. Тестирование программного продукта
• Поиск, фильтрация, отзывы и оценки
Предметная область: интернет-магазин специализируется на продаже женских аксессуаров — сумок, украшений, шарфов, ремней, очков и других модных
дополнений.
4

5.

01 АНАЛИЗ И ПРОЕКТИРОВАНИЕ
02 АРХИТЕКТУРА
03 РАЗРАБОТКА
04 ТЕСТИРОВАНИЕ
Проектирование базы данных
Таблица
Назначение
Ключевые поля
Товары
Данные об аксессуарах
название, описание, цена, наличие, статус
Покупатели
Информация о клиентах
имя, email, история покупок, статус
Категории
Типы аксессуаров
сумки, украшения, ремни, платки, часы
Заказы
Учёт оформленных покупок
дата, сумма, статус доставки, адрес
Инструмент проектирования: Draw IO
Все таблицы связаны между собой с помощью первичных и внешних ключей, что обеспечивает:
• Быстрый доступ к информации и её анализ
• Оптимизацию процессов поиска товаров и обновления остатков
• Анализ покупательских предпочтений для персонализации
5

6.

02
Архитектура и моделирование
Выбор архитектурного подхода и разработка моделей системы
6

7.

01 АНАЛИЗ
02 АРХИТЕКТУРА И МОДЕЛИРОВАНИЕ
03 РАЗРАБОТКА
04 ТЕСТИРОВАНИЕ
Чистая архитектура
Автор: Роберт Мартин (Robert C. Martin)
Преимущества для магазина
Ключевые принципы:
• Высокая модульность и гибкость
• Разделение приложения на независимые слои
• Упрощённое тестирование кода
• Зависимость от абстракций, а не от реализаций
• Изменения в одном слое минимально влияют на другие
• Инверсия зависимостей (DIP)
• Лёгкое масштабирование при росте клиентов
• Разделение UI от бизнес-логики
Presentation Layer
Application Layer
Domain Layer
Infrastructure Layer
Presentation — контроллеры и API endpoints | Application — бизнес-логика и use cases
Domain — сущности и правила предметной области | Infrastructure — БД, внешние сервисы
Зависимости направлены внутрь — внешние слои зависят от внутренних, но не наоборот
7

8.

01 АНАЛИЗ
02 АРХИТЕКТУРА И МОДЕЛИРОВАНИЕ
03 РАЗРАБОТКА
04 ТЕСТИРОВАНИЕ
Диаграмма классов
Диаграмма классов спроектирована в Draw IO и включает основные сущности системы интернет-магазина женских аксессуаров.
Товар (Product)
Покупатель (Customer)
Заказ (Order)
Категория (Category)
• Название, артикул
• Имя, email, телефон
• Дата оформления
• Название категории
• Цена, наличие
• История покупок
• Общая сумма
• Описание
• Материал, бренд
• Уровень лояльности
• Статус доставки
• Родительская категория
• Сезонная коллекция
• Любимые бренды
• Адрес получателя
• Список товаров
• Статус (новинка, sale)
• Ценовой сегмент
• Состав заказа
Дополнительные классы
Платёж (Payment) — сумма, способ оплаты, статус транзакции, дата
Отзыв (Review) — рейтинг, текст отзыва, дата, модерация статуса
Корзина (Cart) — список товаров, промокод, итоговая сумма
Состав заказа (OrderItem) — связь заказа и товаров, количество, цена
8

9.

01 АНАЛИЗ
02 АРХИТЕКТУРА И МОДЕЛИРОВАНИЕ
03 РАЗРАБОТКА
04 ТЕСТИРОВАНИЕ
Модельный слой
Определены основные сущности предметной области и связи между ними для реализации через Entity Framework Core.
Сущности системы
Типы связей между сущностями
• Покупатель (Customer)
Один-ко-многим — категория содержит множество товаров; покупатель может оформить множество
• Товар (Product)
заказов
• Категория (Category)
Многие-ко-многим — заказ включает множество товаров, товар входит в разные заказы (таблица «Состав
• Заказ (Order)
заказа»)
• Платёж, Отзыв, Корзина
Один-к-одному — каждый платёж соответствует одному заказу
Пример модели (C#)
public class Product : IEntity
{
public int Id { get; set; }
[Required] public string Name { get; set; }
public decimal Price { get; set; }
public int Stock { get; set; }
public ProductStatus Status { get; set; }
}
9

10.

03
Разработка приложения
Реализация бизнес-логики, интеграция с БД и создание API
10

11.

01 АНАЛИЗ
02 АРХИТЕКТУРА
03 РАЗРАБОТКА ПРИЛОЖЕНИЯ
04 ТЕСТИРОВАНИЕ
Бизнес-логика приложения
Сервисный слой разработан в Microsoft Visual Studio 2022. Каждый сервис отвечает за конкретную бизнес-операцию.
CatalogService
OrderService
DiscountService
UserService
Управление каталогом товаров и
Формирование заказа из корзины,
Автоматическое применение скидок,
Регистрация, авторизация, управление
категориями, брендами, сезонными
расчёт итоговой стоимости с учётом
акций и накопительной системы
профилем, историей покупок и уровнем
коллекциями
скидок и промокодов, проверка наличия
лояльности
лояльности клиента
Ключевые бизнес-процессы
01 Управление каталогом товаров
06 Система отзывов и рейтингов
02 Обработка заказов и корзины
07 Персонализация рекомендаций
03 Расчёт скидок и акций
08 Модерация контента
04 Обработка платежей
09 Управление клиентами
05 Управление доставкой
10 Аналитика и отчётность
11

12.

01 АНАЛИЗ
02 АРХИТЕКТУРА
03 РАЗРАБОТКА ПРИЛОЖЕНИЯ
04 ТЕСТИРОВАНИЕ
PostgreSQL и Entity Framework Core
PostgreSQL
Entity Framework Core
Объектно-реляционная СУБД с открытым исходным кодом:
ORM-фреймворк для работы с БД:
• Высокая производительность и надёжность
• Объектная модель вместо SQL-запросов
• Соответствие стандартам SQL
• Автоматическое формирование SQL
• Расширяемость и кроссплатформенность
• Независимость от конкретной СУБД
• Администрирование через pgAdmin
• Механизм миграций для обновления схемы
DatabaseContext — связь приложения и БД
public class StoreContext : DbContext
{
public DbSet<Product> Products { get; set; }
public DbSet<Customer> Customers { get; set; }
public DbSet<Order> Orders { get; set; }
protected override void OnModelCreating(ModelBuilder b) =>
b.ApplyConfigurationsFromAssembly(typeof(StoreContext).Assembly);
}
12

13.

01 АНАЛИЗ
02 АРХИТЕКТУРА
03 РАЗРАБОТКА ПРИЛОЖЕНИЯ
04 ТЕСТИРОВАНИЕ
API и контроллеры
API-контроллеры разработаны на ASP.NET Core Web API с использованием Swagger/OpenAPI для документирования.
UserController
ProductController
OrderController
POST /api/users/register
GET /api/products
POST /api/orders
POST /api/users/login
GET /api/products/{id}
GET /api/orders/{id}
GET /api/users/{id}
POST /api/products
GET /api/orders/user/{id}
PUT /api/users/{id}
PUT /api/products/{id}
PUT /api/orders/{id}/status
DELETE /api/users/{id}
DELETE /api/products/{id}
DELETE /api/orders/{id}
JWT-аутентификация
Поиск и фильтрация
Отслеживание статуса
Технологический стек
ASP.NET Core 8 — веб-фреймворк | Swagger/OpenAPI — документирование API
AutoMapper — преобразование DTO | JWT Bearer — аутентификация
Entity Framework Core — ORM | PostgreSQL — система управления базами данных
13

14.

04
Тестирование и результаты
Проверка работоспособности и итоги разработки
14

15.

01 АНАЛИЗ
02 АРХИТЕКТУРА
03 РАЗРАБОТКА
04 ТЕСТИРОВАНИЕ И РЕЗУЛЬТАТЫ
Тестирование приложения
Тестирование проведено с использованием библиотеки XUnit для автоматического тестирования в C# ASP.NET.
#
Сценарий тестирования
Ожидаемый результат
Статус
1
Регистрация нового пользователя
Учётная запись создана
Пройден
2
Авторизация с JWT-токеном
Успешный вход в систему
Пройден
3
Поиск и фильтрация товаров
Корректный список товаров
Пройден
4
Добавление товаров в корзину
Корзина обновлена
Пройден
5
Оформление заказа с промокодом
Заказ создан, скидка применена
Пройден
6
Обработка платежей
Транзакция выполнена
Пройден
7
Написание отзывов и оценок
Отзыв сохранён в системе
Пройден
Результаты: все 7 тестовых сценариев успешно пройдены. Тестирование подтвердило корректность реализации бизнес-логики и работоспособность
разработанного веб-ресурса интернет-магазина женских аксессуаров.
15

16.

01 АНАЛИЗ
02 АРХИТЕКТУРА
03 РАЗРАБОТКА
04 ТЕСТИРОВАНИЕ И РЕЗУЛЬТАТЫ
Заключение
В результате выполнения индивидуального задания разработана серверная часть интернет-магазина женских аксессуаров.
01
02
03
Концептуальная, даталогическая и физическая модели
Чистая архитектура с разделением на независимые
Модельный и сервисный слои с бизнес-логикой
базы данных
слои
04
05
06
Интеграция с PostgreSQL через Entity Framework Core
API-контроллеры с JWT-аутентификацией и Swagger
Система тестирования (XUnit), все тесты пройдены
Вывод: полученный программный продукт соответствует поставленным требованиям, обладает возможностью дальнейшего развития и может использоваться
как основа для полнофункциональной платформы электронной коммерции.
16

17.

Спасибо за внимание
Интернет-магазин женских аксессуаров
Доломанжи Иван | 3 курс | 315 группа
ГОУ СПО «Тираспольский техникум информатики и права»
Специальность 2.09.02.07 Информационные системы и программирование
2026
English     Русский Rules