1.1 Reasons for choosing the thesis/The urgency of the thesis 1.2 Research objectives 1.3 Research subjects, application scope 1.4 Research tasks 1.5 Research methods 1.6 Achievements of
Trang 1
MINISTRY OF EDUCATION AND TRAINING
THE SAIGON INTERNATIONAL UNIVERSITY
Trang 2TABLE OF CONTENT
CHAPTER 1 OVERVIEW OF THE RESEARCH TOPIC 7
1.1 Reasons for choosing the topic, research field 7
1.2 Research objectiVes che 7 1.3 Research subjects, application scope 7
1.4 Research taSkS 0 0 neers 7 1.5 Research methods nhe nho 8 1.6 Achievemenrts of the thesis c cc 8 1.7 Plan for implementing the thesis 9
CHAPTER 2: BASIC THEORITICAL 10
2.1 Introduction to NET Framework 10
2.2 Introduction to ASP.NET c neo 10 2.3 MVC Model Q nh nhe nhe 10 2.4 Analyze topics with UML c co 11 2.4.1 General USE CASE diagram chen 11 2.4.2 Sequece Diagram - ch» nén nh nen 12 2.4.3 Details USE CASE diagram cán nén nh nền nh biếu 18 2.4.1 USE CASE Specifications Shopping Cart 25
2.4.1.1 USE CASE Specifications Shopping Cart (Add a product) 26 2.4.1.2 USE CASE Specifications Shopping Cart (Remove Cart) 27 2.4.1.3 USE CASE Specifications Shopping Cart (Update product) tàn KT TK KKKkkkkkk Kkk tEĐEĐ TT TEEEKkKKE KT EĐETEEEKkkk ĐĐEKkk kt 28 2.4.2 USE CASE Specifications Review Product 29
2.4.3.1 USE CASE Specifications New (Add a new) 30
2.4.3.2 USE CASE Specifications New (Update a new) 31
2.4.3.3 USE CASE Specifications New (Remove a new) 32
2.4.4.1 USE CASE Specifications Product (Add a Product) 33
Trang 32.4.4.2 USE CASE Specifications Product (Update a product) 34
2.4.6 USE CASE Specifications Register chien 36
2.4.7 USE CASE Specifications Manage Blod : 37
2.6 Enity Relationship Diagram - ch nh nh nh khhhheeo 39
Chapter 3: Application Design chuc 40
3.1 Requirements Determination 40
3.2 System Requiremenits c neo 40
3.3 Functional Requirements c c 40
3.4 Functional Management Diagram 41
Picture 3.2 R©dQÏSẨ©F cu nn nh nnnnnn nén HT nh Kế bế TT Kế ĐH ky 43
Picture 3.4.1 Filter MacbooK - chen nh ho 47
Picture 3.5 Product detailS LH nhe 50
Picture 3.6 Rating Star and Commer chinh: 51
Picture 3.8 Contact FOrm c ch nn nh nh nh nh heo khe 54
Picture 3.10.1 Tracking Orđer cuc nen n ke nh nền nh khe heo 58
Trang 4Picture 3.12.1 Iphone Managemert c nen 62
Picture 3.12.2 Ipad Management che 62
Picture 3.12.3 Laptop Managemertt che hheo 62
Picture 3.14 Product DetailS cán nh nh nh nh nh he rệt 64
Picture 3.15 Voucher Managemert cho 65
Picture 3.15.1 Creating Voucher ‹ ch nhe 65
Picture 3.17.1 Creating Order cành nh nh nh kho 69
CHAPTER 4: CONCLUSION AND DEVELOPMENT ORIENTATION
Trang 5DECLARA TION
I certify that the attached assignment is our work Materials drawn from other sources
have been acknowledged according to unit-specific requirements for referencing |
certify that this assessment item has not been submitted previously for academic credit
1n this or any other course | certify that I have not given a copy or have shown a copy
of this assessment item to another student enrolled in the course I acknowledge that
the assessor of this assignment may, for the purpose of assessing this assignment:
* Reproduce this assessment item and provide a copy to another member of the
Student of SIU; and/or
* Communicate a copy of this assessment item to a plagiarism-checking service
(which may then retain a copy of the item on its database for the purpose of future
plagiarism checking)
* Submit the assessment item to other forms of plagiarism checking | certify
that any electronic version of this assessment item that I have submitted is identical to
its paper version
Trang 6FOREWORD
All the good results of our work come with support and help, big or small, all of
which are valuable and appreciated Throughout the duration of our project, we have
received a great deal of interest, guidance, and encouragement in many different ways
from various individuals
With our deepest gratitude, we would like to extend our thanks to MS.Nguyen Thuy
An, our supervising instructor, who shared her knowledge and passion to teach us and
support us during the project and this report We would also like to express our sincere
thanks to the esteemed faculty members and our classmates who have collaborated
wholeheartedly, shared, and encouraged us Without their unconditional support, this
report would have been difficult to complete
Once again, we sincerely thank everyone involved
Trang 7EVALUATE
Group execution (name of all SVS in the group):
Student ID : 81012202504 Student name : Nguyen Tuan Danh
Project name: Social media in microservices
Grading
Score | Note scale
Criteria
Knowledge 1,0 solutions 2,0 Get to know the topic and audience of the 1 1,0
Write by professional criteria 2,0 Write the follow fessional criteria
ication of algorithms to the actual em Explain/analyze the positive impact and negative of IT
solutions/products on geolocation local and global
OVERALL
GRADE: (Rounded to the first decimal)
Lecture (Sign and fill full name)
MSc Nguyen Thuy An
CHAPTER 1 OVERVIEW OF THE RESEARCH TOPIC
General introduction to the topic of the Thesis The context of its emergence, the
practical demand for the product, or scientific research
Trang 81.1 Reasons for choosing the thesis/The urgency of the thesis
1.2 Research objectives
1.3 Research subjects, application scope
1.4 Research tasks
1.5 Research methods
1.6 Achievements of the Thesis
1.7 Plan for implementing the thesis
1.1 Reasons for choosing the topic, research field
In our digital age, social media and e-commerce have merged to transform the shopping experience People now look to social media not only for interaction but also for discovering diverse products and seamless online shopping options A social platform that integrates shopping experiences can attract and engage a wide audience, meeting their need for both connectivity and convenience
1.2 Research objectives
Understanding users and their needs: It's crucial to develop a strong grasp of the target user group, including their behaviors, preferences, and expectations when engaging with social platforms This insight informs the design and development process,
ensuring the platform meets user needs and fosters a satisfying, interactive experience
The research goes beyond creating a high-quality social media application, aiming to advance the field of information technology and provide valuable solutions for users and businesses alike
1.3 Research subjects, application scope
The primary research subjects of this project are users—individuals who actively engage with the social media platform for content sharing, networking, and community interaction Researching user behavior, needs, and engagement patterns 1s essential to crafting a social platform that supports meaningful connections and user
retention
In terms of application scope, this project focuses on developimg a social media
platform that enables users to share posts, connect with others, and engage in
community discussions The platform will support content management, user profile
customization, and activity feeds, while mntegrating features like messaging for real-
time interaction and possibly online support for enhanced user assistance
Trang 9User Demand Analysis: Investigate and analyze the needs of users and social
trends to define essential features for the platform
System Design: Develop the system architecture, database design, and user interface based on the gathered requirements
Feature Development: Program and implement core functions, such as profile management, content sharing, news feeds, and messaging
Testing: Conduct comprehensive testing to ensure all features function smoothly and efficiently
Feedback and Iteration: Gather user feedback to assess the platform's
effectiveness, making continuous improvements based on user experience
1.5 Research methods
The research methods for a thesis on social media technology products often involve a blend of theoretical research, analysis, design, and experimentation For this project, the specific methods include:
Analysis and Design: Conduct in-depth analysis of user needs and behaviors to inform database design and data models, focusing on how users interact on the platform Identify core social media functions, such as profile creation, content sharing, and messaging
Development and Testing: Build and implement the system using technologies like Spring Boot, JavaScript, or Node.js, ensuring smooth operation of all platform features Conduct rigorous testing to verify functionality, usability, and performance
Evaluation: Gather feedback from users to assess the platform's effectiveness, driving
continuous improvement and alignment with user expectations
These methods ensure the final product aligns with user needs and adheres to industry standards, supporting future opportunities to explore and integrate new technologies in
social media development
1.6 Achievements of the thesis
Creating a user-friendly social media platform with an attractive interface that delivers essential social networking functions Develop a comprehensive and efficient database model to support smooth interactions and data management on the platform
10
Trang 101.7 Plan for implementing the thesis
2 Database Design 1 week
4 Demo and Testing 2 weeks
Trang 11CHAPTER 2: BASIC THEORITICAL
2.1 Introduction to Java Spring Boot
2.2 Introduction to Spring Security
2.3 Microservices
2.4 Analyze topics with UML
2.4.1 General USE CASE diagram
2.4.2 Squece Diagram
2.4.3 Details USE CASE diagram
2.1 Introduction to Java Spring Boot
The Java Platform is a software framework developed by Oracle to support building and running Java applications It provides a dedicated environment that allows developers to focus on building applications without being overly concerned about managing memory,
system resources, or execution flow
Java offers a vast library of classes and a robust runtime environment (JVM - Java Virtual Machine), supporting languages like Java, Kotlin, and Scala It includes features like
generics, streams, multithreading support, and lambda expressions, which enhance both application performance and development productivity
2.2 Introduction to Spring Security
Spring Security is a powerful Java framework within the Spring ecosystem, designed
to simplify the creation of secure web applications It provides comprehensive
authentication, authorization, and protection against common vulnerabilities, helping
developers secure applications effectively
Spring Security offers flexibility through configurations for various security needs,
including web-based applications, REST APIs, and OAuth? support for social logins
and single sign-on (SSO) For example, HTTP Basic and Form-Based authentication are standard for simple setups, while OAuth2 enables secure integrations with external identity providers This modularity allows developers to tailor security configurations
to specific project requirements, ensuring a secure and maintainable application
12
Trang 122.3 Microservices
In a microservices architecture, applications are decomposed into smaller,
independent services, each responsible for a specific business function Unlike the MVC pattern, which organizes code within a single application structure,
microservices separate functionality into distinct services, allowing each to be
developed, deployed, and scaled independently
Key components in microservices include:
Service Components: Each service focuses on a single business capability and
maintains its own data, encapsulating business logic and data management within that service
APIs: Services communicate with each other through lightweight APIs, often using REST or messaging protocols like gRPC, to enable interaction and data sharing across
the system
Service Discovery and Load Balancing: Mechanisms to locate services dynamically and distribute traffic efficiently ensure resilience and scalability
Centralized Management and Monitoring: Tools for logging, metrics, and health
checks enable tracking, monitoring, and managing service interactions across a
distributed environment
Microservices make it easier to develop, deploy, and scale parts of an application independently, fostering agility and resilience, especially in complex, high-traffic applications
13
Trang 132.4 Analyze topics with UML,
2.4.1 General USE CASE diagram
14
Trang 15— ' '
Trang 18
19
Trang 23add friends
admin
delete contents
24
Trang 24admin ` ¬
call normal and call video
Trang 25delete news
26
Trang 26ACTIVY diagram:
Trang 27
28
Trang 29USE CASE Specifications:
2.4.1 USE CASE Specifications Login
Use Case Manage Member
Description The Admin has access to manage the list of members in
the system This includes adding, editing, deleting, or banning a member's account as necessary
- The system displays the list of all current members, showing basic information such as name, email, and account status
- Admin selects a specific member and chooses an action: Add, Edit, Delete, Ban/Unban
- System validates the action
- System performs the requested action and updates the list of members
Preconditions The Admin has logged in successfully and has the
necessary permissions to manage members
Notes+Rule
Trang 30
: Case 2:
4 System encounters a connection or database error
System notifies Admin of the error and prompts a retry from step 3
Requirement Detail All actions (Add, Edit, Delete, Ban/Unban) should be
processed successfully to reflect changes in the member list
31
Trang 31
2.4.1.1 USE CASE Specifications post news
Use Case Post News
Description Users can create and share news posts on the platform
This includes adding a title, content, images, and setting visibility options for the news post
- The system displays a form for creating a news post, including fields for title, content, and options to upload images
- User fills out the title and content fields and uploads any desired images
- User selects visibility options (e.g., public, friends only, private)
- User clicks the "Post" button
- The system validates the input data
- If validation is successful, the system saves the news post and displays a confirmation message
- The new post appears in the user’s feed and is shared with the selected audience
Trang 32Requirement Detail Users should be able to successfully create and share
news posts that are reflected in their feed and visible to
the selected audience
33
Trang 33
2.4.1.2 USE CASE Specifications manage content
Use Case Manage Content
the system This includes adding, editing, deleting, or
banning a member's account as necessary
Actor Admin,system
- The system displays a list of all content, showing details like author, type of content (e.g., post, comment), and status (¢.g., active, flagged)
- Admin selects a specific content item and chooses an action: Add, Edit, Delete, or Hide
34
Trang 34
- System validates the selected action and content type
- System performs the requested action and updates the
content list accordingly
Preconditions The Admin has logged in successfully and has the
necessary permissions to manage content
4 System encounters a connection or database error
System notifies the Admin of the error and prompts a retry from step 3
Priority High
Use Case Name Manage Content
Requirement Detail All actions (Add, Edit, Delete, Hide) should be processed
successfully to reflect changes 1n the content list
35
Trang 35
2.4.1.3 USE CASE Specifications manage books
Use Case Manage Books
Description Admin has access to manage the collection of books
within the platform This includes adding, editing,
deleting, or reviewing book entries as necessary
- The system displays a list of all books, showing details like title, author, genre, and availability status
- Admin selects a specific book and chooses an action:
Add, Edit, Delete, or Review
- System validates the selected action and book information
- If validation is successful, the system performs the requested action and updates the book list accordingly
Preconditions The Admin must be logged in successfully and have the
necessary permissions to manage books
Notes+Rule
- 4, System validation fails due to missing required fields
or invalid data (e.g., duplicate entries)
System displays an error message indicating the specific
issues and prompts the Admin to correct them
37
Trang 36
Use Case Name Manage Books
of books, ensuring accurate and up-to-date information is
available on the platform
38
Trang 37
2.4.2 USE CASE Specifications add friends
Use Case Add Friends
Description Users can send friend requests to other users and manage
their friend list This includes sending, accepting,
rejecting, or canceling friend requests
- The system displays a list of potential friends, showing
their name and profile picture
- User selects a specific user and clicks the "Add Friend" button
- The system sends a friend request to the selected user
- If the request is sent successfully, the system displays a confirmation message
- The recipient user receives the friend request and can
accept or reject it
Preconditions The User must be logged in to the system
Notes+Rule
Trang 38Requirement Detail Users should be able to successfully send, accept, or
manage friend requests to build their social network on the platform
40
Trang 39
2.4.3.1 USE CASE Specifications use profile
Use Case Use Profile
Description Users can view and edit their personal profiles, including
updating personal information, profile pictures, and privacy settings
- The system displays the user's current profile information, including name, bio, profile picture, and privacy settings
- User chooses to edit specific fields (e.g., name, bio,
profile picture)
- User updates the desired fields and selects "Save Changes."
- The system validates the input data
- If validation is successful, the system updates the user's
profile and displays a confirmation
Trang 40System displays an error message indicating the specific
issues and prompts the user to correct them
Requirement Detail Users should be able to successfully view and update their
profile information to keep their account accurate and up-
to-date
42