1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Building an internal social network website for schools

135 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Building an Internal Social Network Website for Schools
Tác giả Nguyễn Cước Thiên, Tu Ngọc Yến Vy
Người hướng dẫn PhD. Lê Vĩnh Thịnh
Trường học Ho Chi Minh City University of Technology and Education
Chuyên ngành Information Technology
Thể loại Capstone project
Năm xuất bản 2022
Thành phố Ho Chi Minh City
Định dạng
Số trang 135
Dung lượng 6,16 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 2

HCMC 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 3

SOCIALIST 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 4

SOCIALIST 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 5

SOCIALIST REPUBLIC OF VIETNAM Independence - Freedom – Happiness

***********

REVIEWER COMMENT SHEET

Major: Information technology

Project name: BUILDING AN INTERNAL SOCIAL NETWORK WEBSITE FOR

Trang 6

ACKNOWLEDGEMENT

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 7

SUMMARY 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 8

SUMMARY 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 9

ABBREVIATIONS

- DBMS : Database Management System

- HTML : HyperText Markup Language

- MVVM : Model – View – ViewModel

- RDBMS : Relational Database Management System

Trang 10

LIST 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 11

Image 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 12

Image 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 13

Image 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 14

Image 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 15

LIST 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 16

Table 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 17

Table 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 18

Table 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 19

Table 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 20

CONTENT

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 21

3.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 22

3.4.17 Delete sequence diagram 52

Trang 24

CHAPTER 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 25

1.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 27

CHAPTER 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 28

MySQL 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 29

2.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 30

CHAPTER 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 32

o 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 33

3.3 Functional specification

3.3.1 Requirement table for use case

Table 3.1: Table requirement usecase

Trang 34

20 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 35

Image 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 36

Image 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 37

Trigger 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 38

2 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 39

Alternative

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 40

Alternative

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

Ngày đăng: 28/12/2023, 18:48

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. MongoDB. Retrieved from: https://www.tutorialspoint.com/mongodb/index.htm Link
[2]. Node.js MongoDB Get Started. Retrieved from : https://www.w3schools.com/nodejs/nodejs_mongodb.asp Link
[3]. AngularJS Tutorial. Retrieved from : https://www.w3schools.com/angular/ Link
[4]. Angular - Tour of Heroes app and Tutorial. Retrieved from: https://angular.io/tutorial Link
[5]. JWT.IO - JSON web tokens introduction. Retrieved from: https://jwt.io/introduction Link
w