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

75 3 0
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

Đ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

ĐẠ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 ………………… Hiệu trưởng Trường Đại học Công nghệ Thông tin ……………………………………… - Chủ tịch ……………………………………… - Thư ký ……………………………………… - Ủy viên ……………………………………… - Ủ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 hướng dẫn: Phạm Quang Nhân 17520122 ThS Thái Thụy hàn Uyển Trần Ngọc Toàn 17521142 ThS Lê Thanh Trọng Đánh giá Khóa luận Về báo cáo: Số trang 93 _ Số chương _ 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 _ Một số nhận xét hình thức báo cáo: …………………………………………………………………………………………… … ……………………………………………………………………………………………… ……………………………………………………………………………………………… Về nội dung nghiên cứu: …………………………………………………………………………………………… … …………………………………………………………………………………………… … …………………………………………………………………………………………… … …………………………………………………………………………………………… … Về chương trình ứng dụng: …………………………………………………………………………………………… … …………………………………………………………………………………………… … …………………………………………………………………………………………… … …………………………………………………………………………………………… … Về thái độ làm việc sinh viên: …………………………………………………………………………………………… … …………………………………………………………………………………………… … Đánh giá chung:Khóa luận đạt/khơng đạt u cầu 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 sinh viên: Phạm Quang Nhân: ……… /10 Trần Ngọc Toàn: ……… /10 Người nhận xét (Ký tên 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 phản biện: Phạm Quang Nhân 17520122 Trần Ngọc Tồn 17521142 Đánh giá Khóa luận Về báo cáo: Số trang 93 _ Số chương _ 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 _ Một số nhận xét hình thức báo cáo: …………………………………………………………………………………………… … ……………………………………………………………………………………………… ……………………………………………………………………………………………… Về nội dung nghiên cứu: …………………………………………………………………………………………… … …………………………………………………………………………………………… … …………………………………………………………………………………………… … …………………………………………………………………………………………… … Về chương trình ứng dụng: …………………………………………………………………………………………… … …………………………………………………………………………………………… … …………………………………………………………………………………………… … …………………………………………………………………………………………… … Về thái độ làm việc sinh viên: …………………………………………………………………………………………… … …………………………………………………………………………………………… … Đánh giá chung:Khóa luận đạt/khơng đạt u cầu 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 sinh viên: Phạm Quang Nhân: ……… /10 Trần Ngọc Toàn: ……… /10 Người nhận xét (Ký tên 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ý theo dõi sự kiện” minh chứng cho trình cố gắng khơng ngừng việc tìm tòi, học hỏi suốt năm học tập trường Đại học Công nghệ Thông tin Thể khả thân việc áp dụng kiến thức chuyên môn vào giải tốn thực tế Trong q trình thực khoá luận, chúng em đã nhận sự hướng dẫn tận tình từ q thầy cơ, sự giúp đỡ hỗ trợ từ gia đình cũng bạn bè Một cách đặc biệt, chúng em xin 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 thầy 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 những năm học tập trường Đó tài sản q báu đã giúp em hồn thành khố luận cũng hành trang cho đường sự nghiệp thân sau Chúng em xin gửi lời cảm ơn sâu sắc tới Ths.Thái Thụy Hàn Uyển 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 những lời khun bở ích để khố luận hoàn thành tiến độ đáp ứng yêu cầu đề ban đầu Cảm ơn giảng viên phản biện thầy cô hội đồng chấm luận văn với những lời khuyên, góp ý quý báu bở ích Từ luận văn chúng em trở nên hoàn thiệ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è đã ln bên cạnh để động viên đóng góp ý kiến q trình hồn thành khố luận 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ý theo dõi kiện Cán 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ý chọn đề tài: Sau khoảng thời gian tham gia học tập giảng đường đại học, sự kiện sinh viên, hoạt động học thuật, thi câu lạc bộ, tập thể đoàn hội sinh viên thực mang lại giá trị cực cho đời sống tinh thần cũng học tập sinh viên Để mang lại thành công cho sự kiện hay hoạt động sinh viên, bạn sinh viên phải tốn nhiều thời gian cho việc quản lý công việc, vận hành sự kiện diễn cách trơn tru Các vấn đề mà bạn nắm vai trò ban tổ chức thường gặp phải chưa thể theo dõi tiến độ công việc người ban tổ chức, tương tác giữa thành viên tiến hành sự kiện Vì chúng em đã đưa ứng dụng giúp bạn điều phối, quản lý vận hành nội dung, công việc 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 tạo lưu lại mẫu kế hoạch giúp tiết kiệm thời gian 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ở theo dõi tiến độ nhằm nâng cao suất công việc thành viên ban tổ chức - Ứng dụng giúp người dùng tương tác, điều phối vận hành sự kiện khơng để nhiều sai sót xảy thông qua 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ả mở rộng tương tác cao - Ứng dụng có giao diện trực quan, trải nghiệm người dùng đặt lên hàng đầu Phát triển ứng dụng có tính thực tiễn cao, triển khai ứng dụng vào thực tế Nhóm em hi vọng dựa những tảng lý thuyết đã thầy cô truyền dạy hỗ trợ, kết hợp với những cơng nghệ nhóm em đã tìm hiểu, mong luận văn tốt nghiệp nhóm em đạt mục đích mong đợi Phạm vi: Phạm vi địa lý: Ứng dụng sử dụng câu lạc đội nhóm trường đại học Phạm vi chức năng: - Quản lý thông tin, nội dung, kế hoạch sự kiện - Xây dựng kịch chương trình tương tác với thời gian thật - Hỗ trợ chat trao đổi, chia sẻ thông tin qua kênh hội thoại giữa thành viên Quản lý, phân công theo dõi tiến độ công việc - Đặt lời nhắc hệ thống thông báo liên tục - Lưu trữ hệ thống tài nguyên 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 hoạt động sinh viên, thi học thuật, seminar, workshop dành cho sinh viên Điểm bật ứng dụng: - Ứng dụng đề cao trải nghiệm người dùng giúp người dùng dễ dàng việc quản lý - Khi sự kiện, hoạt động diễn ra, theo dõi kịch với thời gian thực tránh sự cố ý muốn - Ứng dụng giúp thành viên tương tác trực tiếp với thông qua kênh hội thoại lúc diễn sự kiện - Ứng dụng có hệ thống thơng báo để người dùng không bị bỏ qua việc quan trọng Phương pháp thực hiện: - Làm việc nhóm với thành viên, lên kế hoạch thực cách trao đổi tực tiếp gián tiếp cũng nhờ sự tự vấn giáo viên hướng dẫn - Nhóm đã thực nghiên cứu qua bước sau đây: • Khảo sát, nghiên cứu đề tài công nghệ • Phân tích thiết kế hệ thống, vẽ 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 xây dựng tính nởi bật • Kiểm thử, sửa lỗi đư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 mong đợi: - Ứng dụng hồn thiện thực nghiệm sự kiện Khoa - Có thể mở rộng phát triển thêm tính tương lai - Hệ thống tương tác có khả phản hồi nhanh chính xác mức độ cao Kế hoạch thực hiện:(Mô tả kế hoạch làm việc phân công công việc cho sinh viên tham gia) Giai đoạn Thời gian Mơ tả Tồn Nhân Khảo sát, nghiên cứu 1/3/20217/3/2021 - Lựa chọn đề tài - Khảo sát ứng dụng tương tự - Tìm hiểu cơng nghệ sử dụng khóa luận - Khảo sát ứng dụng - Nghiên cứu công nghệ phía front-end - Khảo sát ứng dụng 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ẽ sơ đồ - Thiết kế Cơ sở - Nghiên cứu công nghệ phía backend thống đặc tả chức - Vẽ 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ử lý - 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 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 tính đã 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 Nghiên cứu xây dựng tính nổi bật 18/4/20 2122/5/202 - Nghiên cứu tính nởi bật - Hiện thực hóa tính - 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 Kiểm thử chức 22/5/202 112/6/20 21 - Hoàn thiện ứng dụng cho web mobile - Kiểm thử chức - Thực nghiệm - Cùng xây dựng ứng dụng - Cùng xây dựng ứng dụng Hoàn thiện báo cáo 5/6/202 1– 19/6/20 21 - Hoà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 bảo vệ - Chuẩn bị slide nội dung demo - Hoàn thiện báo cáo - Chuẩn bị phản biện bảo vệ - Hoàn thiện báo cáo - Chuẩn bị phản biện bảo vệ Bảng 2.29: Mô tả bảng dữ liệu ActionsAssgns ActionsResources: tài liệu công việc STT Tên lớp/quan hệ Loại Ràng buộc Ý nghĩa/Ghi Id Id - Khóa chính - Id, tài liệu cơng việc actionId String - Khóa ngoại - Thuộc cơng việc Url String - Bắt buộc - Đường dẫn tới file hệ thống Extension isDelete String - Bắt buộc - Đuôi file Boolean - Mặc định - Trạng thái xóa false Bảng 2.30: Mơ tả bảng dữ liệu ActionsResources SubActions: công việc cần làm (công việc con) công việc chính (Actions) STT Tên lớp/quan hệ Loại Ràng buộc Ý nghĩa/Ghi Id Id - Khóa chính - Id, Cơng việc nhỏ cần làm 47 actionId String - Khóa ngoại - Thuộc cơng việc Name String - Bắt buộc - Tên công việc endDate Date - Bắt buộc - Ngày kết thúc endTime Date - Bắt buộc - Thời gian kết thúc Description String - Bắt buộc - Mô tả công việc isDelete Boolean - Mặc định - Trạng thái xóa false Bảng 2.31: Mơ tả bảng dữ liệu SubActions ChatMessages: tin nhắn STT Tên lớp/quan hệ Loại Ràng buộc Ý nghĩa/Ghi Id Id - Khóa - Id, Tin nhắn chính userId String - Khóa - Tin nhắn ngoại Text String - Bắt buộc - Tin nhắn dạng văn ResourceUrl String - Bắt buộc - Đường dẫn file cho tin nhắn dạng file isDelete Boolean - Mặc định - Trạng thái xóa false Bảng 2.32: Mơ tả bảng dữ liệu ChatMessages Notifications: thông báo STT Tên lớp/quan hệ Loại Ràng buộc Ý nghĩa/Ghi Id Id - Khóa - Id, Thơng báo chính userId String - Khóa - Dành cho ngoại 48 actionId String - Khóa ngoại eventId String - Khóa ngoại - Thơng báo công việc - Thông báo sự kiện Name String - Bắt buộc - Tên thông báo Description String - Bắt buộc - Mô tả thông báo Watch Boolean - Mặc dịnh - Người dùng đã xem false Status Boolean - Mặc định false chưa - Người dùng đã bấm vào chưa isDelete Boolean - Mặc định - Trạng thái xóa false Bảng 2.33: Mô tả bảng dữ liệu Notifications ScriptHistories: lịch sử kịch STT Tên lớp/quan hệ Loại Ràng buộc Ý nghĩa/Ghi Id Id - Khóa - Id, tags cơng việc chính userId String - Khóa - Người chỉnh sửa ngoại scriptId String - Khóa ngoại UpdateScriptDetailName String - Không bắt buộc oldNameScript String - Không - Kịch chỉnh sửa - Tên chi tiết kịch chỉnh sửa - Tên kịch cũ bắt buộc newNameScript String - Không - Tên kịch mới bắt buộc 49 oldForIdScript String - Khóa ngoại newForIdScript String - Khóa ngoại scriptDetailId String - khóa ngoại 10 oldNameScriptDetailId String - Khơng bắt buộc 11 newnameScriptDetailId String - Không bắt buộc - Người thực kịch cũ - Người thực kịch mới - id chi tiết kịch chỉnh sửa - Tên chi tiết kịch cũ - Tên chi tiết kịch mới 12 oldDescriptionScriptDetail String - Không bắt buộc 13 newDescriptionScriptDe String - Không tai l 14 oldTimeScriptDetail bắt buộc Date - Không bắt buộc 15 newTimeScriptDetail Date - Không bắt buộc - Mô tả chi tiết kịch cũ - Mô tả chi tiết kịch mới - Thời gian thực chi tiết kịch cũ - Thời gian thực chi tiết kịch mới 16 isChangeNameScript Boolean - Không bắt buộc 17 isChangeForIdScript Boolean - Khơng bắt buộc - Có thay đởi tên kịch hay khơng ? - Có thay đởi người thực kịch không ? 18 isChangeNameScriptDetail Boolean - Không bắt buộc - Có thay đởi tên chi tiết kịch không ? 19 isChangeDescriptionScr Boolean ipt Detail - Không bắt buộc - Có thay đởi mơ tả chi tiết kịch không ? 50 20 isChangeTimeScriptDetail Boolean - Không bắt buộc - Có thay đởi thời gian thực chi tiết kịch không 21 isCreateDetail Booealn - Không bắt buộc 22 nameCreateDetail String - Không bắt buộc 23 isDeleteDetail Boolean - Khơng - Có tạo mới chi tiết kịch không ? - Tên chi tiết kịch tạo - Có xóa chi tiết kịch khơng ? bắt buộc 24 nameDeleteDetail String - Không bắt buộc 25 isDelete Boolean - Mặc định - Tên chi tiết kịch bị xóa - Trạng thái xóa false Bảng 2.34: Mô tả bảng dữ liệu ScriptsHistories 2.3 Công nghệ sử dụng 2.3.1 ReactJs 2.3.1.1 Giới thiệu Hình 2.12: Logo ReactJS React.js thư viện Javascript nổi lên những năm gần với xu hướng Single Page Application Trong những framework khác cố gắng hướng đến mơ hình 51 MVC hồn thiện React nởi bật với sự đơn giản dễ dàng phối hợp với những thư viện Javascript khác Nếu AngularJS Framework cho phép nhúng code javasscript code html thơng qua attribute ng-model, ng-repeat với React library cho phép nhúng code html code javascript nhờ vào JSX, bạn dễ dàng lồng đoạn HTML vào JS.Tích hợp giữa javascript HTML vào JSX làm cho component dễ hiểu Áp dụng: Xây dựng giao diện web cho ứng dụng 2.3.2 React Native 2.3.2.1 Giới thiệu Hình 2.13: Logo React Native React Native framework phát triển Facebook, phát triển để phát triển ứng dụng di động đa tảng React Native giúp tạo ứng dụng di động chỉ với sự trợ giúp JavaScript, hỗ trợ cho tảng Android iOS Chỉ cần xây dựng ứng dụng chạy nhiều tảng Android IOS Giúp tiết kiệm thời gian phát triển React Native có cộng đồng người dùng 52 lớn, với nhiều module hỗ trợ Một vài ứng dụng nổi bật sử dụng React Native Instagram, Facebook, Skype, FW React Native xây dựng để khắc phục nhược điểm cách lập trình ứng dụng thơng thường (native app) web-based app khả đa tảng tương tác phần cứng Sử dụng react native cải thiện tốc độ phát triển ứng dụng từ chi phí phản triển giảm đáng kể Áp dụng: Xây dựng giao diện mobile cho ứng dụng 2.3.2.2 Expo Hình 2.14: Logo Expo Expo tools xây dựng dựa React Native với nhiều tính nởi bật, cho phép xây dựng nhanh chóng chỉ vài phút Khi sử dụng Expo chỉ cần cài phiên mới Node.js máy thật hoặc máy ảo Sau bước thiết lập môi trường React Native với Expo Expo CLI công cụ để phát triển ứng dụng với Expo Ngồi giao diện dòng lệnh (CLI), cũng có giao diện người dùng đồ họa dựa web (GUI) tự động bật lên 53 trình duyệt web khởi chạy dự án Để cài đặt Expo CLI cần phải cài đặt công cụ cần thiết Node.js Git Sau bước cài đặt tảng Với Expo, bạn không cần Xcode hoặc Android Studio Bạn chỉ cần viết JavaScript trình soạn thảo văn mà bạn cảm thấy thoải mái (Atom, vim, emacs, Sublime, VS Code, điều bạn thích) Bạn chạy XDE (phần mềm máy tính để bàn chúng tôi) Mac, Windows Linux Áp dụng cho ứng dụng: • Hỗ trợ cho iOS Android Bạn sử dụng ứng dụng viết Expo iOS Android Bạn không cần phải trải qua trình xây dựng riêng cho từng người Chỉ cần mở ứng dụng Expo ứng dụng Expo Client từ App Store iOS hoặc Android (hoặc trình giả lập hoặc giả lập máy tính bạn) • Thơng báo đẩy Thông báo đẩy hoạt động iOS Android, sử dụng API thống nhất, Bạn thiết lập APNS GCM / FCM hoặc định cấu hình ZeroPush hoặc thứ tương tự Chúng tơi nghĩ chúng tơi đã làm điều dễ dàng 54 2.3.3 NodeJs 3.1.1.1 Giới thiệu Hình 2.15: Logo NodeJS Nodejs xây dựng phát triển từ năm 2009, bảo trợ công ty Joyent, trụ sở California, Hoa Kỳ NodeJS mã nguồn xây dựng dựa tảng Javascript V8 Engine, sử dụng để xây dựng ứng dụng web trang video clip, forum đặc biệt trang mạng xã hội phạm vi hẹp NodeJS mã nguồn mở sử dụng rộng hàng ngàn lập trình viên tồn giới NodeJS chạy nhiều tảng hệ điều hành khác 33 từ WIndow cho tới Linux, OS X nên cũng lợi NodeJS cung cấp thư viện phong phú dạng Javascript Module khác giúp đơn giản hóa việc lập trình giảm thời gian mức thấp V8 engine JavaScript engine mã nguồn mở chạy trình duyệt Chrome, Opera Vivaldi Nó thiết kế tập trung vào hiệu chịu trách nhiệm cho việc dịch mã JavaScript sang mã máy để máy tính hiểu chạy Nhưng bạn cũng nên 55 tránh nhầm lẫn Node chạy trình duyệt Cha đẻ Node dựa V8 engine, cải tiến số tính chẳng hạn file system API, thư viện HTTP số phương thức liên quan đến hệ điều hành Điều có nghĩa Node.js chương trình giúp ta chạy code JavaScript máy tính, nói cách khác JavaScript runtime Node.js có làm việc với sở dữ liệu ngơn ngữ lập trình framework khác Và Node.js hỗ trợ sở dữ liệu nổi tiếng khác nhau: MySql, Sql Server, MongoDB, PostgreSQL, … Áp dụng: xây dựng back-end api server cho ứng dụng 2.3.3.1 Tại chọn NodeJS để phát triển sever Nodejs tạo ứng dụng có tốc độ xử lý nhanh, realtime thời gian thực Nodejs áp dụng cho sản phẩm có lượng truy cập lớn, cần mở rộng nhanh, cần đổi mới công nghệ, hoặc tạo dự án Startup nhanh Nodejs chạy đa tảng phía Server, sử dụng kiến trúc hướng sự kiện Event driven, chế non blocking I/O làm cho nhẹ hiệu Có thể chạy ứng dụng Nodejs đâu máy Mac – Window – Linux, nữa cộng đồng Nodejs lớn hoàn toàn miễn phí, package hoàn toàn miễn phí: https://www.npmjs.com/ Các ứng dụng NodeJS đáp ứng tốt thời gian thực chạy đa tảng, đa thiết bị 56 2.3.4 MongoDB 2.3.4.1 Giới thiệu Hình 2.16: Logo MongoDB Mongodb loại database thiên hướng tài liệu dạng NoSQL database Chính vậy, Mongodb thường tránh cấu trúc table-based relational database để thích ứng với tài liệu JSON có sẵn schema linh hoạt gọi BSON Mongodb dùng để lưu trữ dữ liệu dưới dạng Document JSON collection thường có kích cỡ document khác Mọi dữ liệu lưu trữ sẵn document theo kiểu JSON nên truy vấn nhanh 2.3.4.2 MongoDB Atlas Mongodb Atlas giải pháp phần mềm Database as a Service Provider có chức chi phí hồn tồn phù hợp cho doanh nghiệp từ nhỏ đến vừa đến lớn Khi đó, phần mềm MongoDB Atlas đánh giá tất người dùng lẫn với chuyên gia lĩnh vực Database Software 57 Còn cloud database MongoDB mắt vào năm 2016 chạy AWS, Microsoft Azure Google Cloud Platform Dữ liệu Cluster Atlas lưu trữ theo chế Replication, với nodes: master (primary) slaves (secondary) Áp dụng: sử dụng mongoDB mongoAtlas để làm sở dữ liệu cho hệ thống 2.3.5 Websocket 2.3.5.1 Giới thiệu WebSocket công nghệ hỗ trợ giao tiếp hai chiều giữa client server cách sử dụng TCP socket để tạo kết nối hiệu ít tốn Mặc dù thiết kế để chuyên sử dụng cho ứng dụng web, lập trình viên vẫn đưa chúng vào loại ứng dụng Hình 2.17: Cấu trúc Websocket 58 WebSockets mới xuất HTML5, kỹ thuật Reverse Ajax WebSockets cho phép kênh giao tiếp song song hai chiều đã hỗ trợ nhiều trình duyệt (Firefox, Google Chrome Safari) Kết nối mở thông qua HTTP request (yêu cầu HTTP), gọi liên kết WebSockets với những header đặc biệt Kết nối trì để bạn viết nhận dữ liệu JavaScript bạn sử dụng TCP socket đơn Dữ liệu truyền tải thông qua giao thức HTTP (thường dùng với kĩ thuật Ajax) chứa nhiều dữ liệu không cần thiết phần header Một header request/response HTTP có kích thước khoảng 871 byte, với WebSocket, kích thước chỉ byte (sau đã kết nối) Vậy giả sử bạn làm ứng dụng game tới 10,000 người chơi đăng nhập cùng lúc, giây họ gửi/nhận dữ liệu từ server Hãy so sánh lượng dữ liệu header mà giao thức HTTP WebSocket giây: – HTTP: 871 x 10,000 = 8,710,000 bytes = 69,680,000 bits per second (66 Mbps) – WebSocket: x 10,000 = 20,000 bytes = 160,000 bits per second (0.153 Kbps) Như bạn thấy chỉ riêng phần header cũng đã chiếm phần lưu lượng đáng kể với giao thức HTTP truyền thống Áp dụng: hiển thị tin nhắn, thông báo, video-call thời gian thực 59 2.3.6 Heroku 2.3.6.1 Giới thiệu Hình 2.18: Logo Heroku Heroku tảng dịch vụ (PaaS), cung cấp dịch vụ dành cho nhà phát triền phần mềm Heroku cho phép triển khai, xây dựng, quản lý mở rộng quy mơ ứng dụng cách nhanh chóng Tất ứng dụng triển khải heroku lưu trữ AWS, giúp quản lý tài nguyên máy tính giảm thời gian đáng kể thời gian thiết lập phát triển ứng dụng mới Cân tải, lựa chọn hệ điều hành, máy chủ, mạng, lưu trữ, theo dõi tình trạng ứng dụng, thiết lập tở chức thùng chứa – tất xử lý AWS Heroku hỗ trợ nhiều ngơn ngữ lập trình như: NodeJS, Ruby, Python, PHP, Java, Scala, Clojure, Go, kotlin, Swift Một vài tính nổi bật Heroku: – Heroku runtime: Cung cấp thùng chứa thông minh – nơi ứng dụng cài đặt, giúp xử lý cấu hình, điều phối, cân tải, backup, log, – Heroku teams: Là cơng cụ quản lý nhóm , giúp lập trình viên làm việc với hiệu 60 – Scale: Ứng dụng mở rộng quy mô lập tức, theo chiều ngang (thêm block) hoặc chiều dọc (tăng kích thước block) – Add-ons: Mở rộng, nâng cao quản lý ứng dụng với dịch vụ tích hợp sẵn như: New Relic, MongDB, SendGrid, – Rollback: Cho phép khôi phục mã nguồn hoặc sử dữ liệu trạng thái trước – App metrics: Tính giám sát tích hợp lưu lượng, thời gian phản hồi, nhớ, tải CPU lỗi – Continuous delivery: Heroku Flow sử dụng Heroku Pipeline, Review App tích hợp Github để xây dựng quy trình CI/CD gồm build, test, deploy Áp dụng: sử dụng làm server hosting back-end server ứng dụng web 2.3.7 SMTP 2.3.7.1 Giới thiệu SMTP giao thức đẩy (push protocol) sử dụng để gửi thư điện tử, trái với POP (Post Office Protocol) hay IMAP (Internet message access protocol) dùng để nhận thư từ phía người nhận SMTP giao thức nằm tầng ứng dụng Máy khách muốn gửi thư mở kết nối TCP tới máy chủ SMTP gửi qua kết nối Máy chủ SMTP nằm chế độ lắng nghe, nhận kết nối từ máy khách, quy trình kết nối bắt đầu cởng (port) 25 61 ... 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... hiện: Cán hướng dẫn: Phạm Quang Nhân 17520122 ThS Thái Thụy hàn Uyển Trần Ngọc Toàn 17521142 ThS Lê Thanh Trọng Đánh giá Khóa luận Về báo cáo: Số trang 93 _ Số chương _ Số bảng số liệu 34 _... Đại học Công nghệ Thông tin Thể khả thân việc áp dụng kiến thức chun mơn vào giải tốn thực tế Trong q trình thực khố luận, chúng em đã nhận sự hướng dẫn tận tình từ quý thầy cô, sự giúp

Ngày đăng: 18/12/2021, 22:05

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan