13Table 3.3: Table describes the usecase to view the list of accounts .... 17Table 3.7: Table describes the usecase to change user information of admin .... 22Table 3.13: Table describes
Trang 1
TECHNOLOGY AND EDUCATION
CAPSTONE PROJECT INFORMATION TECHNOLOGY
BUILDING AN INTERNAL SOCIAL NETWORK
WEBSITE FOR SCHOOLS
S K L 0 0 9 4 4 4
LECTURER: PHD LÊ VĨNH THỊNH STUDENTS: NGUYỄN CƯỚC THIÊN
TU NGỌC YẾN VY
Trang 2HCMC UNIVERSITY OF TECHNOLOGY AND EDUCATION
FACULTY OF HIGH QUALITY
Hồ Chí Minh City, June 2022
CAPSTONE PROJECT
BUILDING AN INTERNAL SOCIAL NETWORK
WEBSITE FOR SCHOOLS
Course year: K18
Instructor : PhD LÊ VĨNH THỊNH
Trang 3SOCIALIST REPUBLIC OF VIETNAM Independence - Freedom – Happiness
***********
TASK FOR PERFORMANCE OF THE CAPSTONE PROJECT
Instructor: PhD Lê Vĩnh Thịnh Phone number:
1 Project name: Building an internal social network website for schools
2 Initial figures: No
3 Project implementation: Learn and develop websites using Mean stack technology
4 Product: Building an internal social network website for schools
Trang 4SOCIALIST REPUBLIC OF VIETNAM Independence - Freedom – Happiness
***********
Major: Information technology
Project name: BUILDING AN INTERNAL SOCIAL NETWORK WEBSITE FOR
2 Advantages:
3 Disadvantages:
Recommend for protection or not?
Trang 5SOCIALIST REPUBLIC OF VIETNAM Independence - Freedom – Happiness
***********
REVIEWER COMMENT SHEET
Major: Information technology
Project name: BUILDING AN INTERNAL SOCIAL NETWORK WEBSITE FOR
Trang 6ACKNOWLEDGEMENT
First of all, my team would like to thank Mr Le Vinh Thinh, who directly guided
us in the implementation and completion of the report in the best and most effective way The instructions, guidance, comments, and suggestions of the teacher have made
a very important contribution in helping us complete the project most completely
We also would like to express our sincere thanks to the teachers in the Faculty of High-Quality in general and the Information Technology industry in particular for their dedication to imparting necessary knowledge, always enthusiastically answering questions, and wholeheartedly supporting us to have a foundation to make this topic, created conditions for us to learn and perform well on the topic Along with that, we would like to thank our classmates and the seniors who provided a lot of useful information and knowledge to help us improve our thesis
Since the project is done in a limited time, mistakes are inevitable We look forward to receiving valuable comments and suggestions from teachers so that we can have more experience for ourselves in the future
We sincerely thank you!
Trang 7SUMMARY IN VIETNAMESE
1 Các vấn đề nghiên cứu
- Tìm hiểu về công nghệ MEAN Stack
- Tìm hiểu các vấn đề nghiệp vụ liên quan trong việc sử dụng mạng nội bộ cho trường học
2 Các vấn đề phát sinh
- Không hiểu rõ một số mong muốn phía người dùng
- Thay đổi một số nghiệp vụ so với ban đầu
3 Các phương pháp giải quyết vấn đề
- Tiến hành các cuộc thảo luận để giải quyết vấn đề được đưa ra
- Tham khảo ý kiến từ giảng viên hướng dẫn
- Tái sử dụng và thêm mới một số chức năng để đáp ứng được vấn đề nghiệp vụ đưa ra
4 Kết quả đạt được
- Xây dựng được trang mạng xã hội nội bộ dành cho trường học
- Xây dựng được hệ thống dễ dàng bảo trì, mở rộng và phát triển
Trang 8SUMMARY IN ENGLISH
1 Research issues
- Learn about MEAN Stack technology
- Learn about professional issues related to using the intranet for schools
2 Problems arise
- Do not clearly understand some of the user's wishes
- Changed some operations compared to the original
3 Problem solving methods
- Conduct discussions to resolve the issue raised
- Consult with instructors
- Reuse and add some new functions to meet the given business
4 Results achieved
- Built an internal social networking site for schools
- Build a system that is easy to maintain, expand and develop
Trang 9ABBREVIATIONS
- DBMS : Database Management System
- HTML : HyperText Markup Language
- MVVM : Model – View – ViewModel
- RDBMS : Relational Database Management System
Trang 10LIST OF IMAGE
Image 2.1: Overview of MEAN Stack 4
Image 3.1: General usecase diagram 11
Image 3.2: Usecase actor admin diagram 12
Image 3.3: Usecase actor student/teacher diagram 12
Image 3.4: Usecase actor dean diagram 12
Image 3.5: Usecase actor admin group diagram 13
Image 3.6: Usecase actor company diagram 13
Image 3.7: Usecase manage account of admin 13
Image 3.8: Usecase to manage announcements of admin and dean 20
Image 3.9: Usecase to manage faculty of admin 21
Image 3.10: Usecase to manage category 24
Image 3.11: Usecase to manage report 28
Image 3.12: Usecase to manage enterprise 30
Image 3.13: Usecase to manage recruitment news 33
Image 3.14: Usecase to manage group 36
Image 3.15: Usecase to manage group you joined 40
Image 3.16: Usecase to manage comments, replies 43
Image 3.17: Registration sequence diagram 45
Image 3.18: Login sequence diagram 45
Image 3.19: Updating information sequence diagram 46
Image 3.20: Forgotting password sequence diagram 47
Image 3.21: Logout sequence diagram 48
Image 3.22: Read post detail sequence diagram 48
Trang 11Image 3.23: Create post sequence diagram 48
Image 3.24: Update post senquence diagram 49
Image 3.25: Delete post sequence diagram 49
Image 3.26: Report post sequence diagram 50
Image 3.27: Searching sequence diagram 50
Image 3.28: Join group sequence diagram 50
Image 3.29: Leave group sequence diagram 51
Image 3.30: Report group sequence diagram 51
Image 3.31: Create group sequence diagram 51
Image 3.32: Update group sequence diagram 52
Image 3.33: Delete sequence diagram 52
Image 3.34: Add member sequence diagram 53
Image 3.35: Remove member from group sequence diagram 53
Image 3.36: Comment and reply sequence diagram 53
Image 3.37: Edit comment and reply sequence diagram 54
Image 3.38: Delete comment and reply sequence diagram 54
Image 3.39: Create category sequence diagram 54
Image 3.40: Delete category sequence diagram 55
Image 3.41: Restore category sequence diagram 55
Image 3.42: Update category sequence diagram 55
Image 3.43: Transfer faculty sequence diagram 56
Image 3.44: Update alumni sequence diagram 56
Image 3.45: Delete user sequence diagram 56
Trang 12Image 3.47: Read notification detail sequence diagram 57
Image 3.48: Send message sequence diagram 57
Image 3.49: Using chat bot sequence diagram 58
Image 3.50: Call video sequence diagram 58
Image 4.1: Database diagram 59
Image 4.2: Login screen 69
Image 4.3: Forgot password screen 70
Image 4.4: Verify OTP screen 70
Image 4.5: Change password OTP screen 71
Image 4.6: Homepage admin screen 71
Image 4.7: Create post screen 73
Image 4.8: Create multiple accounts screen 73
Image 4.9: Create single account screen 74
Image 4.10: Manage members screen 75
Image 4.11: Update alumni screen 76
Image 4.12: Transfer falculty screen 76
Image 4.13: Manage user information screen 77
Image 4.14: Delete multiple accounts screen 78
Image 4.15: Restore account screen 78
Image 4.16: Update user information (admin) screen 79
Image 4.17: Register enterprise screen 80
Image 4.18: Manage enterprise information screen 81
Image 4.19: Update enterprise information screen 81
Image 4.20: Manage faculty screen 82
Trang 13Image 4.21: Create faculty screen 83
Image 4.22: Update faculty information screen 83
Image 4.23: Màn Image đổi trưởng khoa 84
Image 4.24: Manage category screen 85
Image 4.25: Restore category screen 86
Image 4.26: Create category screen 86
Image 4.27: Update category information screen 87
Image 4.28: Mange report group screen 87
Image 4.29: Manage report post screen 88
Image 4.30: Manage recruitment news screen 88
Image 4.31: Create recruitment news screen 89
Image 4.32: Update recruitment news screen 90
Image 4.33: Send message screen 91
Image 4.34: Call video screen 92
Image 4.35: Read notifications screen 92
Image 4.36: Read post detail screen 93
Image 4.37: Update post screen 94
Image 4.38: Report screen 95
Image 4.39: Edit comment screen 95
Image 4.40: Update avatar group screen 96
Image 4.41: Manage group member screen 97
Image 4.42: Add member screen 98
Image 4.43: Manage group joined screen 98
Trang 14Image 4.45: Read recruitment news screen 100
Image 4.46: Read recruitment news detail screen 100
Image 4.47: New feed screen 101
Image 4.48: Manage profile screen 102
Image 4.49: Change password screen 103
Image 4.50: User homepage screen 103
Image 4.51: Search user screen 104
Image 5.1: Results after running the backend project 106
Image 5.2: Results after running frontend project 106
Image 5.3: Results after running the project 106
Trang 15LIST OF TABLES
Table 3.1: Table requirement usecase 10
Table 3.2: Table describes the usecase to register account 13
Table 3.3: Table describes the usecase to view the list of accounts 14
Table 3.4: Table describes the usecase to delete account 15
Table 3.5: Table descries the usecase to recover account 16
Table 3.6: Table describes the usecase to transfer faculty 17
Table 3.7: Table describes the usecase to change user information of admin 18
Table 3.8: Table describes the usecase to change user to alumni 19
Table 3.9: The table describes the usecase to get the list of announcements from the dean, admin 20
Table 3.10: Table describesthe usecase to post announcements of admin and dean 20
Table 3.11: Table describes the usecase to create faculty 22
Table 3.12: Table describes the usecase to get list faculty 22
Table 3.13: Table describes the usecase to update faculty information 23
Table 3.14: Table describes the usecase to change dean 23
Table 3.15: Table describes the usecase to get list category 25
Table 3.16: Table describes the usecase to create category 25
Table 3.17: Table describes the usecase to update catefory 26
Table 3.18: Table describes the usecase to delete category 27
Table 3.19: Table describes the usecase to restore category 27
Table 3.20: Table describes the usecase to get list report 28
Table 3.21: Table describes the usecase to delete group and post 29
Trang 16Table 3.23: Table describes the usecase to view list enterprise account 31
Table 3.24: Table describes the usecase to delete enterprise account 31
Table 3.25: Table describes the usecase to update enterprise information 32
Table 3.26: Table decribes the usecase to get list recruitment news 33
Table 3.27: Table describes the usecase to create recruitment news 33
Table 3.28: Table describes the usecase to update recruitment news 34
Table 3.29: Table describes the usecase delete recruitment news 35
Table 3.30: Table describes the usecase update group information 36
Table 3.31: Table describes the usecase to delete group 36
Table 3.32: Table describes the usecase to add members 37
Table 3.33: Table describe the usecase to delete member 38
Table 3.34: Table describes the usecase to change group administrator 39
Table 3.35: Table describes the usecase to search group 40
Table 3.36: Table describes the usecase to report group 40
Table 3.37: Table describes the usecase to join group 41
Table 3.38: Table describes the usecase to leave group 42
Table 3.39: Table describes the usecase to create group 42
Table 3.40: Table describes the usecase to comment, reply 43
Table 3.41: Table describes the usecase update comment, reply 43
Table 3.42: Table describes the usecse to delete comment, reply 44
Table 4.1: Collection accounts 59
Table 4.2: Collection categories 60
Table 4.3: Collection comment 60
Table 4.4: Collection companies 61
Trang 17Table 4.5: Collection conversations 61
Table 4.6: Collection groups 62
Table 4.7: Collection messages 62
Table 4.8: Collection notifications 63
Table 4.9: Collection notify_maingroup 63
Table 4.10: Collection notify_templates 64
Table 4.11: Collection participants 64
Table 4.12: Collection posts 65
Table 4.13: Collection profiles 65
Table 4.14: Collection recruitment_news 66
Table 4.15: Collection replies 67
Table 4.16: Collection report_groups 67
Table 4.17: Collection report_groups 68
Table 4.18: Collection roles 68
Table 4.19: Collection user_maingroups 68
Table 4.20: Collection user_subgroups 69
Table 4.21: Login screen description 69
Table 4.22: Forgot password screen description 70
Table 4.23: Verify OTP screen description 70
Table 4.24: Change password OTP screen description 71
Table 4.25: Homepage admin screen description 72
Table 4.26: Create post screen description 73
Table 4.27: Create multiple accounts screen description 73
Trang 18Table 4.29: Manage members screen description 75
Table 4.30: Update alumni screen description 76
Table 4.31: Transfer falculty screen description 76
Table 4.32: Manage user information screen description 77
Table 4.33: Delete multiple accounts screen description 78
Table 4.34: Restore account screen description 78
Table 4.35: Update user information (admin) screen description 79
Table 4.36: Register enterprise screen description 80
Table 4.37: Manage enterprise information screen description 81
Table 4.38: Update enterprise information screen description 82
Table 4.39: Manage faculty screen description 82
Table 4.40: Create faculty screen description 83
Table 4.41: Update faculty information screen description 84
Table 4.42: Description màn Image đổi trưởng khoa 84
Table 4.43: Manage category screen description 85
Table 4.44: Restore category screen description 86
Table 4.45: Create category screen description 86
Table 4.46: Update category information screen description 87
Table 4.47: Mange report group screen description 88
Table 4.48: Manage report post screen description 88
Table 4.49: Manage recruitment news screen description 89
Table 4.50: Create recruitment news screen description 89
Table 4.51: Update recruitment news screen description 90
Table 4.52: Send message screen description 91
Trang 19Table 4.53: Call video screen description 92
Table 4.54: Read notifications screen description 93
Table 4.55: Read post detail screen description 93
Table 4.56: Update post screen description 94
Table 4.57: Report screen description 95
Table 4.58: Edit comment screen description 96
Table 4.59: Update avatar group screen description 96
Table 4.60: Manage group member screen description 97
Table 4.61: Add member screen description 98
Table 4.62: Manage group joined screen description 99
Table 4.63: Create group screen description 99
Table 4.64: Read recruitment news screen description 100
Table 4.65: Read recruitment news detail screen description 101
Table 4.66: New feed screen description 101
Table 4.67: Manage profile screen description 102
Table 4.68: Change password screen description 103
Table 4.69: User homepage screen description 104
Table 4.70: Search user screen description 104
Table 5.1: List of libraries and environments required in the product 105
Table 5.2: List of commands to install and run the program 105
Table 5.3: Test function add category 107
Table 5.4: Test the recruitment news editing function 108
Table 6.1: Technological difficulties 110
Trang 20CONTENT
ACKNOWLEDGEMENT iv
SUMMARY IN VIETNAMESE v
SUMMARY IN ENGLISH vi
ABBREVIATIONS vii
LIST OF IMAGE viii
LIST OF TABLES xiii
CONTENT xviii
CHAPTER 1 OVERVIEW 1
1.1 The urgency of the project 1
1.2 Purpose of the project 2
1.3 Object and scope of the study 2
1.3.1 The object of the study 2
1.3.2 The scope of the study 2
1.4 Research methods 2
1.5 Expected results to be achieved 3
CHAPTER 2 THEORETICAL BASIS 4
2.1 MEAN Stack architecture model 4
2.1.1 Overview of MEAN 4
2.1.2 MongoDB 4
2.1.3 Express 5
2.1.4 Angular 6
2.1.5 NodeJS 6
CHAPTER 3 ANALYSIS AND DESIGN OF SYSTEM 7
Trang 213.1 Survey 7
3.2 Define requirements 8
3.2.1 Require function 8
3.2.2 Non-functional requirements 9
3.3 Functional specification 10
3.3.1 Requirement table for use case 10
3.3.2 Usecase specification 13
3.4 Sequence diagram 45
3.4.1 Registration sequence diagram 45
3.4.2 Login sequence diagram 45
3.4.3 Updating information sequence diagram 46
3.4.4 Forgotting password sequence diagram 47
3.4.5 Logout sequence diagram 48
3.4.6 Read post detail sequence diagram 48
3.4.7 Create post sequence diagram 48
3.4.8 Update post senquence diagram 49
3.4.9 Delete post sequence diagram 49
3.4.10 Report post sequence diagram 50
3.4.11 Searching sequence diagram 50
3.4.12 Join group sequence diagram 50
3.4.13 Leave group sequence diagram 51
3.4.14 Report group sequence diagram 51
3.4.15 Create group sequence diagram 51
Trang 223.4.17 Delete sequence diagram 52
Trang 24CHAPTER 1 OVERVIEW 1.1 The urgency of the project
In recent years, the increasingly strong development of technology, the internet
in general, and social networking sites, in particular, has been having a great impact on social life and people's activities Social networks help people connect with each other from many parts of the world, make it easy for people to express their thoughts and feelings to society, help people capture information quickly and easily easier and help the social community become more and more connected
Besides the positive aspects, social networks also exist many negative factors Especially the issue of behavioral culture on social networks: such as posting misleading and untrue information, posting insults, insulting each other's honor and dignity, trying
to insult, and insulting people I don't even like or even know Those things are going against the morality, fine customs, and traditions of Vietnam, especially in the educational environment
In addition, from the perspective of a student, the team found that the school's announcements were still quite limited to students When a student joins too many groups on social networks, it is common to miss notifications from school groups Or students can spend all day surfing social media but can't spare a moment to check school email
Especially, going through a prolonged pandemic period, when everything is done via the internet from teaching to exchanging and working in groups The group realizes that there is a need for a healthy online environment for students Since then, the school's internal social networking site was born, allowing students to promptly receive notifications from the school and the faculty As well as helping students have a community of learning, exchanging and connecting with each other without being affected by other non-educational factors This place also helps students to contact and connect with alumni who have graduated so that they can learn experiences and knowledge from their predecessors In addition, the website also helps students to reach employers easily through job postings, or contact employers directly
Trang 251.2 Purpose of the project
The topic "Building an internal social networking site for schools" poses key issues about the goals that research students need to accomplish, including:
- Research and use technologies, libraries, and techniques to apply and develop websites, including Application technologies that help develop projects fastest, most independent, and easy to deploy for different environments Besides knowing how to host to have on-site deployment on the internet
- The product is a website, so it requires a user-friendly interface that is easy to use The product is also required to be used on many browsers as well as many types of mobile devices, and the features can work well, the interface does not have too much variation between devices and browsers And the product has the ability to upgrade to continue developing more features in the future
- Finally, apply the knowledge learned in 4 years at school to the group's products
1.3 Object and scope of the study
1.3.1 The object of the study
The project is implemented around two main objects which are technology and practical operations that the website is aiming for
The technology object that the team chose to study is the MEAN stack including MongoDB, ExpressJS, Angular, NodeJS In addition, it also combines some libraries such as JWT (Json Web Token), Socket.IO Heroku and Vercel are used to deploy the website on the host
The group of customers that our team is targeting is the group that needs to create
a connecting community for students in the school, as well as to be convenient in sending the necessary notices quickly and without losing them to the students
1.3.2 The scope of the study
The scope of implementation is set at a general level, grasping general knowledge for implementation content and applying each knowledge content to actual products, not focusing on theory
1.4 Research methods
Trang 26- Consult with instructors, customers, and friends around, who have experience related to the problems being faced to create product accuracy
- Refer to the profession of social networks similar to Facebook, Gapo,…
1.5 Expected results to be achieved
- Understand and apply the knowledge, functions, and operation of MEAN Stack technology
- Developing and perfecting products based on the knowledge learned
Trang 27CHAPTER 2 THEORETICAL BASIS 2.1 MEAN Stack architecture model
2.1.1 Overview of MEAN
Any web application is created using multiple technologies, the combination of which is called a “stack” MEAN stands for MongoDB, Express, Angular, and NodeJS You can build a complete web application including frontend, backend, business logic, and database using MEAN stack
Image 2.1: Overview of MEAN Stack
2.1.2 MongoDB
2.1.2.1 Overview
MongoDB is an open-source database and leading NoSQL database, used by millions of people MongoDB is written in C++ In addition, MongoDB is a cross-platform database, working on Collection and Document concepts, it provides high performance, high availability, and easy scalability
2.1.2.2 Database
The database is a physical container for collections Each database gets its own set
of files on the file system Each MongoDB Server can have multiple databases
2.1.2.3 Collection
A collection is a group of documents in MongoDB It is equivalent to a table in an RDBMS Therefore, a collection exists within a single database Collections do not have relationship constraints like other database management systems (DBMS), so access is very fast, so each collection can contain many different categories unlike tables in
Trang 28MySQL which are fixed fields determined Documents inside a collection can have many different fields In particular, all documents in a collection are similar or have the same related purpose A document in MongoDB, similar in structure to the JSON data type, is a collection of key-value pairs Documents have a dynamic schema, which means that documents in the same collection do not need to have the same set of fields or structure, and common fields in a collection's documents can hold different data types
2.1.2.4 Document
A document in MongoDB, similar in structure to the JSON data type, is a collection of key-value pairs Documents have a dynamic schema, which means that documents in the same collection do not need to have the same set of fields or structure, and common fields in a collection's documents can hold different data types
2.1.3 Express
Expressjs is also written as Express js, Express.js This is a free and open-source framework for Node.js Express.js is used to design and build web applications simply and quickly
Since Express js only requires the Javascript programming language, building web applications and APIs becomes simpler for programmers and developers Expressjs
is also a Node.js framework so most of the code is already written for programmers to work with
Thanks to Expressjs, developers can easily create single-web, multi-web, or hybrid applications Due to its relatively lightweight, Expressjs helps organize web applications into a more organized MVC architecture To be able to use this source code,
we need to know about Javascript and HTML
Expressjs is also part of a technology that makes it easier to manage web applications known as the MEAN software stack Thanks to Express js' Javascript library, it helps programmers to build web applications more efficiently and quickly Expressjs is also used to enhance the functionality of Node.js
In fact, without using Express.js, you would have to go through a lot of complex programming steps to build an effective API Express js has made programming in Node.js easier and has many additional new features
Trang 292.1.4 Angular
2.1.4.1 Denifition Angular
Angular is a structured Javascript framework for dynamic web applications Developed in 2009, currently maintained by Google It allows you to use HTML as your template language and allows you to extend the syntax of HTML to express your application components clearly and concisely Two core features: Data binding and Dependency injection of Angular eliminate much of the code that you normally have to write It occurs in all browsers, making it the ideal partner of any Server technology
With Angular, you're taking advantage of a platform that can scale from developer projects to enterprise-level applications Angular is designed to make updating
single-as straightforward single-as possible, so take advantage of the latest developments with a minimum of effort Best of all, the Angular ecosystem consists of a diverse group of over 1.7 million developers, library authors, and content creators
2.1.5 NodeJS
2.1.5.1 Definition of NodeJS
NodeJS is a source code built on the Javascript V8 Engine platform, it is used to build web applications such as video clip sites, forums, and especially narrow social networking sites
NodeJS can run on many different operating system platforms from WIndow to Linux, and OS X, so that is also an advantage NodeJS provides rich libraries in the form
of various Javascript Modules that simplify programming and reduce time to a minimum
2.1.5.2 NodeJS Operation
The main idea of Node js is to use non-blocking, directing data input and output through real-time tasks quickly Because Node js is rapidly scalable and capable of handling a large number of concurrent connections by high throughput If in traditional web applications, requests create a new request processing thread and occupy the system's RAM, the system's resources will be inefficiently used Therefore, the solution that Node js offers is to use single-threaded (Single-Threaded), combined with non-blocking I/O to execute requests, allowing tens of thousands of concurrent connections
Trang 30CHAPTER 3 ANALYSIS AND DESIGN OF SYSTEM 3.1 Survey
Today, when technology 4.0 is more and more developed and indispensable to human life It is extremely useful to build a social networking site, to create a community that connects school members When students want to find each other or find instructors based on popular social networks available today, it is extremely difficult, because not everyone leaves detailed information on social networks Next, schools that can contact alumni who have graduated is also an issue that is being raised today, when the school's communication method and students are almost out of date Besides, the current students, because when participating in social networks, join a lot of groups that lead to students missing the announcements from the school, from the faculty or one day the email messages students receive are too late many, are not classified, making it possible for students to miss important messages Another problem, is employers have a very high recruitment demand, but the unemployment rate for students is not small, the main reason is the approach of students to businesses when they are still students still quite limited The question now is how to solve the problems raised? Then the birth of the internal social networking site is the solution to meet all of the above problems
The functions of the internal social networking site include:
- User: login, log out, forgot password
- Students, and lecturers: Receive announcements from faculties and schools, join discussion groups, view corporate job postings, text, call,
- Dean: Manage students, and faculty in the department, create announcements,
- Enterprises: Post and manage job postings
- System administration: Manage users, articles, announcements, categories, and groups,
Trang 31+ Change number (verify OTP)
o Receive and view announcements from university, faculty and groups that have joined
o Searching for user and business information
o Search and join group
o Manage posts posted in group (create, edit, delete)
o Report post
o Manage comments, reply of posts in group (create, edit, delete)
o Send message, video call
c Dean
o Manage student, teacher of faculty (transfer faculty)
o Send announcements to student and teacher in faculty
d Admin of group
o Manage group (create group, change group information)
o Manage member in group (add members, delete member)
o Manage posts in group (manage report of posts, delete posts)
o Add or delete admin group
e Enterprise
o Create recruitment news
o Manage recruitment news
f System admin
Trang 32o Manage user:
+ Manage account (create single or multiple account, update account, ban accounts)
+ Manage user information (update use information)
+ Send announcements to student and teacher in university
+ Update alumni
o Manage group categories, report categories (create, update, delete)
o Manage report (posts, groups)
o Manage announcements
o Manage faculties
o Configure system
3.2.1.2 Require system function
o Run a schedule to delete the account
o Run a schedule to delete notifications that were sent more than 7 days ago
o Run a schedule to change the status of recruitments expired
o Suggest relative groups of the group user joined
o Authorization
o Save data
o Notification: always notify when success or fail
o Security: Check permissions and save operator information before and when working with data
o Fast page loading speed
o Fast and efficient search speed
c Development
o Easy to develop application
Trang 333.3 Functional specification
3.3.1 Requirement table for use case
Table 3.1: Table requirement usecase
Trang 3420 Post and manage post x x x x x x
admin group
Login
Manage Account
Search User, Group, Company
Read Main Notification
Manage User Manage Report
Manage Notification
Manage Group
Manage Faculty
Manage Category
Create Group
Join Group
Manage Recruitment New s
Report Group, Post
Manage Company
Manage comment, reply
user
forgot passw ord
surv ey
«extend»
«include»
Trang 35Image 3.2: Usecase actor admin diagram
Image 3.3: Usecase actor student/teacher diagram
Image 3.4: Usecase actor dean diagram
uc Admin
admin
Manage Account
Manage Company
Manage Report
Manage Category
Manage Notification Manage
Faculty
System Configuration
Search User, Post, Company
Read Post, Notify, New s Recruitment Create Group
Manage Post
Manage Comment, Reply
uc dean
dean
Manage Faculty
Trang 36Image 3.5: Usecase actor admin group diagram
Image 3.6: Usecase actor company diagram
3.3.2 Usecase specification
3.3.2.1 Usecase manage account of admin
Image 3.7: Usecase manage account of admin Table 3.2: Table describes the usecase to register account
uc manage account
admin
manage account
signup account
delete account
recov ery account read account
transfer faculty
change profile
change to alumni
Trang 37Trigger Choose tab “Manage” in sidebar of screen
management categories
2 Admin click tab “Register” display form multiple registration 3.1 Admin click button “Choose file”, choose excel file has account information
3.2 Admin click button “Sign up” to register multiple accounts
4 Admin click button “Single sign up” to register single accounts 4.1 Admin fill in the form: Id, Fullname, Dob, Address, Phone, Year, Faculty, Role
4.2 Admin click button “Sign up” to register account
5 System alert notification “success” and admin click “save” to save excel file “account_signup.xlsx” has username and password
of account has already registered
Alternative
flow
No
Exception Flow System will write error registration log at Id of errored user in file
“account_signup.xlsx” at sheet “log” of “account_signup.xlsx” file
tags and the error message "Please fill the form!"
Table 3.3: Table describes the usecase to view the list of accounts
management categories
Trang 382 Admin click tab “Information”, The system will display a list of users by faculty
3 Admin select the switch button “delete” to see the list of banned accounts by faculty
management categories
2 Admin click tab “Information”, The system will display a list of users by faculty
3 Admin select role of user in listbox
4 Admin choose faculty of user that want to delete
5 Admin enter the name or id of the user to be deleted in the search bar and press the search icon
6 The system displays the information the admin user is looking for
7 Admin click on the delete icon to delete the user
8 The system displays a confirmation form, admin presses the
"Submit" button to complete the process of deleting the user
9 The system turns off the confirmation form and deletes the user from the list of users on the screen, displaying a successful user deletion message
Trang 39Alternative
flow
8 The system displays a confirmation form, the admin presses the
"cancel" button to stop deleting the user
9 The system turns off the confirmation form
Exception Flow The system will report an error if saving data to the database fails
Table 3.5: Table descries the usecase to recover account
4 Admin select role of user in listbox
5 Admin selects the user's faculty to restore
6 Admin enter the name or id of the user to be restored into the search bar and press the search icon
7 The system displays the information the admin user is looking for
8 Admin click on the restore icon to restore the user
9 The system displays a confirmation form, admin presses the
"submit" button to complete the user recovery process
10 The system turns off the confirmation form, deletes the user from the list of deleted users on thescreen, and displays the message of successful user recovery
Trang 40Alternative
flow
9 The system displays a confirmation form, admin presses the
"cancel" button to stop restoring the user
10 The system turns off the confirmation form
Exception Flow The system will report an error if saving data to the database fails
Table 3.6: Table describes the usecase to transfer faculty
4 Admin selects the user's faculty to transfer
5 Admin enters the name or id of the user to be transferred into the search bar and presses the search icon
6 The system displays the information the admin user is looking for
7 Admin clicks on the faculty transfer icon to transfer the faculty