SpotifyX Architectural Review

460 views 26 slides May 08, 2019
Slide 1
Slide 1 of 26
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26

About This Presentation

A framework for the family of application like Spotify


Slide Content

SpotifyX : A Framework for the family of applications like Spotify By: Morteza Zakeri and Arman Sanahmadi Software Architectures Course Instructor: Dr. Mehrdad Ashtiani Iran University of Science and Technology School of Computer Engineering Fall 2018

Agenda Introduction Feature list Architectural Blueprints Physical view (Deployment diagram) Development view (Component diagram) Logical view (Class diagram) References October 2018 SpotifyX - Morteza Zakeri and Arman Sanahmadi- Software Architectures 2

Spotify: Music for everyone! October 2018 SpotifyX - Morteza Zakeri and Arman Sanahmadi- Software Architectures 3 Introduction Features Architectural Blueprints Physical view Development view Logical view

Spotify: Features October 2018 SpotifyX - Morteza Zakeri and Arman Sanahmadi- Software Architectures 4 Introduction Features Architectural Blueprints Physical view Development view Logical view Profile Search Streaming Payment Friendship Advertisement Playlist Recommendation

Features list Streaming Search Recommendation Playlist Friendship and Following User management (Profile) Signup Login Logout Profile info Payment Premium account October 2018 SpotifyX - Morteza Zakeri and Arman Sanahmadi- Software Architectures 5 Introduction Features Architectural Blueprints Physical view Development view Logical view

Three main feature Is it part of the essence of the system? What the “heck” does it mean ? How the “heck” do I do it? Streaming Yes Search Yes Recommendation No Playlist No Friendship and Following No User management (Profile) Yes Payment Yes October 2018 SpotifyX - Morteza Zakeri and Arman Sanahmadi- Software Architectures 6 Introduction Features Architectural Blueprints Physical view Development view Logical view

4+1 architectural view model October 2018 SpotifyX - Morteza Zakeri and Arman Sanahmadi- Software Architectures 7 Philippe Kruchten , 1995 Introduction Features Architectural Blueprints Physical view Development view Logical view

Physical view (Deployment diagram) October 2018 SpotifyX - Morteza Zakeri and Arman Sanahmadi- Software Architectures 8 Introduction Features Architectural Blueprints Physical view Development view Logical view

Development view (Component diagram) October 2018 SpotifyX - Morteza Zakeri and Arman Sanahmadi- Software Architectures 9 Introduction Features Architectural Blueprints Physical view Development view Logical view

Logical view (Class diagram) By Arman Sanahmadi Today: Media streaming microservice Media search microservice Media recommendation microservice Next Presentation: Profile Payment Playlist Friendship October 2018 SpotifyX - Morteza Zakeri and Arman Sanahmadi- Software Architectures 10 Introduction Features Architectural Blueprints Physical view Development view Logical view

Development view (Component diagram) October 2018 SpotifyX - Morteza Zakeri and Arman Sanahmadi- Software Architectures 11 Introduction Features Architectural Blueprints Physical view Development view Logical view

Media streaming microservice October 2018 SpotifyX - Morteza Zakeri and Arman Sanahmadi- Software Architectures 12 Introduction Features Architectural Blueprints Physical view Development view Logical view

Media search microservice October 2018 SpotifyX - Morteza Zakeri and Arman Sanahmadi- Software Architectures 13 Introduction Features Architectural Blueprints Physical view Development view Logical view

Media recommendation microservice October 2018 SpotifyX - Morteza Zakeri and Arman Sanahmadi- Software Architectures 14 Introduction Features Architectural Blueprints Physical view Development view Logical view

Model October 2018 SpotifyX - Morteza Zakeri and Arman Sanahmadi- Software Architectures 15 Introduction Features Architectural Blueprints Physical view Development view Logical view

Accounting October 2018 SpotifyX - Morteza Zakeri and Arman Sanahmadi- Software Architectures 16 Introduction Features Architectural Blueprints Physical view Development view Logical view

High-level services (Logic) October 2018 SpotifyX - Morteza Zakeri and Arman Sanahmadi- Software Architectures 17 Introduction Features Architectural Blueprints Physical view Development view Logical view

Demo Code (in Java) October 2018 SpotifyX - Morteza Zakeri and Arman Sanahmadi- Software Architectures 18 Service model Introduction Features Architectural Blueprints Physical view Development view Logical view

References [1] P. Kruchten , “ The 4+1 view model of architecture, ” IEEE Software. , vol. 12, no. 6, pp. 42–50, Nov. 1995. [2] Spotify Labs., “architecture,” 2018. [Online]. Available: https://labs.spotify.com/tag/architecture/ . [Accessed: 20-Dec-2018]. [3] B.D. McLaughlin, G. Pollice , and D. West, Head first object-oriented analysis and design , O’Reilly Media, 2007. [4] Visual Paradigm, “ What is unified modeling language (UML)? ,” Visual Paradigm , 2018. [Online]. Available: https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-uml/ . [Accessed: 26-Dec-2018]. October 2018 SpotifyX - Morteza Zakeri and Arman Sanahmadi- Software Architectures 19

Thank you for your attention! Any QUESTIONS? [email protected]

4+1 architectural view model October 2018 SpotifyX - Morteza Zakeri and Arman Sanahmadi- Software Architectures +1 Philippe Kruchten , 1995 Backup slides

Process view (Activity diagram) To be added October 2018 SpotifyX - Morteza Zakeri and Arman Sanahmadi- Software Architectures +2 Backup slides

Scenarios (Use cases) Demo code Code template (demonstrated by test scenarios) By Arman Sanahmadi Using Postman to develop APIs October 2018 SpotifyX - Morteza Zakeri and Arman Sanahmadi- Software Architectures +3 Backup slides

Technologies we used And some other libraries, packages and tools Backup slides October 2018 SpotifyX - Morteza Zakeri and Arman Sanahmadi- Software Architectures +4

UML diagrams we used October 2018 SpotifyX - Morteza Zakeri and Arman Sanahmadi- Software Architectures +6 Backup slides

UML diagrams we used October 2018 SpotifyX - Morteza Zakeri and Arman Sanahmadi- Software Architectures +5 Backup slides