Таким образом, сегодня тема проекта является одной из самых актуальных. В связи с быстрыми изменениями на рынке информационных технологий интернет-магазины требуют современных решений. Микросервисы в этом случае являются основой для расширения и совершенствования их функций, внедрения инновационных средств.
Целью выпускной квалификационной работы является разработка интернет-магазина виниловых пластинок «Runes» с использованием микросервисного подхода к созданию приложения. Стандартный функционал интернет-магазина должен содержать: форму авторизации и регистрации пользователей, каталог, корзину покупок, поиск по сайту, отбор по критериям, модуль оформления заказов.
Предметная область выбрана неслучайно: последние несколько лет наблюдается рост спроса на виниловые пластинки. Этому поспособствовало несколько причин: учреждение Дня музыкального магазина, когда устраиваются концерты и продаются эксклюзивные музыкальные записи; желание покупателей ощущать себя частью музыки, то есть прикасаться к пластинке, ухаживать за ее состоянием; уникальность звучания за счет легкого фонового шуршания, что придает музыке живости. Винил переживает эпоху возрождения – теперь для его создания используются новые технологии, облегчающие производство пластинок и улучшающие качество носителя.
Из сказанного выше можно сделать вывод, что интернет-магазин по продаже виниловых пластинок является специализированным, узконаправленным, так как главным его отличием является удовлетворение специфических потребностей покупателей с учетом того, что их количество по сравнению с другими секторами электронной торговли невелико. Следует отметить, что между магазинами виниловых пластинок практически нет конкуренции: у каждого представлен свой особенный ассортимент, который по большей части не пересекается.
Для достижения описанной цели были поставлены следующие задачи:
1. Анализ предметной области
2. Анализ современных средств создания интернет-магазинов
3. Изучение технической документации фреймворков, микросервисной архитектуры
4. Изучение IIS (Internet Information Services) для разворачивания микросервисов
5. Разработка структуры базы данных информационной системы
6. Разработка микросервиса каталога
7. Разработка микросервиса корзины и заказов
8. Разработка микросервиса аутентификации
9. Разработка интерфейса веб-приложения информационной системы
Объектом исследования является интернет-магазин, предметом – методы разработки информационных систем. В первом разделе дипломного проекта рассмотрен микросервисный подход к созданию архитектуры приложения, его преимущества и недостатки. Во втором разделе – основные термины и положения, среда разработки, стек технологий и инструментов. Третий раздел включает в себя реализацию программного продукта на основе ранее рассмотренной информации. В нем описана структура базы данных и пользовательского интерфейса, приведен процесс разработки с описанием полей, методов и подключаемых библиотек. В заключении были рассмотрены результаты выпускной квалификационной работы. В приложении представлен код основных функциональных блоков на языках C# и TypeScript, HTML и CSS (Cascading Style Sheets).
ПЕРЕЧЕНЬ СОКРАЩЕНИЙ И ОБОЗНАЧЕНИЙ 3
ВВЕДЕНИЕ 4
1 Микросервисная архитектура 9
2 Стек технологий 13
2.1 Angular 14
2.2 DevExtreme 19
2.3 ASP.NET Core 21
3 Архитектура интернет-магазина 23
3.1 Микросервис каталога 27
3.2 Микросервис корзины и заказов 32
3.3 Микросервис аутентификации пользователя 36
3.4 Приложение интернет-магазина 42
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 60
ПРИЛОЖЕНИЕ А Листинг SQL-файла 62
ПРИЛОЖЕНИЕ Б Листинг кода микросервиса каталога 65
ПРИЛОЖЕНИЕ В Листинг кода микросервиса корзины и заказов 80
ПРИЛОЖЕНИЕ Г Листинг кода микросервиса аутентификации 102
ПРИЛОЖЕНИЕ Д Листинг кода на Angular 130
1. Документация по Angular [Электронный ресурс]. – Режим доступа: https://angular.io, свободный (дата обращения 20.05.2020).
2. Документация по ASP.NET Core [Электронный ресурс]. – Режим доступа: https://docs.microsoft.com/ru-ru/aspnet/, свободный (дата обращения 30.04.2020).
3. Документация по DevExtreme [Электронный ресурс] / UI Widgets. – Режим доступа: https://js.devexpress.com/Documentation/, свободный (дата обращения 14.05.2020).
4. Документация по IdentityServer4 [Электронный ресурс]. – Режим доступа: https://identityserver4.readthedocs.io/en/latest/, свободный (дата обращения 27.05.2020).
5. Документация по IIS [Электронный ресурс]. – Режим доступа: https://docs.microsoft.com/en-us/iis/extensions/introduction-to-iis-express/ iis-express-overview, свободный (дата обращения 06.05.2020).
6. Исходный код ASP.NET Core [Электронный ресурс]. – Режим доступа: https://github.com/dotnet/aspnetcore, свободный (дата обращения 04.05.2020).
7. Исходный код DevExtreme [Электронный ресурс]. – Режим доступа: https://github.com/DevExpress/DevExtreme, свободный (дата обращения 28.05.2020).
8. Исходный код IdentityServer [Электронный ресурс]. – Режим доступа: https://github.com/IdentityServer, свободный (дата обращения 28.05.2020).
9. Ньюмен С. [Newman S.] Создание микросервисов. – СПб.: Питер, 2016.
– 304 с.
10. Пинягина О.В. Основы работы с базами данных – СУБД mySQL: Учебное пособие / О.В. Пинягина. – Казань: Казанский университет, 2018. – 92 с.
11. Фримен А. [Freeman A.] Angular для профессионалов. – СПб.: Питер, 2018. – 800 с.
12. Хорсдал К. [Horsdal K.] Микросервисы на платформе .NET. – СПб.: Питер, 2018. – 352 с.
13. Freeman A. Pro Entity Framework Core 2 for ASP.NET MVC. London, UK: Apress, 2017. – 656 p.
14. Lock A. ASP.NET Core in Action. Shelter Island, NY: Manning Publications, 2018. – 714 p.