MINISTRY OF EDUCATION AND TRAINING HO CHI MINH CITY UNIVERSITY OF TECHNOLOGY AND EDUCATION GRADUATION THESIS INFORMATION TECHNOLOGY CREATING A SOCIAL NETWORK WEB APPLICATION FOR DISCOVERING OLD MUSIC AND ENTERTAINMENT INSTRUCTOR: MSC. MAI ANH THO STUDENT: NGUYEN LONG VU NGUYEN CHI THONG BUI QUANG HO MINH VUONG SKL010551 Ho Chi Minh City, 2022 MINISTRY OF EDUCATION & TRAINING HO CHI MINH CITY UNIVERSITY OF TECHNOLOGY AND EDUCATION FACULTY FOR HIGH-QUALITY TRAINING -------------------- CAPSTONE PROJECT CREATING A SOCIAL NETWORK WEB APPLICATION FOR DISCOVERING OLD MUSIC AND ENTERTAINMENT GROUP MEMBERS: Nguyễn Long Vũ – 18110069 Nguyễn Chí Thông – 18110051 Bùi Quang Hồ Minh Vương - 18110070 ADVISOR: MSc. Mai Anh Thơ ACADEMIC YEAR: 2018 – 2022 ii SOCIALIST REPUBLIC OF VIETNAM Independence – Freedom – Happiness ******* ******* COMMENTARY OF ADVISOR Name of student: Nguyễn Long Vũ Student ID: 18110069 Nguyễn Chí Thông Student ID: 18110051 Bùi Quang Hồ Minh Vương Student ID: 18110070 Major: Information Technology Topic name: Creating a social network web application for discovering old music and entertainment Name of supervisor: MSc. Mai Anh Tho COMMENTARY 1.
On the content of the topic & workload done 2. Recommend for defense or not? 5. Mark: (Byword: ) Ho Chi Minh, ADVISOR (Name and signature) iii SOCIALIST REPUBLIC OF VIETNAM Independence – Freedom – Happiness ******* ******* COMMENTARY OF REVIEWER Name of student: Nguyễn Long Vũ Student ID: 18110069 Nguyễn Chí Thông Student ID: 18110051 Bùi Quang Hồ Minh Vương Student ID: 18110070 Major: Information Technology Topic name: Creating a social network web application for discovering old music and entertainment Name of supervisor: Nguyen Tran Thi Van COMMENTARY 1. On the content of the topic & workload done 2.
Recommend for defense or not? 5. Mark: (Byword: ) Ho Chi Minh, REVIEWER (Name and signature) iv ACKNOWLEDGEMENT To finish this project, we wish to show our gratitude to Mrs. Mai Anh Tho, her dedication is what we appreciate most. None of the knowledge introduced here would have been put into this project without her guidance.
Because of a lack of knowledge, the project cannot avoid mistakes, nevertheless, finishing this project is meaningful to us as we can learn a lot from it and make it our experience in the future. We are grateful to receive any kind of opinion about this project for the project to be complete and more applicable in the real environment.HCM, Group Members Nguyễn Long Vũ Nguyễn Chí Thông Bùi Quang Hồ Minh Vương v TABLE OF CONTENTS Acknowledgement. v Table of Contents. vi List of Figures.
viii List of Tables. ix Work Assignment. The Purpose of the Project. Why build a social network service to discover vintage aesthetic music?.
Why choose the Strapi and Remix technology solution stack?. The Scope of the Project. The Current Situation. Fishbrain – a mobile application.
The Requirements of the Project. Non-functional Requirements. System Analysis and Design. Use cases diagrams.
Use case list. Individual use cases specification. System Analysis and Class Identification (Class Diagrams). Single Post page.
The System Architecture. What worked well. What did not work well. 70 vii LIST OF FIGURES Figure 1.
LoudUp index page. Fishbrain index page. SoundCloud index page. Entity Relationship Diagram of the software.
“Manage” use cases in specific. Overall use cases of the project. Overall class diagram of the projects. Sequence Diagram: Register.
Sequence Diagram: Login. Sequence Diagram: Access to a channel to listen. Sequence Diagram: Add friends. Sequence Diagrams: Send messages.
Sequence Diagram: Vote. User Interface: Index page. User Interface: Single Post page. User Interface: Login page.
The three-tier architecture of the software. The three-tier architecture of the software. The software architecture diagram. 57 viii LIST OF TABLES Table 1.
Responsibilities of each member. Functional requirements: Authentication. Functional requirements: Real-time chatting. Functional requirements: Manage contacts.
Functional requirements: Internet radio. Functional requirements: Microblogging. Non-functional requirements: Encouragement. Non-functional requirements: Intuition.
Non-functional requirements: No need for prior knowledge. Non-functional requirements: Informality and Friendliness. Use cases list. Use cases – Register.
Use cases – Login. Use cases – Logout. Use cases – Request an editor account. Use cases – Read tags.
Use cases – Delete tags. Use cases – Create tags. Use cases – Edit tags. Use cases – Read posts.
Use cases – Delete posts. Use cases – Create posts. Use cases – Edit posts. Use cases – Vote.
Use cases – Add friends. Use cases – Get friends. Use cases – Delete friends. Use cases – Send messages to a random user.
Use cases – Send messages to a user from contacts. Use cases – Reply to comments. Use cases - Approve reports on comments. Use cases – Publish/unpublish posts.
Use cases – Report comments. Use cases – Read streams. Use cases – Delete streams. Use cases – Create streams.
Use cases – Edit streams. Use cases – Access to a channel to listen. Use cases – Subscribe to a channel. Use cases – Comment on posts.
Use cases - Search posts. Use cases – Bookmark. Use cases – Approve an author account. Use cases – Find posts by tags.
Use cases – Share. Use cases - Send messages to a subscriber of a channel. Use cases – Report posts. Use cases - Approve reports on comments.
Summary of results of tests. Test Case – Login. Test Case – Register. Test Case – Read posts.
Test Case – Send messages to a random user. Test Case – Send messages to a user in contacts. Test Case – Access to a channel to listen. 67 xi WORK ASSIGNMENT Student ID Student Name Tasks - Researching the Remix, Strapi, Google Cloud, Icecast, Liquidsoap - Taking responsibility for: Nguyễn Chí o Database modeling 18110051 Thông o Design the functions of the product o Implement the functions in the Microblogging and Radio module.
o Software deployment - Researching the Remix, CometChat, and Cloudinary - Taking responsibility for: o Design the user interface of the product Nguyễn Long o Implement the design and the 18110069 Vũ functions of the user interface. o Manage the project o Implement the functions in the Authentication and Real-time communication module. o Implement CI/CD xii - Researching the Remix, Strapi, Cloudinary, and Meilisearch. - Taking responsibility for: o Database modeling Bùi Quang Hồ 18110070 o Design the functions of the product Minh Vương o Connect the software interface with the core API (built with Strapi).
o Implement the functions in the Microblogging module. Responsibilities of each member xiii CHAPTER 1. Project Overview The project is about creating a social network service that allows users to exchange content regarding vintage music or just simply use the platform to entertain. The website functions as a radio with a variety of channels that can also facilitate connections.
The web application is built upon the Strapi and Remix frameworks. The application is a web-based network targeting people who share their interests in vintage entertainment, particularly music. The application can be classified as a niche network, which aims to unite a specific group of people, to help users to get closer to people sharing their interests and exchanging ideas. The Purpose of the Project 1.
Why build a social network service to discover vintage aesthetic music? The three main reasons explained why there should be a platform for discovering vintage aesthetic music are as follows. Firstly, music is an art form with which we are constantly in contact. Music is also the essence of a culture; it may be thought of as a database for storing all information and methods of survival. Secondly, in the globalization era, many kinds of music come to Vietnam and slowed down the development and the uniqueness of Vietnamese music.
And the last but not least, there are also not enough non-biased platforms to research old music and to study the cultural and historical data at the time. Why choose the Strapi and Remix technology solution stack? Strapi is an open-source headless CMS that gives developers the freedom to use whatever tools and frameworks they want and allows editors to work with whatever content they want. Strapi can save a significant amount of time when developing the project's API. Remix is a full-stack web framework that allows you to focus on the user interface while working back through web basics to offer a fast, sleek, and durable user experience that deploys to any Node.js server and even non-Node.js edge environments like Cloudflare Workers.
In conclusion, by using these two frameworks as a core for us in programming the project can be developed focusing more on the business value. The Goal The project's goal is to create a web application for a social network service that allows users to exchange content about historical music or simply use the platform to entertain themselves. The website functions as a radio with a variety of channels that can also facilitate connections. The Scope of the Project 1.
The Current Situation From a cultural perspective, Korean popular culture has become dominant in East and Southeast Asia over the last two decades, which is coined with the term “Hallyu” (The Korean Wave). Korean television programs, such as the Netflix series are increasingly penetrating different countries, including Vietnam. According to a survey of 1,114 students conducted by Dr. Phan Thi Thu Hien in 2012, students tend to have a positive report with K-movie (59%) and K-pop (50%).
There are no convergence views despite increasing scholarship and media coverage of the role of 2 Korean cultural products because of several different factors – including political, historical, economic, and cultural ones. To explain this phenomenon, the framework of cultural imperialism is a reliable thesis to explain the Korean cultural market in the globalization market s ince the one-way flow of cultural products from Korea to other countries is similar to the one-way flow of cultural products from Western countries to developing countries. The consequence of cultural dominance, which is similar to the consequence of colonialization, results in a variety of effects. Individual experiences might be influenced by the societal repercussions of having a dominating culture.
Individuals from a culture may assimilate the dominant culture's values and norms to acquire access to dominant culture privileges. The country with the dominant culture in fact can produce values from the culturally dominated countries from many sources the same as imperialism. Hence, it is necessary to promote the original cultural products of a country to preserve and produce values from it. The most obvious evidence of getting rid of cultural dominance is the minorities in Vietnam.
Despite having to inscribe themselves to the Vietnamese culture, the minorities still can define themselves with many cultural assets, especially musical products. According to Vietnam Tourism (2018), the traditional costume of many other minorities are modified to fit the modern lifestyle but the Bo Y people still preserve their costumes with unique technical skills. LoudUp index page. - Understandability: The application aims at building up a community for music enthusiasts and artists.
- Learnability: The user interface is simple enough with a powerful search bar that helps users in finding people with the same taste or their favorite artists. - Interoperability: A user can be authenticated with Facebook or Twitter before accessing any further features. The user can easily connect by using subscribe features and direct messaging. The users can also share their music tastes through the “Hear With Me” features.
The application does not focus on any categories of music. Fishbrain – a mobile application Figure 2. Fishbrain index page - Understandability: The application aims at building up a community with user- generated content and drawing people who are interested in fishing.