VIETNAM – KOREA UNIVERSITY OF INFORMATION ANDCOMMUNICATION TECHNOLOGY FALCULTY OF COMPUTER SCIENCE SPECIALIZED PROJECT 1 BUILDING A SOCIAL NETWORKING APPLICATION RUNNING ON ANDROID MOBI
Trang 1VIETNAM – KOREA UNIVERSITY OF INFORMATION AND
COMMUNICATION TECHNOLOGY FALCULTY OF COMPUTER SCIENCE
SPECIALIZED PROJECT 1
BUILDING A SOCIAL NETWORKING
APPLICATION RUNNING ON ANDROID
MOBILE-APP AND WEBSITE
Students conducting : NGUYEN PHUOC THINH
Lecturers providing guidance: D.SC LE VAN MINH
Class : 20SE2
Trang 2VIETNAM – KOREA UNIVERSITY OF INFORMATION AND
COMMUNICATION TECHNOLOGY FALCULTY OF COMPUTER SCIENCE
SPECIALIZED PROJECT 1
BUILDING A SOCIAL NETWORKING
APPLICATION RUNNING ON ANDROID
MOBILE-APP AND WEBSITE
Trang 3In today's world, the application of information technology and digitalization is considered a crucial factor in the operations of governments, organizations, and companies It plays an extremely important role and can lead to significant breakthroughs With the continuous development of computer technology and electronic networks, information technology has been enhanced by high-level technologies, conquering one peak after another The Internet is one of the most valuable products and has become an indispensable tool, serving as the main platform for global information transmission and exchange
In the digital age, the construction of social networks is one of the most prominent trends Developing a social networking application that runs on multiple platforms has become a
challenge for developers This is why I have chosen the topic "BUILDING A SOCIAL NETWORKING APPLICATION RUNNING ON ANDROID MOBILE-APP AND WEBSITE" for my Specialized Project 1 The aim of this project is to create an advanced
social networking application that can be accessed on various devices, catering to the needs of users Additionally, this topic is relevant to the current reality, as social networks have become
an integral part of people's lives
Trang 4I would like to express my sincere gratitude to the university, specifically to the Faculty of Computer Science, for their dedicated guidance, valuable feedback, and the opportunities provided to me to successfully complete my research project for Specialized Project 1
I would like to thank D.Sc Le Van Minh for his wholehearted support and guidance throughout the process of conducting and reporting the research
During the execution of this research project, I have made diligent efforts, although some mistakes may still be present I hope to receive valuable input from my professors and the evaluation committee to further improve the quality of my research project
I sincerely thank you!
Trang 5(From the supervising instructor)
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 6TABLE OF CONTENTS
Contents
HEADING 1
1 Overview 1
1.1 Implementation context 1
1.2 Problems need to be slove 1
1.3 What to do 1
2 Research Methods 1
2.1 Method 1 1
2.2 Method 2 1
2.3 Method 3 1
Chapter 1 Theoretical Basis 3
1.1 Overview of cross-platform programming 3
1.1.1 Concept of Cross-Platform Programming 3
1.1.2 Various Approaches to Cross-Platform Programming 3
1.1.3 Benefits of cross-platform programming 4
1.1.4 Challenges of cross-platform programming 4
1.2 Introduction to social networks and their role in modern life 5
1.2.1 Concepts and characteristics of social networks 5
1.2.2 The role of social networks in modern life 6
1.2.3 Problems related to social networks 6
1.3 Overview of the Flutter framework and the reasons for choosing to use Flutter 7
1.3.1 Introduction to Flutter framework 7
1.3.2 Why choose Flutter 8
1.3.3 Tools to support application development with Flutter 8
1.3.4 Points to note when using Flutter 9
1.4 Firebase platform overview and reasons for choosing Firebase 10
1.4.1 Firebase Concepts 10
1.4.2 Reasons for choosing to use Firebase 10
Chapter 2 System Analysis and Design 11
Trang 72.1 System Requirements Specification 11
2.1.1 System Non-Functional Requirements 11
2.1.2 System Function Requirements 11
2.2 System Requirements Modeling 15
2.2.1 List of actors 15
2.2.2 List use cases 16
2.2.3 Use case diagram 17
2.3 Static Structure Modeling 20
2.3.1 List of classes 20
2.3.2 Class diagram 21
2.3.3 Object diagram 22
2.4 Behavior Modeling 22
2.4.1 Activity class 22
2.4.2 State diagram 25
2.4.3 Sequence diagram 27
2.4.4 Communication 29
Chapter 3 Construction Deployment 31
3.1 Login screen 31
3.2 News feed screen 33
3.3 Search screen 37
3.4 Community creation screen 39
3.5 Community screen 39
3.6 Community admin screen 41
3.7 Post creation screen 41
3.8 Post details screen 42
3.9 Profile screen 44
CONCLUSION AND FUTURE DEVELOPMENT 45
1 Conclusion 45
2 Future development 45
REFERENCES 46
Trang 8LIST OF TABLES
Table 1 - Compare research methods
Trang 9LIST OF FIGURES
Figure 1 - Cross-Platform programming 3
Figure 2 - Socials 5
Figure 3 - Flutter framework 7
Figure 4 - Firebase platform 10
Figure 5 - Use case diagram for Admin 18
Figure 6 - Use case diagram for User 19
Figure 7 - Use case diagram for Guest 20
Figure 8 - Class diagram 21
Figure 9 - Object diagram 22
Figure 10 - Activity diagram for the Google account login use case 22
Figure 11 - Activity diagram for the Guest login use case 23
Figure 12 - Activity diagram for the search use case 24
Figure 13 - Activity diagram for the Theme change use case 25
Figure 14 - State diagram for the Google account login use case 25
Figure 15 - State diagram for the Guest login use case 26
Figure 16 - State diagram for the search use case 26
Figure 17 - State diagram for the Theme change use case 27
Figure 18 - Sequence diagram for post management use case 27
Figure 19 - Sequence diagram for community management use case 28
Figure 20 - Sequence diagram for profile management use case 29
Figure 21 - Communication diagram for post management use case 29
Figure 22 - Communication diagram for community management use case 30
Figure 23 - Communication diagram for profile management use case 30
Figure 24 - Applications on the Android phone screen 31
Figure 25 - Login screen interface on Android Mobile - App 32
Figure 26 - Login screen interface on Website 32
Figure 27 - News feed interface on Android Mobile-App 33
Figure 28 - News feed interface on Website 34
Figure 29 - Community List Drawer on Android Mobile-App 35
Trang 10Figure 30 - Drawer community list on Website 35
Figure 31 - Personal Drawer on Android Mobile-App 36
Figure 32 - Personal Drawer on Website 36
Figure 33 - Light Mode on Android Mobile-App 37
Figure 34 - Light Mode on Website 37
Figure 35 - Search screen on Android Mobile-App 38
Figure 36 - Search screen on Website 38
Figure 37 - Community Creation Screen on Android Mobile-App 39
Figure 38 - Community creation screen on Website 39
Figure 39 - Community screen on Android Mobile-App 40
Figure 40 - Community screen on Website 40
Figure 41 - Community editing screen on Android Mobile-App 41
Figure 42 - Community editing screen on Website 41
Figure 43 - Post creation screen on Android Mobile-App 42
Figure 44 - Post creation screen on Website 42
Figure 45 - Post detail screen on Android Mobile-App 43
Figure 46 - Post detail screen on Website 43
Figure 47 - Profile screen on Android Mobile-App 44
Figure 48 - Profile screen on Website 44
Trang 11LIST OF ABBREVIATIONS
3 DD-MM-YYYY DayDay-MonthMonth-YearYear
4 HH-MM-SS HourHour-MinuteMinute-SecondSecond
Trang 121
Trang 131 https://chat.openai.com/
2 https://console.firebase.google.com/
3 https://flutter.dev/
4 https://pub.dev/
5 https://stackoverflow.com/
6 https://www.youtube.com/
2