Tải bản đầy đủ (.docx) (75 trang)

KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG ỨNG DỤNG HỖ TRỢ QUẢN LÝ VÀ THEO DÕI SỰ KIỆN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (908.46 KB, 75 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

PHẠM QUANG NHÂN
TRẦN NGỌC TỒN

KHĨA LUẬN TỐT NGHIỆP

XÂY DỰNG ỨNG DỤNG HỖ TRỢ QUẢN LÝ VÀ THEO
DÕI SỰ KIỆN
BUILDING AN APPLICATION SUPPORT EVENT
MANAGEMENT

KỸ SƯ/ CỬ NHÂN NGÀNH KĨ THUẬT PHẦN MỀM

TP. HỒ CHÍ MINH, 2021

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM


PHẠM QUANG NHÂN – 17520122
TRẦN NGỌC TỒN – 17521142

KHĨA LUẬN TỐT NGHIỆP

XÂY DỰNG ỨNG DỤNG HỖ TRỢ QUẢN LÝ VÀ THEO


DÕI SỰ KIỆN
BUILDING AN APPLICATION SUPPORT EVENT
MANAGEMENT

KỸ SƯ/ CỬ NHÂN NGÀNH KĨ THUẬT PHẦN MỀM

GIẢNG VIÊN HƯỚNG DẪN
ThS. THÁI THỤY HÀN UYỂN
Ths. LÊ THANH TRỌNG
TP. HỒ CHÍ MINH, 2021

THƠNG TIN HỘI ĐỒNG CHẤM KHĨA LUẬN TỐT NGHIỆP
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số ……………………
ngày ………………….. của Hiệu trưởng Trường Đại học Công nghệ Thông tin. 1.
……………………………………… - Chủ tịch
2. ……………………………………… - Thư ký
3. ……………………………………… - Ủy viên
4. ……………………………………… - Ủy viên
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC
CÔNG NGHỆ THÔNG TIN

Độc Lập - Tự Do - Hạnh Phúc
TP.HCM, ngày……tháng…...năm…….


NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP
(CỦA CÁN BỘ HƯỚNG DẪN)

Tên khóa luận:
XÂY DỰNG ỨNG DỤNG HỖ TRỢ QUẢN LÝ VÀ THEO DÕI SỰ KIỆN
Nhóm SV thực hiện: Cán bộ hướng dẫn:
Phạm Quang Nhân 17520122 ThS. Thái Thụy hàn Uyển Trần Ngọc Tồn
17521142 ThS. Lê Thanh Trọng
Đánh giá Khóa luận
1. Về cuốn báo cáo:
Số trang 93 _____ Số chương 3_______
Số bảng số liệu 34 _____ Số hình vẽ 72______
Số tài liệu tham khảo 17 _____ Sản phẩm 1_______
Một số nhận xét về hình thức cuốn báo cáo:
……………………………………………………………………………………………
… ………………………………………………………………………………………………
……………………………………………………………………………………………… 2.
Về nội dung nghiên cứu:
……………………………………………………………………………………………

……………………………………………………………………………………………

……………………………………………………………………………………………

……………………………………………………………………………………………

3. Về chương trình ứng dụng:
……………………………………………………………………………………………

……………………………………………………………………………………………

……………………………………………………………………………………………




……………………………………………………………………………………………

4. Về thái độ làm việc của sinh viên:
……………………………………………………………………………………………

……………………………………………………………………………………………

Đánh giá chung:Khóa luận đạt/khơng đạt u cầu của một khóa luận tốt nghiệp kỹ sư/ cử nhân,
xếp loại Giỏi/ Khá/ Trung bình
Điểm từng sinh viên:
Phạm Quang Nhân: ………../10
Trần Ngọc Tồn: ………../10

Người nhận xét
(Ký tên và ghi rõ họ tên)

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC

Độc Lập - Tự Do - Hạnh Phúc

CƠNG NGHỆ THƠNG TIN

TP.HCM, ngày……tháng…...năm…….


NHẬN XÉT KHĨA LUẬN TỐT NGHIỆP
(CỦA CÁN BỘ PHẢN BIỆN)
Tên khóa luận:
XÂY DỰNG ỨNG DỤNG HỖ TRỢ QUẢN LÝ VÀ THEO DÕI SỰ KIỆN
Nhóm SV thực hiện: Cán bộ phản biện:
Phạm Quang Nhân 17520122 ..
Trần Ngọc Tồn 17521142
Đánh giá Khóa luận
5. Về cuốn báo cáo:
Số trang 93 _____ Số chương 3_______
Số bảng số liệu 34 _____ Số hình vẽ 72______
Số tài liệu tham khảo 17 _____ Sản phẩm 1_______


Một số nhận xét về hình thức cuốn báo cáo:
……………………………………………………………………………………………
… ………………………………………………………………………………………………
……………………………………………………………………………………………… 6.
Về nội dung nghiên cứu:
……………………………………………………………………………………………

……………………………………………………………………………………………

……………………………………………………………………………………………

……………………………………………………………………………………………

7. Về chương trình ứng dụng:
……………………………………………………………………………………………


……………………………………………………………………………………………

……………………………………………………………………………………………

……………………………………………………………………………………………
… 8. Về thái độ làm việc của sinh viên:
……………………………………………………………………………………………

……………………………………………………………………………………………

Đánh giá chung:Khóa luận đạt/khơng đạt u cầu của một khóa luận tốt nghiệp kỹ sư/ cử nhân,
xếp loại Giỏi/ Khá/ Trung bình
Điểm từng sinh viên:
Phạm Quang Nhân: ………../10
Trần Ngọc Tồn: ………../10


Người nhận xét
(Ký tên và ghi rõ họ tên)

LỜI CẢM ƠN
Khoá luận tốt nghiệp với đề tài “Xây dựng ứng dụng hỗ trợ quản lý và theo dõi sự
kiện” là minh chứng cho q trình cố gắng khơng ngừng trong việc tìm tòi, học hỏi
trong suốt hơn 4 năm học tập tại trường Đại học Công nghệ Thông tin. Thể hiện khả
năng của bản thân trong việc áp dụng kiến thức chun mơn vào giải quyết bài tốn
thực tế. Trong q trình thực hiện khố luận, chúng em đã nhận được sự hướng dẫn
tận tình từ q thầy cơ, sự giúp đỡ và hỗ trợ từ gia đình cũng như bạn bè. Một cách
đặc biệt, chúng em xin được gửi lời cảm ơn chân thành đến:
Các thầy cô trường Đại học Cơng nghệ Thơng Tin nói chung và các thầy cơ trong
Khoa Cơng nghệ Phần mềm nói riêng đã tận tình truyền đạt kiến thức tới chúng em

trong những năm học tập tại trường. Đó là tài sản quý báu đã giúp em hồn thành
khố luận và cũng là hành trang cho con đường sự nghiệp của bản thân sau này.
Chúng em xin được gửi lời cảm ơn sâu sắc tới Ths.Thái Thụy Hàn Uyển và Ths.
Lê Thanh Trọng, người đã trực tiếp hướng dẫn, chỉ bảo, giúp đỡ chúng em những lúc
khó khăn, đưa ra những lời khun bở ích để khố luận được hồn thành đúng tiến độ
và đáp ứng các yêu cầu đề ra ban đầu.
Cảm ơn giảng viên phản biện và các thầy cô trong hội đồng chấm luận văn với
những lời khuyên, góp ý quý báu và bở ích. Từ đó bài luận văn của chúng em được trở
nên hoàn thiện hơn.
Lời cuối cùng, chúng em xin dành lời cảm ơn gửi tới gia đình, anh chị, bạn bè đã
luôn bên cạnh để động viên và đóng góp ý kiến trong q trình hồn thành khoá luận
này.
Thành phố Hồ Chí Minh, tháng … năm 2021
Sinh viên

Phạm Quang Nhân
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC

Trần Ngọc Tồn
CƠNG NGHỆ THƠNG TIN
CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc
Lập - Tự Do - Hạnh Phúc


ĐỀ CƯƠNG CHI TIẾT
TÊN ĐỀ TÀI: Ứng dụng hỗ trợ quản lý và theo dõi sự kiện
Cán bộ hướng dẫn: ThS. Thái Thụy Hàn Uyển
ThS. Lê Thanh Trọng
Thời gian thực hiện: Từ ngày 01/03/2021 đến ngày 20/06/2021

Sinh viên thực hiện:
Phạm Quang Nhân - 17520122
Trần Ngọc Toàn - 17521142

Nội dung đề tài:
Lý do chọn đề tài:
Sau khoảng thời gian tham gia và
học tập tại giảng đường đại học, các sự kiện sinh viên, hoạt động học thuật, cuộc thi do
các câu lạc bộ, tập thể đoàn hội sinh viên thực hiện luôn mang lại giá trị cực cho đời
sống tinh thần cũng như học tập của sinh viên. Để mang lại thành công cho 1 sự kiện
hay 1 hoạt động sinh viên, các bạn sinh viên phải tốn rất nhiều thời gian cho việc quản
lý công việc, vận hành 1 sự kiện diễn ra 1 cách trơn tru. Các vấn đề mà các bạn nắm
vai trò ban tổ chức thường sẽ gặp phải như là chưa thể theo dõi tiến độ công việc của
mọi người trong ban tổ chức, tương tác giữa các thành viên khi tiến hành sự kiện.
Vì thế chúng em đã đưa ra 1 ứng dụng có thể giúp các bạn điều phối, quản lý vận
hành các nội dung, công việc của từng sự kiện, hoạt động.
Mục tiêu:
- Xây dựng ứng dụng quản lý nội dung, giúp lên kế hoạch timeline sự kiện, hoạt
động. Người dùng có thể tạo và lưu lại các mẫu kế hoạch giúp tiết kiệm thời gian
khi có các sự kiện tương tụ.
- Xây dựng ứng dụng quản lý công việc, phân công, nhắc nhở và theo dõi tiến độ
nhằm nâng cao năng suất công việc của các thành viên trong ban tổ chức.

- Ứng dụng giúp người dùng tương tác, điều phối và vận hành sự kiện khơng để nhiều
sai sót xảy ra thông qua các kênh liên lạc.
- Ứng dụng sử dụng những công nghệ mới, phù hợp đáp ứng khả năng mở rộng và


tương tác cao.
- Ứng dụng có giao diện trực quan, trải nghiệm người dùng được đặt lên hàng đầu. Phát triển ứng dụng có tính thực tiễn cao, có thể triển khai ứng dụng vào thực tế.

Nhóm em hi vọng dựa trên những nền tảng lý thuyết đã được thầy cô truyền dạy và hỗ
trợ, kết hợp với những công nghệ nhóm em đã tìm hiểu, mong rằng luận văn tốt nghiệp
của nhóm em sẽ đạt được mục đích như mong đợi.
Phạm vi:
Phạm vi địa lý: Ứng dụng sử dụng tại các câu lạc bộ đội nhóm tại các trường đại
học. Phạm vi chức năng:
- Quản lý thông tin, nội dung, kế hoạch của sự kiện
- Xây dựng kịch bản chương trình và tương tác với thời gian thật.
- Hỗ trợ chat trao đổi, chia sẻ thông tin qua các kênh hội thoại giữa các thành viên Quản lý, phân công và theo dõi tiến độ công việc.
- Đặt lời nhắc và hệ thống thông báo liên tục
- Lưu trữ hệ thống tài nguyên của sự kiện.
Đối tượng sử dụng:
Các câu lạc bộ, đội nhóm, tập thể
đồn hội tở chức các hoạt động sinh viên, cuộc thi học thuật, seminar, workshop dành
cho sinh viên.
Điểm nổi bật của ứng dụng:
- Ứng dụng đề cao trải nghiệm người dùng giúp người dùng dễ dàng trong việc quản
lý.
- Khi các sự kiện, hoạt động diễn ra, có thể theo dõi kịch bản với thời gian thực tránh
các sự cố ngoài ý muốn.
- Ứng dụng giúp các thành viên tương tác trực tiếp với nhau thông qua kênh hội thoại
ngay trong lúc diễn ra sự kiện.


- Ứng dụng sẽ có hệ thống thơng báo để người dùng không bị bỏ qua các việc quan
trọng
Phương pháp thực hiện:
- Làm việc nhóm với 2 thành viên, lên kế hoạch và thực hiện bằng cách trao đổi tực
tiếp và gián tiếp cũng như nhờ sự tự vấn của giáo viên hướng dẫn
- Nhóm đã thực hiện nghiên cứu qua các bước sau đây:

• Khảo sát, nghiên cứu đề tài và cơng nghệ
• Phân tích thiết kế hệ thống, vẽ các sơ đồ, luồng xử lý
• Thiết kế CSDL, API, giao diện người dùng
• Xây dựng hệ thống
• Nghiên cứu và xây dựng các tính năng nởi bật
• Kiểm thử, sửa lỗi và đưa vào ứng dụng thực nghiệm
Nền tảng công nghệ:
- Front-end: Reactjs
- Mobile: React-Native Expo
- Back-end: Nodejs
- Database: MongoDb(MongoAtlas)
Kết quả mong đợi:
- Ứng dụng hồn thiện có thể thực nghiệm bằng các sự kiện của Khoa .
- Có thể mở rộng và phát triển thêm các tính năng trong tương lai.
- Hệ thống tương tác có khả năng phản hồi nhanh và chính xác ở mức độ cao.

Kế hoạch thực hiện:(Mô tả kế hoạch làm việc và phân công công việc cho từng sinh viên tham
gia)

Giai đoạn

Thời gian

Mơ tả

Tồn

Nhân

1. Khảo

sát,
nghiên
cứu

1/3/20217/3/2021

- Lựa chọn đề tài
- Khảo sát các ứng
dụng tương tự
- Tìm hiểu về các
cơng nghệ sử
dụng trong khóa
luận

- Khảo sát
các ứng
dụng
- Nghiên cứu
các
cơng
nghệ ở phía
front-end

- Khảo sát các
ứng dụng

2. Phân
tích hệ

8/3/202113/3/2021


- Phân tích, xác
định đặc tả chức

- Phân tích.
xác
định

- Vẽ các sơ đồ
- Thiết kế Cơ sở

- Nghiên cứu
các công nghệ
ở phía backend


thống

năng

đặc tả chức
năng

- Vẽ các sơ đồ
luồng xử lý
- Thiết kế
wireframe, giao
diện
- Xây dựng CSDL Nghiên cứu công
nghệ, xây dựng

base source

- Vẽ luồng xử

- Thiết kế
Wireframe

Giao
diện
- Nghiên cứu
công nghệ,
xây
dựng
base source
cho frontend

-

dữ liệu

Nghiên cứu
công
nghệ,
xây dựng base
source
cho
back-end

3. Xây
dựng ứng

dụng

14/3/20
2117/4/20
21

- Xây dựng ứng
dụng - Xây dựng
API
- Hiện thực ứng
dụng dựa theo
các tính năng đã
phân tích

- Cùng xây
dựng ứng
dụng

- Xây dựng API
- Cùng xây dựng
ứng dụng

4. Nghiên
cứu và
xây
dựng
tính
năng nổi
bật


18/4/20
2122/5/202
1

- Nghiên cứu về
các tính năng nởi
bật
- Hiện thực hóa các
tính năng
- Tích hợp vào ứng
dụng

- Cùng xây
dựng ứng
dụng

- Cùng xây dựng
ứng dụng

5. Kiểm
thử chức
năng

22/5/202
112/6/20
21

- Hoàn thiện ứng
dụng cho cả web
và mobile

- Kiểm thử chức
năng
- Thực nghiệm

- Cùng xây
dựng ứng
dụng

- Cùng xây dựng
ứng dụng

6. Hoàn
thiện báo
cáo

5/6/202
1–
19/6/20
21

- Hồn thành báo
cáo khóa luận
- Chuẩn bị slide
báo cáo, nội dung
demo - Chuẩn bị
cho phần phản
biện và bảo vệ

- Chuẩn bị
slide và nội

dung demo
- Hoàn thiện
báo cáo
- Chuẩn bị
phản biện
và bảo vệ

- Hoàn thiện báo
cáo
- Chuẩn bị phản
biện và bảo vệ


Xác nhận của CBHD
(Ký tên và ghi rõ họ tên)

TP. HCM, ngày 08 tháng 03 năm
2021 Sinh viên
(Ký tên và ghi rõ họ tên)

MỤC LỤC
TÓM TẮT KHÓA LUẬN..............................................................................................1
Chương 1: MỞ
ĐẦU ......................................................................................................3 1.1. Giới thiệu
đề tài............................................................................................... 3 1.2. Lý do chọn đề
tài............................................................................................. 3 1.3. Mục
tiêu .......................................................................................................... 4 1.4. Phạm
vi ........................................................................................................... 5 1.5. Phương
pháp thực hiện ................................................................................... 5 1.6. Ý nghĩa
thực tiễn............................................................................................. 5 1.7. Kết quả dự

kiến ............................................................................................... 6
1.8. Hiện trạng bài toán.......................................................................................... 6
1.8.1. Nghiên cứu vấn đề....................................................................................... 6
1.8.2. Các ứng dụng liên quan............................................................................... 9
1.8.2.1. Eventbrite........................................................................................... 10
1.8.2.2. Asana.................................................................................................. 11
1.8.3. Phát triển ý tưởng giải quyết vấn đề.......................................................... 12
Chương 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG VÀ XÂY DỰNG ỨNG DỤNG..13
2.1. Phân tích yêu cầu hệ thống ........................................................................... 13
2.1.1. Phân tích yêu cầu chức năng ..................................................................... 13
2.1.1.1. Yêu cầu lưu trữ .................................................................................. 13
2.1.1.2. Yêu cầu về tính năng.......................................................................... 13
2.1.2. Phân tích yêu cầu phi chức năng ............................................................... 14
2.1.3. Phân tích yêu cầu người dùng ................................................................... 14
2.1.3.1. Mơ hình use case tồn hệ thống......................................................... 15
2.1.3.2. Danh sách các Actors......................................................................... 16
2.1.3.3. Danh sách các Use case ..................................................................... 16
2.1.3.4. Mô tả Use case ................................................................................... 20
2.2. Phân tích yêu cầu chức năng......................................................................... 24
2.2.1. Thiết kế xử lý ............................................................................................ 24
2.2.1.1. Lược đồ tuần tự thao tác quên mật khẩu............................................ 24
2.2.1.2. Lược đồ tuần tự thao tác giao tiếp ..................................................... 26
2.2.1.3. Lược đồ tuần tự tạo biểu mẫu sự kiện................................................ 27
2.2.1.4. Lược đồ tuần tự thêm sự kiện ............................................................ 31
2.2.1.5. Lược đồ tuần tự cập nhật chi tiết kịch bản......................................... 35


2.2.1.6. Lược đồ tuần tự tạo công việc............................................................ 37
2.2.2. Thiết kế cơ sở dữ liệu ................................................................................ 38
2.2.2.1. Lược đồ cơ sở dữ liệu ........................................................................ 38

2.2.2.2. Mô tả các bảng dữ liệu....................................................................... 39
2.3. Công nghệ sử dụng ....................................................................................... 51
2.3.1. ReactJs....................................................................................................... 51
2.3.1.1. Giới thiệu ........................................................................................... 51
2.3.2. React Native .............................................................................................. 52
2.3.2.1. Giới thiệu ........................................................................................... 52
2.3.2.2. Expo ................................................................................................... 53
2.3.3. NodeJs....................................................................................................... 55
2.3.3.1. Tại sao chọn NodeJS để phát triển sever ........................................... 56
2.3.4. MongoDB.................................................................................................. 57
2.3.4.1. Giới thiệu ........................................................................................... 57
2.3.4.2. MongoDB Atlas................................................................................. 57
2.3.5. Websocket ................................................................................................. 58
2.3.5.1. Giới thiệu ........................................................................................... 58
2.3.6. Heroku....................................................................................................... 60
2.3.6.1. Giới thiệu ........................................................................................... 60
2.3.7. SMTP ........................................................................................................ 61
2.3.7.1. Giới thiệu ........................................................................................... 61
2.3.8. WEBRTC.................................................................................................. 63
2.3.8.1. Giới thiệu ........................................................................................... 63
2.3.9. Amazon Web Service - S3 ........................................................................ 64
2.3.10. Thiết kế kiến trúc hệ thống .................................................................... 66
2.3.10.1. Kiến trúc tổng thể............................................................................... 66
2.3.10.2. Kiến trúc ứng dụng ............................................................................ 68
2.3.11. Thiết kế giao diện .................................................................................. 69
2.3.11.1. Danh sách màn hình ứng dụng........................................................... 69
2.3.11.2. Giao diện một số màn hình của ứng dụng ......................................... 71
a) Website...................................................................................................... 72
2.4. Triển khai hệ thống ....................................................................................... 88
2.4.1. Máy chủ và giao diện website của ứng dụng ............................................ 88

2.4.2. Ứng dụng di động...................................................................................... 91
Chương 3: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ................................................92
3.1. Kết quả đạt được ........................................................................................... 92
3.2. Thuận lợi và khó khăn................................................................................... 93
3.2.1. Thuận lợi ................................................................................................... 93
3.2.2. Khó khăn ................................................................................................... 93
3.3. Hướng phát triển ........................................................................................... 93
TÀI LIỆU THAM
KHẢO ............................................................................................94

DANH MỤC BẢNG
Bảng 2.1: Danh sách các actor trong hệ thống......................................................................16
Bảng 2.2: Danh sách các Use case trong hệ thống................................................................20
Bảng 2.3: Mô tả Usecase quên mật khẩu ..............................................................................20
Bảng 2.4: Mô tả Usecase tạo sự kiện mới.............................................................................21


Bảng 2.5: Mô tả Usecase tạo biểu mẫu sự kiện ....................................................................22
Bảng 2.6: Mô tả usecase Giao tiếp........................................................................................22
Bảng 2.7: Mô tả usecase tạo công việc .................................................................................23
Bảng 2.8: Mô tả usecase cập nhật chi tiết kịch bản...............................................................24
Bảng 2.9: Mô tả bảng dữ liệu Events....................................................................................39
Bảng 2.10: Mô tả bảng dữ liệu Tags.....................................................................................39
Bảng 2.11: Mô tả bảng dữ liệu EventTypes..........................................................................40
Bảng 2.12: Mô tả bảng dữ liệu User .....................................................................................40
Bảng 2.13: Mô tả bảng dữ liệu SystemRoles........................................................................41
Bảng 2.14: Mô tả bảng dữ liệu EventAssign ........................................................................41
Bảng 2.15: Mô tả bảng dữ liệu Roles....................................................................................41
Bảng 2.16: Mô tả bảng dữ liệu Credentials...........................................................................42
Bảng 2.17: Mô tả bảng dữ liệu EventReports.......................................................................42

Bảng 2.18: Mô tả bảng dữ liệu Faculties ..............................................................................43
Bảng 2.19: Mô tả bảng dữ liệu Groups.................................................................................43
Bảng 2.20: Mô tả bảng dữ liệu GuestTypes..........................................................................43
Bảng 2.21: Mô tả bảng dữ liệu Guest....................................................................................44
Bảng 2.22: Mô tả bảng dữ liệu Scripts..................................................................................44
Bảng 2.23: Mô tả bảng dữ liệu ScriptDetails........................................................................44
Bảng 2.24: Mô tả bảng dữ liệu Particpants...........................................................................45
Bảng 2.25: Mô tả bảng dữ liệu ActionTags ..........................................................................45
Bảng 2.26: Mô tả bảng dữ liệu Actions ................................................................................46
Bảng 2.27: Mô tả bảng dữ liệu ActionTypes ........................................................................46
Bảng 2.28: Mô tả bảng dữ liệu ActionsPriorities..................................................................47
Bảng 2.29: Mô tả bảng dữ liệu ActionsAssgns.....................................................................47
Bảng 2.30: Mô tả bảng dữ liệu ActionsResources................................................................47
Bảng 2.31: Mô tả bảng dữ liệu SubActions ..........................................................................48
Bảng 2.32: Mô tả bảng dữ liệu ChatMessages......................................................................48
Bảng 2.33: Mô tả bảng dữ liệu Notifications........................................................................49
Bảng 2.34: Mô tả bảng dữ liệu ScriptsHistories ...................................................................51
Bảng 2.35: Danh sách màn hình Web ...................................................................................70
Bảng
2.36:
Danh
sách
màn
hình
Mobile ...............................................................................71

DANH MỤC HÌNH
Hình
1.1:
Từng

làm
ban
tở
chức
nhiều
sự
kiện .......................................................................7 Hình 1.2: Nhớ thơng tin các sự
kiện .......................................................................................7 Hình 1.3: Các cơng cụ thường
sử dụng...................................................................................8 Hình 1.4: Các kênh chat phở
biến ...........................................................................................8 Hình 1.5: Logo ứng dụng
eventribe ......................................................................................10 Hình 1.6: Logo
Asana ...........................................................................................................11 Hình 2.1:
Usecase người dùng ..............................................................................................15 Hình 2.2:
Usecase Admin......................................................................................................16 Hình 2.3:
Lược đồ tuần tự thao tác quên mật khẩu...............................................................24 Hình 2.4:
Lược đồ tuần tự thao tác giao tiếp.........................................................................26 Hình 2.5:
Lược đồ tuần tự tạo biểu mẫu sự kiện thủ cơng....................................................27 Hình 2.6:
Lược đồ tuần tự thao tác tạo biểu mẫu sự kiện tự động ........................................29 Hình
2.7: Lược đồ tuần tự thao tác thêm sự kiện thủ cơng ...................................................31
Hình 2.8: Lược đồ tuần tự thao tác thêm sự kiện tự động.....................................................33
Hình 2.9: Lược đồ tuần tự thao tác cập nhật chi tiết kịch bản ..............................................35


Hình 2.10: Lược đồ tuần tự thao tác tạo cơng việc ...............................................................37
Hình 2.11: Lược đồ cơ sở dữ liệu..........................................................................................38
Hình 2.12: Logo ReactJS ......................................................................................................51
Hình 2.13: Logo React Native...............................................................................................52
Hình 2.14: Logo Expo...........................................................................................................53
Hình 2.15: Logo NodeJS.......................................................................................................55
Hình 2.16: Logo MongoDB..................................................................................................57

Hình 2.17: Cấu trúc Websocket ............................................................................................58
Hình 2.18: Logo Heroku .......................................................................................................60
Hình 2.19: Quá tình truyền nhận thư bằng SMTP và POP/IMAP ........................................62
Hình 2.20: Minh họa WebRTC.............................................................................................63
Hình 2.21: Kiến trúc tởng thể hệ thống.................................................................................66
Hình 2.22: Kiến trúc hệ thống Expo .....................................................................................67
Hình 2.23: Mơ tả cách hoạt động của Websocket.................................................................63
Hình 2.24: Kiến trúc ứng dụng..............................................................................................68
Hình 2.25: Đăng nhập ...........................................................................................................72
Hình 2.26: Trang chủ ............................................................................................................72
Hình 2.27: Danh sách sự kiện ...............................................................................................73
Hình 2.28: Chi tiết sự kiện ....................................................................................................73
Hình 2.29: Theo dõi kịch bản ...............................................................................................74
Hình
2.30:
Chi
tiết
kịch
bản ..................................................................................................74 Hình 2.31: Chi tiết
kịch bản - lịch sử thay đởi ......................................................................75 Hình 2.32: Chi
tiết sự kiện - Ban tở chức..............................................................................75 Hình 2.33:
Báo cáo................................................................................................................76 Hình 2.34:
Thêm sự kiện.......................................................................................................76 Hình 2.35:
Danh sách cơng việc............................................................................................77
Hình 2.36: Tạo cơng việc mới...............................................................................................77
Hình 2.37: Chi tiết cơng việc ................................................................................................78
Hình
2.38:
Chỉnh
sửa

cơng
việc ............................................................................................78 Hình 2.39: Bản sao sự
kiện ...................................................................................................79 Hình 2.40: Bản sao sự
kiện - cơng việc.................................................................................79 Hình 2.41: Bản sao sự
kiện - kịch bản ..................................................................................80 Hình 2.42: Bản sao sự
kiện - thơng tin chung.......................................................................80 Hình 2.43: Thơng tin
người dùng..........................................................................................81 Hình 2.44: Xuất kịch
bản ......................................................................................................81 Hình 2.45: Trang
admin - quản lý tags..................................................................................82 Hình 2.46: Trang
admin - quản lý người dùng......................................................................82 Hình 2.47: Đăng
nhập ...........................................................................................................83 Hình 2.48: Quên
mật khẩu ....................................................................................................83 Hình 2.49: Danh
sách sự kiện ...............................................................................................83 Hình 2.50:
Trang chủ ............................................................................................................83 Hình 2.51:
Chi tiết sự kiện - thơng tin chung........................................................................84 Hình 2.52:
Chi tiết sự kiện - ban tở chức ..............................................................................84 Hình 2.53:
Chi tiết kịch bản ..................................................................................................84 Hình
2.54: Chi tiết sự kiện - Kịch bản ..................................................................................84 Hình
2.55: Lịch sử thay đởi...................................................................................................85 Hình
2.56: Theo dõi kịch bản................................................................................................85 Hình
2.57: Chi tiết sự kiện - Hội thoại..................................................................................85 Hình
2.58: Phòng hội thoại ...................................................................................................85 Hình
2.59: Báo cáo - tài nguyên............................................................................................86 Hình


2.60: Báo cáo - thống kê...............................................................................................86 Hình
2.61: Chi tiết cơng việc - thơng tin chung ....................................................................86
Hình 2.62: Danh sách cơng việc............................................................................................86
Hình 2.63: Chi tiết cơng việc - Danh sách cần làm...............................................................87
Hình 2.64: Chi tiết cơng việc - Bình luận .............................................................................87

Hình 2.65: Lịch và lời nhắc...................................................................................................87
Hình 2.66: Thơng báo............................................................................................................87
Hình 2.67: Chỉnh sửa thơng tin người dùng..........................................................................88
Hình 2.68: Thơng tin người dùng..........................................................................................88
Hình 2.69: Triển khai heroku ................................................................................................89
Hình 2.70: Thơng tin sever....................................................................................................90
Hình 2.71: Kết quả triển khai BE..........................................................................................90
Hình 2.72: Kết quả triển khai FE ..........................................................................................91

DANH MỤC TỪ VIẾT TẮT
STT

Số thứ tự

BE

Back End

FE

Front End

JS

Javascript

API

Application Programming Interface


HTTP

HyperText Transfer Protocol

TCP

Transmission Control Protocol

REST

Representational State Transfer

TÓM TẮT KHÓA LUẬN
Đề tài “Xây dựng ứng dụng hỗ trợ quản lý và theo dõi sự kiện” là một khoá luận tập
trung vào việc nghiên cứu, phân tích thực trạng, vấn đề và nhu cầu hiện có của người dùng,
cùng với sự áp dụng của những công nghệ mới để xây dựng một ứng dụng hoàn chỉnh chạy
trên nền tảng Web và Mobile. Qua đó ứng dụng có thể giải quyết các vấn đề, nhu cầu hỗ trợ
quản lý sự kiện của các bạn sinh viên
Đề tài được bắt đầu bằng việc nghiên cứu cả định lượng và định tính thông qua việc
khảo sát và phỏng vấn người dùng, ngoài ra còn phân tích các sản phẩm hiện có để có thêm
các ý tưởng đưa ra giải pháp phù hợp với vấn đề cần giải quyết. Từ đó có thể xác định rõ


được mục tiêu và các chức năng của đề tài. Ngồi ra nhóm còn cân nhắc, lựa chọn các cơng
nghệ phù hợp để áp dụng vào đề tài.
Vì đã xác định được các yêu cầu và lên ý tưởng cho các giải pháp, khóa luận được áp
dụng theo mơ hình thác nước trong việc xây dựng ứng dụng. Việc phân tích thiết kế hệ
thống tạo ra các giao diện người dùng, kiến trúc hệ thống, cơ sở dữ liệu là kết quả của quá
trình phân tích yêu cầu và đưa ra giải pháp. Trong giai đoạn thực hiện, client và server được
phát triển song song với nhau, client được xây dựng bằng thư viện ReactJS và React Native

trong khi server sử dụng NodeJs bằng ngôn ngữ Javascript, sử dụng MongoDB làm cơ sở
dữ liệu. Client và server được.kết nối với nhau thơng qua HTTP Request. Xun suốt q
trình phát triển, Unit test được sử dụng để kiểm tra lỗi của hệ thống. Sử dụng GitHub để
quản lý source code, đảm bảo tính an toàn và toàn vẹn cho mã nguồn.
Cuối cùng là giai đoạn tởng hợp, trình bày các kết quả nghiên cứu cũng như quá
trình thực hiện vào báo cáo, đưa ra các kết luận và định hướng cho hệ thống trong tương lai,
có thể đưa ứng dụng vào chạy thử thực tế.

1

Nội dung khóa luận được trình bày trong 3 chương:
- Chương 01: Giới thiệu đề tài
Giới thiệu về đề tài, lý do thực hiện, xác định mục tiêu, phạm vi đề tài đưa ra các vấn
đề và nêu lên các giải pháp giải quyết các vấn đề đó.
- Chương 02: Phân tích thiết kế hệ thống và xây dựng ứng dụng
Phân tích yêu cầu, thiết kế hệ thống, các công nghệ áp dụng vào đề tài và triển khai
ứng dụng.
- Chương 03: Kết luận và hướng phát triển
Những thuận lợi, khó khăn gặp phải trong q trình nghiên cứu phát triển đề tài. Phát


biểu tầm nhìn và hướng phát triển của ứng dụng trong tương lai.

2

Chương 1: MỞ ĐẦU
1.1. Giới thiệu đề tài
Ngày nay, đối với sinh viên, công việc học tập, bồi dưỡng tri thức luôn phải được
chú trọng ưu tiên và đặt lên hàng đầu. Tuy nhiên, bên cạnh việc học tập thì tham gia các
hoạt động sinh viên, hoạt động ngoại khố, cuộc thi học thuật cũng đóng vai trò quan trọng

khơng kém. Có thể thấy các trường đại học, cao đẳng thường xuyên tổ chức rất nhiều các
hoạt động sinh viên, chương trình, cơng tác xã hội,…nhằm tạo ra môi trường lành mạnh
cho sinh viên được tiếp xúc, học hỏi, giao lưu, trau dồi kinh nghiệm. Tham gia những hoạt
động như thế, các bạn sinh viên có thể gặt hái được vô số ích lợi, tạo bước đệm tốt cho sự
phát triển của mình trong tương lai.
Với việc càng ngày càng có nhiều chương trình, hoạt động diễn ra ở các trường đại
học và đội ngũ xây dựng và vận hành chính hầu hết là các bạn sinh viên. Qua đó các bạn


sinh viên có thể được trải nghiệm việc tở chức một sự kiện, hoạt động, giúp các bạn học
được cách làm việc nhóm, quản lý nhân sự, lên ý tưởng và xây dựng nội dung, vận hành và
điều phối một chương trình. Nhận thấy việc tở chức các hoạt động, chương trình sinh viên
đang giúp ích rất nhiều cho đời sống tinh thần cũng như là nâng cao kỹ năng và kiến thức
cho sinh viên.
Vì vậy, khi nhận ra các khó khăn bất cập và để hỗ trợ các bạn sinh viên trong việc tổ
chức các sự kiện, hoạt động, đề tài khóa luận đã được lên ý tưởng và thực hiện.

1.2. Lý do chọn đề tài
Qua 4 năm học ở UIT các sự kiện sinh viên, chương trình, cuộc thi học thuật được tổ chức
luôn hướng đến việc mang lại giá trị cho các bạn sinh viên tham gia. Với việc ngày càng có
nhiều chương trình, sự kiện được tổ chức bởi trường và các khoa đang gặp phải một số bất
cập nhất định trong khâu tổ chức quản lý vẫn còn mang tính thủ công, sử dụng nhiều cơng
cụ khác nhau. Với góc độ cá nhân chúng em đã từng là người có vai trò ban tở chức ở các
chương trình, sự kiện của hoa Cơng nghệ phần mềm qua các năm như: Sự kiện

3

20/10 tri ân ngày phụ nữ Việt Nam, 20/11 tri ân Ngày nhà giáo Việt Nam, hội nghị sinh
viên cấp khoa, chương trình ca nhạc gây quỹ,… Từ đó chúng em nhận thấy các khó khăn
khi tở chức 1 sự kiện, chương trình có thể kể đến như là:

- Các thành viên trong ban tổ chức còn thiếu giao tiếp với nhau, thông tin giữa các thành
viên không được các bạn chủ động nắm bắt.
- Công tác chuẩn bị, lên kế hoạch vẫn còn phải sử dụng nhiều công cụ khác nhau dẫn
đến việc thiếu đồng bộ khi trao đổi thông tin.
- Các thành viên cần phải biết được tiến độ của công việc và tiến độ tở chức sự kiện để
có sự chuẩn bị, sắp xếp thời gian kịp thời.
Từ việc có các nhận định và đưa ra được các vấn đề nêu trên, khóa luận đã lên ý
tưởng về một hệ thống giúp đỡ các bạn quản lý tốt hơn trong việc xây dựng nội dung, quản
lý các công việc khi tổ chức chương trình, tạo 1 khơng gian giao tiếp với nhau và giúp các
bạn theo dõi tiến độ sự kiện trước, trong và sau sự kiện. Các nhận định và vấn đề nêu trên
sẽ được đánh giá qua việc phân tích sâu hơn vấn đề ở phần sau.


Trong q trình hình thành ý tưởng, khóa luận cũng đã tham khảo và tìm hiểu các hệ
thống đã giải quyết các vấn đề nêu trên. Kết quả là nhận thấy chưa có hệ thống nào phù
hợp, giải quyết đầy đủ. Tuy nhiên, nhờ tham khảo các hệ thống khác mà tụi em rút ra được
những kinh nghiệm hữu ích và quyết định tạo ra ứng dụng hỗ trợ quản lý và theo dõi sự
kiện

1.3. Mục tiêu
Nắm bắt thực trạng vấn đề trong việc quản lý và tổ chức các chương trình sự kiện
khóa luận đã được lên ý tưởng để có thể giải quyết được các vấn đề và bất cập của người
dùng cũng có thể giúp sinh viên cải thiện các kỹ năng cần thiết khác nhau
- Xây dựng ứng dụng giúp các bạn quản lý sự kiện mình tham gia tở chức dễ dàng và
theo dõi tiến độ của sự kiện

4

- Học hỏi quá trình phân tích vấn đề, lên ý tưởng đưa ra giải pháp, các phương pháp giải
quyết vấn đề.

- Nghiên cứu, học hỏi để nâng cao chuyên môn trong lĩnh vực phát triển phần mềm

1.4. Phạm vi
Đề tài sẽ tập trung vào việc giải quyết vấn đề trong khâu quản lý và tổ chức một
chương trình, sự kiện ở UIT đặc biệt là khoa Công Nghệ Phần Mềm vẫn còn mang tính thủ
công, sử dụng nhiều công cụ khác nhau để quản lý nhân sự, lên kế hoạch cho sự kiện và vận
hành sự kiện.
Đối tượng sử dụng ứng dụng hướng đến là thầy cơ, các bạn sinh viên có vai trò là
ban tở chức của một chương trình hoặc sự kiện có một không gian làm việc với nhau.

1.5. Phương pháp thực hiện
- Áp dụng các phương pháp nghiên cứu cả định lượng và định tính bằng việc khảo sát và
phỏng vấn để tìm hiểu các vấn đề và đưa ra các giải pháp hợp lí nhằm giải quyết các
vấn đề của người dùng


- Áp dụng mơ hình thác nước để thực hiện đề tài theo từng giai đoạn rõ ràng: nghiên cứu
vấn đề, phân tích chức năng, phân tích thiết kế hệ thống, xây dựng ứng dụng, kiểm
thử và đưa ra kết luận
- Tìm hiểu và phân tích, so sánh các cơng nghệ sẽ áp dụng vào quá trình phát triển ứng
dụng. Dựa vào các chức năng mà đưa ra các công nghệ phù hợp hợp để phát triển ứng
dụng

1.6. Ý nghĩa thực tiễn
- Tạo công cụ giúp các bạn sinh viên tở chức các sự kiện nhanh chóng, tiện lợi, khơng
còn phải sử dụng nhiều công cụ cùng lúc.
- Dễ dàng quản lý, giao tiếp với các thành viên trong ban tổ chức.

5


- Phân công và theo dõi tiến độ sự kiện, các công việc, đảm bảo được chất lượng và tiến
độ trong q trình xây dựng sự kiện.
- Tạo cơng cụ giúp vận hành sự kiện khi diễn ra, theo dõi và cập nhật sự kiện khi có các
sự cố hoặc các thay đổi.

1.7. Kết quả dự kiến
- Hiểu rõ các framework liên quan để có thể ứng dụng vào xây dựng ứng dụng hỗ trợ
quản lý và theo dõi sự kiện.
- Hoàn thành ứng dụng chạy trên nền tảng web với vai trò là quản lý, theo dõi, phân
công sự kiện. Đối với nền tảng mobile chạy trên cả Android và IOS với vai trò là theo
dõi và vận hành sự kiện khi diễn ra.
- Ứng dụng có độ hồn thiện cao, có khả năng đưa vào thực tiễn, nhất là các sự kiện của

khoa Công Nghệ Phần Mềm.

1.8. Hiện trạng bài tốn
1.8.1. Nghiên cứu vấn đề
Để có thể hiểu được các vấn đề và khó khăn mà các bạn ban tổ chức thường hay gặp,
tác giả đã thực hiện nghiên cứu định lượng và định tính theo hình thức khảo sát và phỏng
vấn.


Khảo sát
Tác giả quyết định bắt đầu bằng một cuộc khảo sát vì nó cho phép bọn em đánh giá
được số lượng người gặp các khó khăn chung khi tở chúc 1 chương trình và sự kiện. Ngồi
ra, cuộc khảo sát sẽ giúp khóa luận thiết lập mối liên hệ với các bạn để có 1 b̉i phỏng vấn
thân mật
Tác giả đã chia sẻ khảo sát với các bạn thuộc đồn – hội khoa Cơng Nghệ Phần
mềm. Gồm có 8 bạn đã làm khảo sát và đây là 1 số điều cần lưu ý mà khóa luận rút ra.


6
- 100% các bạn gần như đã tham gia tổ chức từ 2-3 sự kiện khác nhau, có thể thấy 1 bạn ban

tổ chức sẽ phải nắm thông tin và nội dung của nhiều sự kiện khác nhau.

Hình 1.1: Từng làm ban tở chức nhiều sự kiện
- Tuy nhiên có 87% các bạn có thể nhớ hết các thơng tin các sự kiện mà các bạn

đang tham gia.


Hình 1. 2: Nhớ thơng tin các sự kiện

7
- 100% các bạn sử dụng nhiều Google Drive, Docs, Sheet để xây dựng kế hoạch, nội

dung và chia sẻ cho các thành viên khác trong ban tở chức.

Hình 1.3: Các cơng cụ thường sử dụng
- 100% các bạn sử dụng các kênh chat, mạng xã hội như Messenger, Zalo để giao

tiếp với các thành viên


Hình 1. 4: Các kênh chat phở biến

8

Phỏng vấn
Tiếp theo, khóa luận còn phỏng vấn gồm 5 bạn có vai trò quản lý từng ban trong các

sự kiện, vì khóa luận muốn tập trung vào vấn đề mà các bạn gặp phải vừa phải quản lý các
công việc của ban mình và vừa phải đóng góp xây dựng cho chương trình. Dựa trên các câu
trả lời của các bạn trên khảo sát, tác giả đã đặt câu hỏi mở khuyến khích các bạn nói về các
sự việc khó khăn và tại sao những việc đó lại gây khó các bạn. Ngoài ra tác giả cũng cố
gắng tránh những câu hỏi giả định hoặc dẫn dắt, vì chúng khơng thực tế và có xu hướng cho
thấy những gì tác giả muốn, đó khơng phải là điểm quan trọng khi thực hiện các cuộc
phỏng vấn. Một số thông tin quan trọng được rút ra sau buổi phỏng vấn:
- Hầu hết các bạn đều phải quản lý thông tin sự kiện qua nhiều công cụ khác nhau
dẫn đến tốn nhiều thời gian và phải kiểm tra qua lại liên tục. Khơng có nơi để đưa
thông tin chung dẫn đến các thành viên trong ban tổ chức dễ bị bỏ lỡ các thông tin
quan trọng.
- Các thành viên trong ban tổ chức chưa thực sự giao tiếp với nhau vì chỉ hoạt động
theo từng ban là chủ yếu, dẫn đến các công việc liên quan giữa các ban tốn thời
gian để cập nhật và theo dõi.
- Khi sự kiện diễn ra, việc điều phối chưa thể được diễn ra trơn tru khi có sự cố xảy
ra, dẫn đến chậm trễ, trì trệ kịch bản thời gian đã xác định trước đó.
- Các cơng việc cần được các bạn có vai trò quản lý phân cơng một cách rõ ràng, dễ
theo dõi, để có thể đảm bảo được tiến độ hồn thành của cơng việc đó. - Với việc


thực hiện cùng một sự kiện đó qua nhiều năm, việc tạo mới các kế hoạch, nội dung
sự kiện tốn nhiều thời gian. Ngoài ra các tài nguyên của sự kiện sau khi diễn ra
không được lưu trữ ở một nơi gây ra việc khi tổ chức sự kiện cho năm sau phải tìm
kiếm lại các tài ngun đó.
1.8.2. Các ứng dụng liên quan
Sau khi phân tích vấn đề, tác giả đã tìm hiểu được một số ứng dụng liên quan, có đáp
ứng một phần trong việc giải quyết các vấn đề được nêu ra.

9


1.8.2.1. Eventbrite

Hình 1.5: Logo ứng dụng eventribe
Eventbrite là nền tảng cho phép ai cũng có thể tạo, tìm kiếm, chia sẻ và tham dự các sự
kiện. Từ lễ hội âm nhạc, cuộc thi chạy marathon, hội nghị, hoạt động gây quỹ, các cuộc thi
gameshow. Sứ mệnh của eventbrite là mang thế giới đến với nhau thông qua những trải
nghiệm trực tiếp.
Ưu điểm
- Hỗ trợ đầy đủ các chức năng tạo và xây dựng sự kiện
- Cho phép người tham gia đặt vé và thanh toán ngay trên ứng dụng
- Được sử dụng nhiều để thông báo sự kiện online
- Có báo cáo doanh thu, tình hình sự kiện sau diễn ra


Nhược điểm
- Vẫn còn phải liên kết với các ứng dụng hội họp như GG Meets, Zoom để tổ chức sự
kiện

10

- Chưa thể theo dõi quá trình sự kiện diễn ra chỉ có thể dùng để lên kế hoạch và đặt vé Chưa có sự khác nhau giữa các loại sự kiện khác nhau. Chỉ có 1 mẫu tởng qt
1.8.2.2. Asana

Hình 1.6: Logo Asana
Asana là phần mềm quản lý cơng việc và dự án trực tuyến, giúp người dùng sắp xếp các
công việc hiệu quả, thông minh hơn, đặc biệt hữu ích trong việc phân công của hoạt
động làm việc nhóm. Hiện Asana có ứng dụng dành cho xây dựng sự kiện
Ưu điểm
- Là ứng dụng quản lý công việc được sử dụng tại nhiều công ty
- Tính năng quản lý công việc được xây dựng với trải nghiệm tốt nhất dành cho người

dùng, hầu như ít khi gặp khó khăn trong việc sử dụng ứng dụng
- Theo dõi các quá trình xây dựng sự kiện một cách tỉ mỉ
- Kết nối với nhau qua ứng dụng mobile trên nền tảng IOS và Android - Có các
mẫu kế hoạch được xây dựng sẵn, có thể tạo mẫu mới để sử dụng lại


×