Similar presentations:
Презентація Підченко
1. Розробка онлайн-сервісу стримінгу музики та подкастів
Міністерство освіти і науки УкраїниНаціональний університет «Одеська політехніка»
Навчально-науковий інститут комп’ютерних систем
Кафедра інформаційних систем
Розробка онлайн-сервісу стримінгу
музики та подкастів
Виконав:
ст. гр. АІ-211
Підченко Дмитро Валентинович
Керівник роботи:
к.т.н., доцент Бабич Микола Іванович
2.
Актуальність темиЦифрові технології у сучасному світі повсюдно використовуються в усіх галузях людського життя. Вони проникли в одну з
найбагатших і найвпливовіших бізнес-індустрій − медіаіндустрію і змінили її до невпізнання.
Завдяки цифровим технологіям з'явилися стримінгові сервіси, а потокова (стрімінгова) передача аудіоконтенту досягла
безпрецедентного рівня розвитку. Це відкриває широкі можливості як для користувачів, так і для контент-мейкерів. Користувачі
отримують доступ до необмеженої кількості різноманітних треків і подкастів у будь-який час і з будь-якої платформи, будь то телефон,
персональний комп’ютер чи звичайний браузер. А контент-мейкери можуть ефективніше поширювати контент, взаємодіяти з
аудиторією та монетизувати свою творчість.
Однак навіть популярні стримінгові сервіси, такі як Mixcloud, Reverbnation та SoundCloud, мають як переваги, так і недоліки.
Серед основних проблем можна виділити:
− необхідність купівлі платної підписки для доступу до всього функціоналу сервісу;
− нестача персоналізованих рекомендацій;
− застарілий інтерфейс;
− відсутність прозорих оцінок треків та виконавців;
− мала кількість соціальних функцій для взаємодії між користувачами.
Тому розробка онлайн-сервісу стримінгу музики та подкастів, який буде позбавлений перерахованих недоліків, є актуальною.
2
3.
Мета і задачі роботиТемою цієї роботи є розробка стримінгового онлайн-сервісу, позбавленого перелічених недоліків. Він
поєднуватиме в собі найкращі якості сучасних стримінгових сервісів, а головне − буде легковесним, продуктивним і
матиме масштабовану архітектуру.
Для досягнення поставленої мети необхідно вирішити наступні задачі:
− здійснити детальний аналіз та порівняння популярних стримінговіх сервісів;
− на основі проаналізованих даних, описати функціональні та нефункціональні вимоги до розробляємого
додатку;
− обрати найбільш відповідний стек технологій для розробки онлайн-сервісу;
− розробити та описати загальну архітектуру;
− розробити серверну та клієнтську частини онлайн-сервісу на основі обраного стеку технологій;
− виконати тестування створеного онлайн-сервісу.
3
4.
Огляд аналогівСервіс
Характеристика
Кваліфікаційна
Mixcloud
Reverbnation
SoundCloud
робота
+
-
Частково
+
-
+
+
+
Розширена персоналізація профілю для
кожного користувача
-
+
+
+
Можливість повноцінного завантаження
треків на пристрій
-
-
+
+
Можливість переглядати точну кількість
лайків і дизлайків у виконавця або треку
-
-
-
+
Можливість залишати
треком чи виконавцем
-
Частково
Частково
+
Гарна якість передачі звуку
+
-
Частково
+
Наявність розумних рекомендації
+
-
Частково
+
Сучасний та інтуїтивний дизайн
Можливість
безкоштовного
прослуховування, перемотування та
повторного відтворення треків
коментарі
під
4
5.
Вибір архітектуриCхема устрою додатка з монолітною архітектурою
Cхема устрою додатка з мікросервісною архітектурою
5
6.
Вибір патернів проєктуванняКласичний приклад архітектурного патерну MVC
Архітектурний патерн Сlean architecture
6
7.
Нефункціональні вимогиСервіс стримінгу музики та подкастів відповідає наступним нефункціональним вимогам:
− Сервіс є веб-застосунком, доступним через інтернет-браузер;
− Для взаємодії з сервісом необхідне стабільне підключення до мережі Інтернет для забезпечення його коректної
роботи;
− Час відповіді сервера на запит користувача не повинен перевищувати 1 секунду;
− Система повинна підтримувати горизонтальне масштабування;
− Сервіс повинен підтримувати одночасний доступ мінімум 10 000 користувачів без значного зниження
продуктивності;
− Сервіс повинен бути захищений від атак типу SQL-ін’єкцій, XSS та CSRF;
− Передача даних між клієнтською та серверною частинами повинна здійснюватися у зашифрованому вигляді за
допомогою протоколу HTTPS;
− Онлайн-сервіс повинен підтримувати локалізацію на кількох мовах: українській, російській та англійській;
− Сервіс повинен бути доступний безперервно, з максимальною тривалістю простою не більше 5 днів на рік.
7
8.
Проєктування системи. Діаграма прецедентів8
9.
Проєктування системи. Діаграма логічного уявлення9
10.
Проєктування системи. Діаграма розгортання10
11.
Проєктування системи. Представлення данихВсі дані системи зберігаються в реляційних базах даних MySQL. Оскільки сервіс побудований за принципами мікросервісної
архітектури, кожен мікросервіс має власну, ізольовану базу даних. Такий підхід дозволяє уникнути тісного зв’язку між мікросервісами,
що значно підвищує незалежність, гнучкість і масштабованість системи.
У системі наявні наступні бази даних:
– UserDB – використовується мікросервісом AuthenticationService для зберігання інформації про користувачів;
– UserProfileDB – використовується мікросервісом UserProfileService для зберігання данних профілю користовачів;
– AudioContentDB – використовується мікросервісом AudioContentService для зберігання даних аудіоконтенту завантаженого в
систему, наприклад таких як назва треку, виконавець, жанр, шлях до файлу в хмарному сховищі та інші;
– PlaylistDB – використовується мікросервісом PlaylistService для зберігання інформації про плейлисти користувачів;
– RecommendationDB – використовується RecommendationService для зберігання даних про вподобання користувачів на основі
яких формуються персоналізовані рекомендації;
– CommentDB – використовується мікросервісом CommentService для зберігання коментарів користувачів;
– NotificationDB – використовується мікросервісом NotificationService для зберігання інформації про сповіщення, що
надсилались користувачам;
– SocialInteractionDB – база даних, яка використовується мікросервісом SocialInteractionService для обліку соціальних взаємодій
між користувачами. У ній фіксуються дані про підписки, дружні зв’язки та інші види взаємодії між користувачами платформи.
11
12.
Проєктування системи. Представлення данихСхема даних бази даних AudioContentDB
12
13.
Стек технологій13
14.
Форма автентифікації14
15.
Форма реєстрації15
16.
Профіль користувача16
17.
Форма редагування профілю17
18.
Результати та висновкиВ процесі реалізації інтернет-магазину плавзасобів вирішено такі задачі:
− здійснено детальний аналіз та порівняння популярних стримінгових сервісів;
− на основі проаналізованих даних, описано функціональні та нефункціональні вимоги до
розробляємого сервісу;
− обрано найбільш відповідний стек технологій для розробки онлайн-сервісу;
− спроектовано та описано загальну архітектуру;
− розроблено серверну та клієнтську частини онлайн-сервісу на основі обраного стеку технологій;
− виконано тестування створеного онлайн-сервісу.
Таким чином, всі попередньо поставлені задачі були виконані, мета роботи – досягнута в повній
мірі.
18