1. Homepage
  2. Programming
  3. Software Modeling and Analysis Laboratory Work Project: Music Store Music Social Network

Software Modeling and Analysis Laboratory Work Project: Music Store Music Social Network

Engage in a Conversation
Music StoreMusic Social NetworkSoftware Modeling and Analysis

 Software Modeling and Analysis CourseNana.COM

Laboratory Work №1 CourseNana.COM

Project: Music Store CourseNana.COM

Music Social Network CourseNana.COM

  CourseNana.COM

Functional description: CourseNana.COM

The product represents a simple social network-like application based on the music culture. CourseNana.COM

It allows users to find music and albums based on their preferences. Registered and logged in users can save preferred music and albums to their own catalogues. CourseNana.COM

On the home page users receive recommendations based on saved music and other activities. CourseNana.COM

Users can search be artist, album or song names. CourseNana.COM

They can rate music and leave comments, buy tickets for music events online. CourseNana.COM

Artists (music groups) have their profiles with brief description, style of music and average rating. CourseNana.COM

They can upload albums and appoint public events. CourseNana.COM

Technical description: CourseNana.COM

The appilication is distributed and is built upon microservices architecture. CourseNana.COM

The entire structure has features of event-driven and pipes-and-filters architectural styles. Different components communicate with each other using brockered messaging queue and event infrastructure (RabbitMQ). CourseNana.COM

Backend components are mostly separated based on use cases of the system. These include: CourseNana.COM

      UserService; CourseNana.COM

      MusicService; CourseNana.COM

      CatalogService; CourseNana.COM

      EventService; CourseNana.COM

      TicketingService; CourseNana.COM

      RecommenderService; CourseNana.COM

There are also two components, providing fundamental infrastructure: CourseNana.COM

      Common – provides messaging contracts, setup and infrastructure management; CourseNana.COM

      WebApi – application entrance point, orchestrates other services and provides endpoints for frontend; CourseNana.COM

The Web Api sends commands expecting for response without even knowing what is the handler. CourseNana.COM

Services also emit events which can be processed by one or more listeners. CourseNana.COM

The messaging brocker picks the commands and events from the exchange and routes them to corresponding consumers. CourseNana.COM

Each component has it’s own dedicated data access if needed. CourseNana.COM

The data is stored in PostgreSQL databse. CourseNana.COM

Thus, the general structure has more pronounced vertical subdivison based on use cases. Horizontal tiering is represented by fronted and backend represented by a set of services. CourseNana.COM

Project Reference CourseNana.COM

https://github.com/tomislav-m/MusicSocialNetwork CourseNana.COM

Software components used: CourseNana.COM

For messaging: CourseNana.COM

https://www.rabbitmq.com/ CourseNana.COM

https://masstransit-project.com/ CourseNana.COM

For database: CourseNana.COM

https://www.postgresql.org/ CourseNana.COM

Bugs: CourseNana.COM

1)    Description: Recommendations don’t work CourseNana.COM

Environment: LOCAL CourseNana.COM

Steps to reproduce: CourseNana.COM

-       Start the whole application with the script; CourseNana.COM

-       Open the browser; CourseNana.COM

-       Navigate to the application home page; CourseNana.COM

-       If logged in – log out; CourseNana.COM

Expected result: list of recommended songs, albums, artists is displayed; CourseNana.COM

Actual result: nothing is displayed; CourseNana.COM

Visual proof: CourseNana.COM

Figure 1. Bug 1 visual proof. CourseNana.COM

2)    Description: login attempt lasts forever CourseNana.COM

Environment: LOCAL CourseNana.COM

Steps to reproduce: CourseNana.COM

-       Start the whole application with the script; CourseNana.COM

-       Open the browser; CourseNana.COM

-       Navigate to the application home page; CourseNana.COM

-       Click the ‘Log in’ button on the navigation bar; CourseNana.COM

-       Enter ‘username’ input; CourseNana.COM

-       Enter ‘password’ input; CourseNana.COM

-       Click the ‘Log in’ button below to confirm the action; CourseNana.COM

Expected result: CourseNana.COM

-       After some meaningful period of time the user is either logged in or not based on the input; CourseNana.COM

-       The user receives message indicating the status of the operation and the button is styled accordingly. CourseNana.COM

Figure 2. Expected result of failed log in attempt CourseNana.COM

Actual result: loading indicator hangs on and the user is not logged in; CourseNana.COM

Visual proof: CourseNana.COM

Figure 3. Bug 2 visual proof. CourseNana.COM

3)    Description: the artist is searchable and can be navigated, but it’s profile and information is not loaded or doesn’t exist CourseNana.COM

Environment: LOCAL CourseNana.COM

Steps to reproduce: CourseNana.COM

-       Start the whole application with the script; CourseNana.COM

-       Open the browser; CourseNana.COM

-       Navigate to the application home page; CourseNana.COM

-       In the ‘Search’ field on the navigation bar start entering some artist (the bug was noticed on ‘Daftside’ input); CourseNana.COM

-       Click the corresponding search result hint popup to navigate to the profile page. CourseNana.COM

Expected result: CourseNana.COM

-       The user successfully navigates to the selected artist’s profile page. CourseNana.COM

-       All the information is populated and visible: the profile image, description and bio, albums, songs, ratings and comments section, events tab etc. CourseNana.COM

Figure 4. Expected result example. CourseNana.COM

Actual result: the profile page is successfully navigated and loaded, but no information is filled/displayed. CourseNana.COM

Visual proof: CourseNana.COM

Figure 5. Bug 3 visual proof. CourseNana.COM

The Problem Domain Tree

Problem domain component


CourseNana.COM

Project bugs description

Project component diagram
Conclusion: the following components are reusable: MusicSocialNetwork-WebApp, Common, CatalogService, MusicService, UserService. There is no need to reuse EventService, RecommenderService, TicketingService, as long as their functionality is not required for our problem domain.
Domain repository table
CourseNana.COM

Requirements specification for the software system CourseNana.COM

Conclusion about possibility to reuse of software components from our working project to design a new similar systems. CourseNana.COM

I can say that all my components can be reused. CourseNana.COM

The conclusion can be made from the domain repository tree . Thus, a lot of components from the working project can be used in the development of new systems. Components cover a large part of the necessary functionality. Some of them require further modifications, but do not require cardinal changes. CourseNana.COM

But unfortunately there are not enough components such as ordering service, basket service, discounts service, etc. That naturally complicates the work of the platform and makes it not full-fledged to use. CourseNana.COM

How possible reuse will influent for possible reuse risks. CourseNana.COM

I believe that before using components to make sure there are no risks in the architecture. Because if some minimal functionality such as "delete a song from the collection" can be added without any problems, the introduction of major functionality such as ordering service, basket service, discounts service, etc. can be problematic because the components of the program interconnected differently and they would not have foreseen such functionality. CourseNana.COM

  CourseNana.COM

  CourseNana.COM

  CourseNana.COM

Get in Touch with Our Experts

WeChat (微信) WeChat (微信)
Whatsapp WhatsApp
Music Store代写,Music Social Network代写,Software Modeling and Analysis代写,Music Store代编,Music Social Network代编,Software Modeling and Analysis代编,Music Store代考,Music Social Network代考,Software Modeling and Analysis代考,Music Storehelp,Music Social Networkhelp,Software Modeling and Analysishelp,Music Store作业代写,Music Social Network作业代写,Software Modeling and Analysis作业代写,Music Store编程代写,Music Social Network编程代写,Software Modeling and Analysis编程代写,Music Storeprogramming help,Music Social Networkprogramming help,Software Modeling and Analysisprogramming help,Music Storeassignment help,Music Social Networkassignment help,Software Modeling and Analysisassignment help,Music Storesolution,Music Social Networksolution,Software Modeling and Analysissolution,