ĐẠ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
NGUYỄN TRỌNG KHANH - 17520627
PHAN ANH TÚ - 17521204
KHÓA LUẬN TỐT NGHIỆP
XÂY DỰNG HỆ THỐNG GIA SƯ TRỰC TUYẾN
Building Online Tutor Application
KỸ SƯ 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
NGUYỄN TRỌNG KHANH - 17520627
PHAN ANH TÚ - 17521204
KHÓA LUẬN TỐT NGHIỆP
XÂY DỰNG HỆ THỐNG GIA SƯ TRỰC TUYẾN
Building Online Tutor Application
KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM
GIẢNG VIÊN HƯỚNG DẪN
Tiến sĩ. Trần Sơn Hải
Thạc sĩ. Huỳnh Nguyễn Khắc Huy
TP. HỒ CHÍ MINH, 2021
DANH SÁCH HỘI ĐỒNG BẢO VỆ KHÓA LUẬN
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 Lập - Tự Do - Hạnh Phúc
CÔNG NGHỆ THÔNG TIN
TP. HCM, ngày…..tháng…..năm 2021
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 HỆ THỐNG GIA SƯ TRỰC TUYẾN
(Tên tiếng Anh: BUILDING ONLINE TUTOR APPLICATION)
Nhóm SV thực hiện:
Cán bộ hướng dẫn:
NGUYỄN TRỌNG KHANH
17520627
TS. TRẦN SƠN HẢI
PHAN ANH TÚ
17521204
ThS. HUỲNH NGUYỄN KHẮC HUY
Đánh giá Khóa luận
1. Về cuốn báo cáo:
Số trang
154 ____
Số chương
4 ______
Số bảng số liệu
53 _____
Số hình vẽ
29 _____
Số tài liệu tham khảo
11 _____
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:
……………………………………………………………………………………………………...................
……………………………………………………………………………………………………...................
……………………………………………………………………………………………………...................
Điểm từng sinh viên:
Nguyễn Trọng Khanh:………../10
Phan Anh Tú:………../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 2021
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 HỆ THỐNG GIA SƯ TRỰC TUYẾN
(Tên tiếng Anh: BUILDING ONLINE TUTOR APPLICATION)
Nhóm SV thực hiện:
Cán bộ phản biện:
NGUYỄN TRỌNG KHANH
17520627
TS. TRẦN SƠN HẢI
PHAN ANH TÚ
17521204
ThS. HUỲNH NGUYỄN KHẮC HUY
Đánh giá Khóa luận
5. Về cuốn báo cáo:
Số trang
154 ____
Số chương
4 ______
Số bảng số liệu
53 _____
Số hình vẽ
29 _____
Số tài liệu tham khảo
11 _____
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:
……………………………………………………………………………………………………...................
……………………………………………………………………………………………………...................
……………………………………………………………………………………………………...................
Điểm từng sinh viên:
Nguyễn Trọng Khanh:………../10
Phan Anh Tú:………../10
Người nhận xét
(Ký tên và ghi rõ họ tên)
LỜI CẢM ƠN
Sau quá trình học tập và rèn luyện tại khoa Công nghệ phần mềm trường Đại học
Công nghệ Thông tin – ĐHQG TP.HCM chúng em đã được trang bị các kiến thức cơ
bản, các kỹ năng thực tế để có thể hồn thành Khóa luận tốt nghiệp của mình.
Để hồn thành khóa luận này, chúng em xin gửi lời cảm ơn chân thành đến:
Ban Giám hiệu trường Đại học Cơng nghệ Thơng tin – ĐHQG TP.HCM vì đã tạo
điều kiện về cơ sở vật chất với hệ thống thư viện hiện đại, đa dạng các loại sách, tài
liệu thuận lợi cho việc tìm kiếm, nghiên cứu thơng tin.
Chúng em xin gửi lời cảm ơn chân thành đến thầy Trần Sơn Hải và thầy Huỳnh
Nguyễn Khắc Huy đã tận tình giúp đỡ, định hướng cách tư duy và cách làm việc
khoa học. Đó là những góp ý hết sức q báu khơng chỉ trong q trình thực hiện
luận văn này mà còn là hành trang tiếp bước cho chúng em trong quá trình học tập và
lập nghiệp sau này.
Và cuối cùng, chúng em xin gửi lời cảm ơn đến gia đình, tất cả thầy cơ trong khoa,
bạn bè là những người luôn sẵn sàng sẻ chia và giúp đỡ trong học tập và cuộc sống.
Mong rằng, chúng ta sẽ mãi mãi gắn bó với nhau.
Trong q trình làm khóa luận này chúng em không tránh khỏi được những sai sót,
chúng em kính mong nhận được sự chỉ dẫn và góp ý của q thầy cơ để khóa luận
được hồn thiện hơn.
Chúng em xin chân thành cảm ơn. Xin chúc những điều tốt đẹp nhất sẽ luôn đồng
hành cùng mọi người.
Thành phố Hồ Chí Minh, tháng năm 2021
Sinh viên
NGUYỄN TRỌNG KHANH
PHAN ANH TÚ
ĐẠ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
ĐỀ CƯƠNG CHI TIẾT
TÊN ĐỀ TÀI: Xây dựng hệ thống tìm kiếm gia sư trực tuyến
Cán bộ hướng dẫn: TS. Trần Sơn Hải, ThS. Huỳnh Nguyễn Khắc Huy
Thời gian thực hiện:Từ ngày…01/03/2021…………..đến ngày…26/06/2021…………
Sinh viên thực hiện:
Nguyễn Trọng Khanh - 175206271
Phan Anh Tú – 17521204
Nội dung đề tài:(Mô tả chi tiết mục tiêu, phạm vi, đối tượng, phương pháp thực hiện,
kết quả mong đợi của đề tài)
1. Lý do chọn đề tài
Trong thời đại cách mạng 4.0 hiện nay, internet phát triển một cách mạnh mẽ và
ảnh hưởng lớn đến mọi hoạt động của con người. Ngoài ra trong xã hội phát triển,
các bậc phụ huynh khơng có nhiều thời gian và những kiến thức đổi mới liên tục
để giúp đỡ con họ trong học tập, nên dịch vụ gia sư ngày càng được đông đảo các
phụ huynh, học sinh lựa chọn nhằm giúp con em mình đạt được những mục tiêu
nhất định trong học tập. Hệ thống tìm kiếm gia sư trực tuyến ra đời giúp các phụ
huynh, học sinh tìm kiếm gia sư trực tuyến dễ dàng, giúp tiết kiệm thời gian đến
trực tiếp các trung tâm để tìm kiếm gia sư. Đồng thời, các bạn sinh viên, người có
bằng cấp, chun mơn trong giảng dạy có nhu cầu trở thành một gia sư có thể đăng
ký trở thành ga sư.
2. Phạm vi
Phạm vi của đề tài gồm:
- Xây dựng website quản lý hệ thống dành cho admin.
- Xây dựng website dành cho người dùng có nhu cầu tìm kiếm gia sư và người
muốn trở thành gia sư.
2.1 Các tính năng chính
- Dành cho Web Admin quản lý hệ thống
3.
4.
5.
6.
7.
• Quản lý danh sách gia sư.
• Duyệt yêu cầu đăng ký làm gia sư.
• Thống kế tìm kiếm, tin đăng, lĩnh vực, mơn học.
• Quản lý tin đăng.
- Dành cho người dùng
Người tìm gia sư:
• Tìm kiếm gia sư.
• Đăng tin tìm gia sư.
• Xem thơng tin gia sư.
• Chat trao đổi trực tuyến với gia sư.
Gia sư:
• Đăng tin ứng tuyển.
• Tìm kiếm tin đăng tìm gia sư.
• Chat trao đổi trực tuyến với người tìm.
2.2 Các tính năng nổi bật
Xây dựng cơng cụ tìm kiếm bằng cách áp dụng máy học để tối ưu hóa kết quả
tìm kiếm. Giúp việc tìm kiếm của người dùng dễ dàng hơn.
Đối tượng
Đối tượng sử dụng :
- Phụ huynh, học sinh,.. có nhu cầu thuê gia sư dạy kèm trong học tập.
- Sinh viên, người có bằng cấp, chun mơn trong giảng dạy có nhu cầu trở thành
một gia sư.
Mục tiêu
- Hiểu rõ quy trình làm việc để tạo ra một ứng dụng công nghệ thông tin.
- Hiểu và áp dụng được Máy học vào ứng dụng.
- Tạo ra 1 ứng dụng sau cùng có thể sử dụng được và đáp ứng cho nhu cầu đề ra.
- Thực hiện được những tính năng đã đề ra ban đầu.
Phương pháp thực hiện
- Các thành viên nhóm lập kế hoạch thực hiện.
- Trao đổi thường xuyên với giảng viên hướng dẫn.
- Khảo sát nhu cầu tìm kiếm gia sư trên các mạng xã hội, các website tìm kiếm
việc làm, tìm kiếm gia sư.
- Phân tích thiết kế hệ thống, thiết kế giao diện, database.
- Xây dựng ứng dụng.
- Tìm hiểu nghiên cứu máy học, các kỹ thuật, thuật toán áp dụng vào việc tìm
kiếm, gợi ý, sàng lọc xếp loại gia sư.
Cơng nghệ nghiên cứu
- Frontend : ReactJS
- Backend : Flask
- Database : PostgreSql
- Máy học, thuật tốn áp dụng vào việc tìm kiếm, gợi ý, sàng lọc xếp loại gia sư
Kết quả mong muốn
- Xây dựng được ứng dụng với những tính năng đã đề ra ban đầu.
- Ứng dụng có tính thực tiễn cao.
-
Website có giao diện đẹp, thân thiện, dễ sử dụng.
Hiểu được kiến thức về máy học.
Áp dụng máy học thành cơng vào ứng dụng, giúp việc tìm kiếm, phân loại gia
sư hiệu quả.
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)
Nội dung
cơng việc
1. Phân tích
u cầu, xác
định bài
tốn.
Thời gian thực
hiện
01/03/2021
2. Lựa chọn
công nghệ
để phát triển
dự án trên
nền tảng
web.
8/03/2021
21/03/2021
3. Xây dựng
ứng dụng
22/03/2021
01/05/2021
Mô tả
-
Lựa chọn đề tài
Khảo sát ứng dụng tương tự
Lựa chọn cơng nghệ và tìm
hiểu, nghiên cứu sử dụng
-
Phân tích, xác định, đặc tả chức
năng chính của hệ thống
Vẽ các lưu đồ, các luồng xử lý
Thiết kế CSDL, API - Thiết kế
UI
Nghiên cứu công nghệ, xây
dựng base source
-
-
4. Nghiên
cứu và xây
dựng tính
năng nổi
bật
02/05/2021
27/05/2021
-
Xây dựng ứng dụng ở nền tảng
web, backend , web admin
Liên tục nghiệm thu, kiểm thử
và sửa lỗi
Nghiên cứu về các hướng tiếp
cận đã có cho bài tốn tính
năng nổi bật
Lựa chọn và thử thực hiện hố
các giải pháp
Tích hợp giải pháp cuối cùng
vào ứng dụng
Phân cơng
Tú, Khanh
Tú, Khanh
Tú, Khanh
Tú, Khanh
5. Kiểm
thử, sửa lỗi
và deploy
ứng dụng
28/05/2021
10/06/2021
-
6. Hoàn
thiện báo
cáo và
chuẩn bị
phản biện
và bảo vệ
11/06/2021
20/06/2021
-
Xác nhận của CBHD
Thực hiện kiểm thử các luồng
chức năng
Tiến hành sửa các lỗi được tìm ra
Thực hiện kiểm thử trên mơi
trường production
Hồn thiện ứng dụng
Hồn thiện báo cáo, chuẩn bị
slide, nội dung demo
Chuẩn bị danh sách các câu hỏi
cho phản biện và bảo vệ
Tiếp thu và sửa chửa báo cáo
cũng như sản phẩm
Tú, Khanh
Tú, Khanh
TP. HCM, ngày 10 tháng 3 năm 2021
(Ký tên và ghi rõ họ tên)
Sinh viên 1
(Ký tên và ghi rõ họ tên)
TS. Trần Sơn Hải
Nguyễn Trọng Khanh
ThS. Huỳnh Nguyễn Khắc Huy
Sinh viên 2
(Ký tên và ghi rõ họ tên)
Phan Anh Tú
MỤC LỤC
CHƯƠNG 1.
GIỚI THIỆU CHUNG..................................................................1
1.1.
Lý do chọn đề tài ...........................................................................................1
1.2.
Tính năng nổi bật về chức năng của đề tài. ................................................1
1.3.
Đối tượng nghiên cứu: ..................................................................................1
1.4.
Phạm vi thực hiện..........................................................................................2
1.5.
Phương pháp nghiên cứu..............................................................................2
CHƯƠNG 2.
KIẾN THỨC NỀN TẢNG ............................................................3
2.1.
Kiến trúc hệ thống .........................................................................................3
2.2.
Tổng quan về mơ hình MVC ........................................................................4
2.2.1. Khái niệm ...................................................................................................4
2.2.2. Các thành phần trong mơ hình MVC .....................................................4
2.2.3. Ưu điểm MVC ...........................................................................................5
2.2.4. Nhược điểm ................................................................................................5
2.3.
Tổng quan về Flask .......................................................................................5
2.3.1. Khái niệm ...................................................................................................5
2.3.2. Tạo sao chọn Flask để phát triển server .................................................5
2.4.
Hệ quản trị cơ sở dữ liệu PostgreSQL ........................................................7
2.5.
Tổng quan về ReactJs ...................................................................................8
2.5.1. Giới thiệu nền tảng ReactJs .....................................................................8
2.5.2. Tại sao chọn ReactJs .................................................................................8
2.6.
Google maps Api ...........................................................................................9
2.6.1. Khái niệm ...................................................................................................9
2.6.2. Cách lấy Google Maps Api key ................................................................9
2.7.
ElasticSearch ...............................................................................................11
2.7.1. Khái niệm .................................................................................................11
2.7.2. Cách thức hoạt động ...............................................................................12
2.7.3. Ưu điểm ....................................................................................................12
2.7.4. Nhược điểm ..............................................................................................12
2.7.5. Các khái niệm cơ bản trong Elasticsearch............................................13
2.7.6. Cài đặt trên hệ điều hành Ubuntu .........................................................14
2.7.7. Sử dụng Elasticsearch trên Flask ..........................................................16
CHƯƠNG 3.
3.1.
XÂY DỰNG HỆ THỐNG ..........................................................18
Xây dựng kiến trúc hệ thống ......................................................................18
3.1.1. Xác định yêu cầu hệ thống .....................................................................18
3.1.2. Phân tích yêu cầu hệ thống .....................................................................19
3.2.
Phân tích thiết kế hệ thống .........................................................................22
3.2.1
Sơ đồ Use Case .........................................................................................22
3.2.2
Sơ đồ hoạt động. ......................................................................................62
3.2.3
Sơ đồ tuần tự ..........................................................................................100
3.2.4
Sơ đồ lớp .................................................................................................124
3.2.5
Phân tích và thiết kế CSDL ..................................................................125
3.3 Thiết kế giao diện ..........................................................................................134
CHƯƠNG 4.
KẾT LUẬN, HƯỚNG PHÁT TRIỂN .....................................152
4.1 Ưu điểm ..........................................................................................................152
4.2 Nhược điểm ....................................................................................................152
4.3 Về mặt kiến thức tổng quát ..........................................................................152
4.4 Về mặt công nghệ ..........................................................................................152
4.5 Hướng phát triển ...........................................................................................153
DANH MỤC HÌNH
Hình 2-1.Kiến trúc hệ thống........................................................................................3
Hình 2-2. Mơ hình MVC .............................................................................................4
Hình 3-1. Quy trình của TutorOnline ........................................................................18
Hình 3-2. UseCase Tổng Quát ..................................................................................23
Hình 3-3 Biểu đồ lớp ...............................................................................................124
Hình 3-4 Giao diện trang chủ ..................................................................................135
Hình 3-5. Giao diện trang chủ (gia sư nổi bật trong tuần) ......................................135
Hình 3-6. Giao diện danh sách bài đăng tìm học viên ............................................136
Hình 3-7. Giao diện tìm kiếm bài đăng qua trên bản đồ .........................................136
Hình 3-8. Giao diện danh sách bài đăng tìm gia sư ................................................137
Hình 3-9. Giao diện tìm kiếm bài đăng bàng bản đồ ..............................................138
Hình 3-10. Giao diện danh sách gia sư ...................................................................138
Hình 3-11 Giao diện tìm gia sư bằng bản đồ ..........................................................139
Hình 3-12 Giao diện Thơng tin bài viết ..................................................................139
Hình 3-13 Giao diện Đăng ký tài khoản .................................................................140
Hình 3-14 Giao diện đăng bài viết ..........................................................................141
Hình 3-15 Giao diện thơng tin người dùng .............................................................142
Hình 3-16 Giao diện danh sách bài viết của bạn.....................................................143
Hình 3-17. Giao diện danh sách bài viết bạn đã theo dõi .......................................143
Hình 3-18. Giao diện danh sách bài viết đã đăng kí ...............................................144
Hình 3-19. Giao diện danh sách các lớp bạn đã tham gia .......................................145
Hình 3-20Giao diện quản lí lớp người dùng đăng kí bạn .......................................145
Hình 3-21. Giao diện theo dõi đanh giá người dùng...............................................146
Hình 3-22. Giao diện mời gia sư dạy ......................................................................146
Hình 3-23. Giao diện chỉnh sửa thơng tin cá nhân..................................................147
Hình 3-24. Giao diện đăng kí làm gia sư ................................................................148
Hình 3-25 Giao diện chỉnh sửa thơng tin gia sư .....................................................149
Hình 3-26 Giao diện đăng bài tìm kiếm học viên của gia sư ..................................150
Hình 3-27 Giao diện thơng tin gia sư ......................................................................151
DANH MỤC BẢNG
Bảng 3-1. Danh sách các Actor .................................................................................22
Bảng 3-2. Danh sách các use case .............................................................................25
Bảng 3-3. Phân rã use case đăng nhập ......................................................................27
Bảng 3-4. Phân rã use case quên mật khẩu ...............................................................27
Bảng 3-5. Phân rã use case thay đổi mật khẩu ..........................................................28
Bảng 3-6. Phân rã use case thay đổi thông tin người dùng .......................................29
Bảng 3-7. Phân rã use case xem chi tiết profile ........................................................30
Bảng 3-8. Phân rã use case đăng ký gia sư ...............................................................30
Bảng 3-9. Phân rã use case đăng bài viết tìm kiếm gia sư ........................................32
Bảng 3-10. Phân rã use case đăng bài viết tìm học viên ...........................................33
Bảng 3-11. Phân rã use case sửa thông tin bài viết ...................................................34
Bảng 3-12. Phân rã use case hiển thị danh sách bài viết đã đăng .............................34
Bảng 3-13. Phân rã use case tìm kiếm bài viết tìm gia sư ........................................36
Bảng 3-14. Phân rã use case tìm kiếm bài viết tìm học viên ....................................37
Bảng 3-15. Phân rã use case tìm kiếm gia sư ............................................................38
Bảng 3-16. Phân rã use case hiển thị vị trí bài viết tìm kiếm gia sư trên bản đồ ......39
Bảng 3-17. Phân rã use case xem chi tiết thông tin bài viết .....................................41
Bảng 3-18. Phân rã use case xem chi tiết thông tin gia sư ........................................42
Bảng 3-19. Phân rã use case xem chi tiết thông tin học viên ....................................43
Bảng 3-20. Phân rã use case đăng ký dạy trong bài viết tìm gia sư ..........................44
Bảng 3-21. Phân rã use case hiển thị danh sách chờ duyệt .......................................45
Bảng 3-22. Phân rã use case hiển thị danh sách đã yêu cầu .....................................45
Bảng 3-23. Phân rã use case hủy đăng ký bài viết ....................................................46
Bảng 3-24. Phân rã use case chấp nhận yêu cầu .......................................................47
Bảng 3-25. Phân rã use case từ chối yêu cầu ............................................................48
Bảng 3-26. Phân rã use case danh sách lớp đã dạy ...................................................49
Bảng 3-27. Phân rã use case đăng ký lớp học trong bài viết tìm học viên ...............50
Bảng 3-28. Phân rã use case hiển thị danh sách chờ duyệt .......................................51
Bảng 3-29. Phân rã use case hiển thị danh sách đã yêu cầu .....................................52
Bảng 3-30. Phân rã use case hủy đăng ký yêu cầu ...................................................52
Bảng 3-31. Phân rã use case chấp nhận yêu cầu .......................................................53
Bảng 3-32. Phân rã use case từ chối yêu cầu ............................................................54
Bảng 3-33. Phân rã use case hiện thị danh sách lớp đã học ......................................55
Bảng 3-34. Phân rã use case mời gia sư ....................................................................55
Bảng 3-35. Phân rã use case đánh giá .......................................................................57
Bảng 3-36. Phân rã use case xóa đánh giá ................................................................58
Bảng 3-37. Phân rã use case sửa đánh giá ................................................................59
Bảng 3-38. Phân rã use case xem đánh giá của học viên ..........................................59
Bảng 3-39. Phân rã use case theo dõi bài viết ...........................................................61
Bảng 3-40. Phân rã use case xem danh sách bài viết đang theo dõi .........................61
Bảng 3-41. Danh sách các sơ đồ hoạt động ..............................................................63
Bảng 3-42. Danh sách các sơ đồ tuần tự .................................................................101
Bảng 3-43. Các lớp của sơ đổ lớp ...........................................................................125
Bảng 3-44. Các đối tượng và thuộc tính của đối tượng ..........................................126
Bảng 3-45. Bảng User .............................................................................................127
Bảng 3-46. Bảng Tutor ............................................................................................129
Bảng 3-47. Bảng Post ..............................................................................................130
Bảng 3-48. Bảng Schedule ......................................................................................131
Bảng 3-49. Bảng Follow .........................................................................................131
Bảng 3-50. Bảng Registration .................................................................................132
Bảng 3-51. Bảng Class ............................................................................................133
Bảng 3-52. Bảng Rate .............................................................................................133
Bảng 3-53. Bảng Image...........................................................................................134
DANH MỤC TỪ VIẾT TẮT
Từ viết
Từ đầy đủ
Giải thích
tắt
CSDL
Cơ sở dữ liệu
Là tập hợp các dữ liệu của hệ
thống
API
Application Programming Interface
Phương thức trung gian kết
nối các ứng dụng và thư viện
khác nhau.
SMTP
Simple Mail Transfer Protocol
Giao thức truyền tải thư tín
đơn giản hóa.
HTML
Hypertext Markup Language
HTML được sử dụng để tạo
và cấu trúc các thành phần trong
trang web hoặc ứng dụng, phân
chia các đoạn văn, heading,
titles, blockquotes…
TĨM TẮT KHĨA LUẬN
Khóa luận “XÂY DỰNG HỆ THỐNG GIA SƯ TRỰC TUYẾN” gồm 04 chương:
Chương 1: Giới thiệu về đề tài, đưa ra các điểm nổi bật so với các hệ thống trước.
Tiếp đến là đề xuất các giải pháp để giải quyết các vấn đề đã đặt ra. Ngoài ra, chương
1 cũng đề cập đến đối tượng nghiên cứu, phạm vi đề tài, phương pháp nghiên cứu.
Chương 2: Trình bày các kiến thức nền tảng, các cơng nghệ được sử dụng để xây
dựng ứng dụng gia sư.
Chương 3: Trình bày chi tiết quy trình xây dựng hệ thống, từ xác định và phân tích
u cầu bài tốn cho đến xây dựng CSDL, cuối cùng là xây dựng giao diện cho
website.
Chương 4: Kết luận, rút ra được các ưu nhược điểm của hệ thống và hướng phát triển
trong tương lai.
Chương 1. GIỚI THIỆU CHUNG
1.1. Lý do chọn đề tài
Trong thời đại cách mạng 4.0 hiện nay, internet phát triển một cách mạnh mẽ và
ảnh hưởng lớn đến mọi hoạt động của con người. Ngoài ra trong xã hội phát triển,
các bậc phụ huynh khơng có nhiều thời gian và những kiến thức đổi mới liên tục
để giúp đỡ con họ trong học tập, nên dịch vụ gia sư ngày càng được đông đảo các
phụ huynh, học sinh lựa chọn nhằm giúp con em mình đạt được những mục tiêu
nhất định trong học tập. Hệ thống tìm kiếm gia sư trực tuyến ra đời giúp các phụ
huynh, học sinh tìm kiếm gia sư trực tuyến dễ dàng, giúp tiết kiệm thời gian đến
trực tiếp các trung tâm để tìm kiếm gia sư. Đồng thời, các bạn sinh viên, người có
bằng cấp, chun mơn trong giảng dạy có nhu cầu trở thành một gia sư có thể
đăng ký trở thành ga sư.
1.2. Tính năng nổi bật về chức năng của đề tài.
-
-
Tìm kiếm bài viết bằng google map
• Có thể tìm kiếm bài viết của người dung khác một cách trực quan hơn
bằng các điểm đã được định vị trên bản đồ, có thể phân loại dễ dàng
hơn ngay trên bản đồ.
Tài khoản
• Gia sư và học viên có thể đăng bài viết tìm kiếm
• Quản lý bài viết mình đã đăng kí, theo dõi, và dễ dàng quản lí người
dùng đăng kí của bạn
1.3. Đối tượng nghiên cứu:
Khố luận này hướng đến nghiên cứu các đối tượng sau:
-
Các cơng nghệ:
• Flask
1
• ReactJs
• PostgreSql
• ElasticSearch
• Google maps Api
• Visual studio code
• Pycharm
-
Cơng cụ tìm kiếm: ElasticSearch.
Đối tượng trong phạm vị đề tài hướng đến:
• Người tìm kiếm gia sư
• Gia sư
1.4. Phạm vi thực hiện
-
Lập trình Website xây dựng bằng Framework React (ngôn ngữ Javascript).
Backend service được xây dựng bằng Framework Flask (ngơn ngữ Python).
Sử dụng Google maps Api.
Tìm hiểu và sử dụng ElasticSearch.
1.5. Phương pháp nghiên cứu
Nhóm đã sử dụng các phương pháp nghiên cứu:
-
Phương pháp đọc tài liệu
-
Phương pháp phân tích các website tìm kiếm gia sư hiện có
-
Phương pháp thực nghiệm
2
Chương 2. KIẾN THỨC NỀN TẢNG
2.1.
Kiến trúc hệ thống
Hình 2-1.Kiến trúc hệ thống
3
2.2.
Tổng quan về mơ hình MVC
2.2.1. Khái niệm
Hình 2-2. Mơ hình MVC
MVC là từ viết tắt của 'Model View Controller'. Nó đại diện cho các nhà phát triển
kiến trúc áp dụng khi xây dựng các ứng dụng. Với kiến trúc MVC, chúng ta xem
xét cấu trúc ứng dụng liên quan đến cách luồng dữ liệu của ứng dụng của chúng ta
hoạt động như thế nào.
2.2.2. Các thành phần trong mô hình MVC
Mơ hình MVC được chia làm 3 lớp xử lý gồm Model – View – Controller :
-
-
Model : là nơi chứa những nghiệp vụ tương tác với dữ liệu hoặc hệ quản trị
cơ sở dữ liệu (mysql, mssql… ); nó sẽ bao gồm các class/function xử lý nhiều
nghiệp vụ như kết nối database, truy vấn dữ liệu, thêm – xóa – sửa dữ liệu…
View : là nới chứa những giao diện như một nút bấm, khung nhập, menu, hình
ảnh… nó đảm nhiệm nhiệm vụ hiển thị dữ liệu và giúp người dùng tương tác
với hệ thống.
4
-
-
Controller : là nới tiếp nhận những yêu cầu xử lý được gửi từ người dùng, nó
sẽ gồm những class/ function xử lý nhiều nghiệp vụ logic giúp lấy đúng dữ
liệu thông tin cần thiết nhờ các nghiệp vụ lớp Model cung cấp và hiển thị dữ
liệu đó ra cho người dùng nhờ lớp View.
Sự tương tác giữa các thành phần:
Controller tương tác với qua lại với View
Controller tương tác qua lại với Model
Model và View khơng có sự tương tác với nhau mà nó tương tác với nhau
thơng qua Controller.
2.2.3. Ưu điểm MVC
-
-
Trình tự xử lý rất rõ ràng
Mơ hình MVC quy hoạch các class/function vào các thành phần riêng biêt
Controller - Model - View, việc đó làm cho quá trình phát triển - quản lý - vận
hành - bảo trì web diễn ra thuận lợi hơn, tạo ra được các chức năng chuyên
biệt hoá đồng thời kiểm soát được luồng xử lý.
Tạo mơ hình chuẩn cho dự án, khi người có chun mơn ngồi dự án tiếp cận
với dự án dễ dàng hơn.
Mơ hình đơn giản, dễ hiểu, xử lý những nghiệp vụ đơn giản, và dễ dàng triển
khai với các dự án nhỏ.
2.2.4. Nhược điểm
-
Đối với các dự án có tính phức tạp cao thì mơ hình MVC trở nên không khả
dụng.
2.3.
Tổng quan về Flask
2.3.1. Khái niệm
-
Flask là một web frameworks, nó thuộc loại micro-framework được xây dựng
bằng ngơn ngữ lập trình Python. Flask cho phép bạn xây dựng các ứng dụng
web từ đơn giản tới phức tạp. Nó có thể xây dựng các api nhỏ, ứng dụng web
chẳng hạn như các trang web, blog, trang wiki hoặc một website dựa theo thời
gian hay thậm chí là một trang web thương mại. Flask cung cấp cho bạn công
cụ, các thư viện và các công nghệ hỗ trợ bạn làm những công việc trên.
2.3.2. Tạo sao chọn Flask để phát triển server
-
Là một micro web framework:
• Flask là môt micro web framework được viết bằng Python, không
yêu cầu tool hay thư viện cụ thể nào. Flask cung cấp chức năng “súc
5