Xây dựng ứng dụng học tiếng anh online Xây dựng ứng dụng học tiếng anh online Xây dựng ứng dụng học tiếng anh online Xây dựng ứng dụng học tiếng anh online Xây dựng ứng dụng học tiếng anh online Xây dựng ứng dụng học tiếng anh online Xây dựng ứng dụng học tiếng anh online Xây dựng ứng dụng học tiếng anh online Xây dựng ứng dụng học tiếng anh online Xây dựng ứng dụng học tiếng anh online Xây dựng ứng dụng học tiếng anh online Xây dựng ứng dụng học tiếng anh online Xây dựng ứng dụng học tiếng anh online Xây dựng ứng dụng học tiếng anh online Xây dựng ứng dụng học tiếng anh online Xây dựng ứng dụng học tiếng anh online
ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM - - HỒ NGỌC TRIẾT: 16110493 Đề tài: XÂY DỰNG ỨNG DỤNG HỌC TIẾNG ANH ONLINE KHÓA LUẬN TỐT NGHIỆP KỸ SƯ CNTT GIẢNG VIÊN HƯỚNG DẪN ThS NGUYỄN MINH ĐẠO KHÓA 2016 – 2020 LỜI CẢM ƠN Lời nhóm xin phép gửi lời cảm ơn chân thành sâu sắc đến với Khoa Công Nghệ Thông Tin – Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh tạo điều kiện cho nhóm chúng em học tập, phát triển tảng kiến thức sâu sắc thực đề tài Bên cạnh nhóm chúng em xin gửi đến thầy Nguyễn Trần Thi Văn lời cảm ơn sâu sắc Trải qua trình dài học tập thực đề tài thời gian qua Thầy tận tâm bảo nhiệt tình nhóm chúng em suốt trình từ lúc bắt đầu kết thúc đề tài Nhờ có tảng kiến thức chuyên ngành vững cộng thêm với kinh nhiệm yêu cầu thực tế xã hội thông qua việc học trường chuyến thực tế thu thập ý kiến người dùng Tập thể thầy cô Khoa Công Nghệ Thông Tin đặc biệt thầy Nguyễn Trần Thi Văn tặng cho chúng em khối lượng kiến thức kinh nghiệm khổng lồ chuyên ngành công việc tương lai Đặc biệt điều giúp thúc chúng em hoàn thành đề tài Đây hành trang vô lớn chúng em trước bước sống Tuy nhiên lượng kiến thức vô tận với khả hạn hẹp chúng em cố gắng để hoàn thành cách tốt Chính việc xảy thiếu sót điều khó tránh khỏi Chúng em hi vọng nhận góp ý tận tình q thầy(cơ) qua chúng em rút học kinh nghiệm hoàn thiện cải thiện nâng cấp lại sản phẩm cách tốt đẹp Chúng em xin chân thành cảm ơn! Nhóm thực Hồ Ngọc Triết – 16110493 MỤC LỤC CHƯƠNG CƠ SỞ LÝ THUYẾT Asp net Core Angular 10 Docker………………………………………………………………………………4 My SQL 5 Microservice Domain driven design Rabibt MQ CHƯƠNG KHẢO SÁT HIỆN TRẠNG VÀ MÔ HÌNH HĨA U CẦU KHẢO SÁT HIỆN TRẠNG XÁC ĐỊNH YÊU CẦU MƠ HÌNH HĨA U CẦU CHƯƠNG THIẾT KẾ PHẦN MỀM 20 THIẾT KẾ HỆ THỐNG .20 THIẾT KẾ CƠ SỞ DỮ LIỆU .20 THIẾT KẾ GIAO DIỆN 32 CHƯƠNG PHÁT HÀNH THỬ NGHIỆM ỨNG DỤNG 60 TRIỂN KHAI BACK END 60 TRIỂN KHAI FRONT END 60 PHẦN KẾT LUẬN 61 Những kết đạt .61 Ưu điểm đề tài .61 Hạn chế đề tài 61 Hướng phát triển 62 TÀI LIỆU THAM KHẢO 63 PHẦN MỞ ĐẦU TÍNH CẤP THIẾT CỦA ĐỀ TÀI Thời đại cơng nghiệp hóa đại hóa đất nước mở kỉ ngun mới, kỷ ngun cơng nghệ số, điều mà số lượng thiết bị thơng minh ngày trở nên phổ biến gắn liền với đời sống người Việc học online trở thành xu hướng giúp dễ dàng tiếp cận kiến thức ĐỐI TƯỢNG NGHIÊN CỨU Đối với đề tài này, đối tượng nghiên cứu dựa nhu cầu sử dụng người quản lý công tác quản lý hoạt động rèn luyện Đồng thời kèm theo cơng nghệ áp dụng tạo sản phẩm Cụ thể sau: - Tập trung nghiêm cứu công nghệ sâu Asp net core để xây dựng back end - Nghiên cứu Angular để triển khai front end - Đảm bảo tính dễ dàng mở rộng nên triển khai kiên trúc microservice PHẠM VI NGHIÊN CỨU Đề tài chủ yếu tập trung vào việc xử lý tạo học, kiểm trả Cịn học sinh học tập làm tập online PHÂN TÍCH CÁC ỨNG DỤNG CÓ LIÊN QUAN Hầu hết ứng dụng học online mắt rộng rãi số điểm sau: - Giao diện chưa thật bắt mắt thu hút người dùng - Xử lý API vần cịn gặp nhiều khó khăn - Tính số ứng dụng hạn chế KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC - Xây dựng giao diện đơn giản, dễ sử dụng - Xây dựng chức tạo học kiểm tra bắt mặt Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN Đề tài hướng đến khả tiếp thu, nâng cao kỹ lập trình, nghiên cứu cơng nghệ hết đáp ứng nhu cầu học tập học viên PHẦN NỘI DUNG CHƯƠNG 1: CƠ SỞ LÝ THUYẾT Asp net core open-source framework đa tảng (cross-platform) cho việc xây dựng ứng dụng dựa kết nối đám mây, giống web apps, IoT backend cho mobile Ứng dụng ASP.NET Core chạy NET Core phiên đầy đủ NET Framework Nó thiết kế để cung cấp tối ưu development framework cho dụng mà triển khai đám mây (clound) chạy on-promise Nó bao gồm thành phần theo hướng module nhằm tối thiểu tài nguyên chi phí phát triển, bạn giữ lại mềm giẻo việc xây dựng giải pháp bạn Bạn phát triển chạy ứng dụng ASP.NET Core đa tảng Windows, Mac Linux Hình 1: Tổng quan Asp net core [1] 2 Angular Angular khung ứng dụng web nguồn mở dựa TypeScript Nhóm Angular Google cộng đồng cá nhân tập đoàn Angular viết lại hoàn chỉnh từ nhóm xây dựng AngularJS Hình 2: Kiến trúc Angular [2] [2 – Tài liệu tham khảo số 2] Docker Docker dự án mã nguồn mở giúp tự động triển khai ứng dụng Linux Windows vào container ảo hóa Docker cung cấp lớp trừu tượng tự động ảo hóa dựa Linux Hình 3: Kiến trúc docker [3 – Tài liệu tham khảo số 3] My SQL MySQL hệ quản trị sở liệu tự nguồn mở phổ biến giới nhà phát triển ưa chuộng trình phát triển ứng dụng Hình 4: Kiến trúc My SQL [4 – Tài liệu tham khảo số 4] Microservice Microservice kỹ thuật phát triển phần mềm, biến thể kiến trúc hướng dịch vụ cấu trúc ứng dụng tập hợp dịch vụ ghép lỏng lẻo Trong kiến trúc microservice, dịch vụ xử lý tốt giao thức nhẹ Domain driven design Domain - driven design cách tiếp cận việc xây dựng phần mềm phức tạp, phức tạp logic lĩnh vực kinh doanh Thuật ngữ đưa Eric Evans sách tên RabbitMQ phần mềm môi giới tin nhắn nguồn mở, ban đầu triển khai Giao thức xếp hàng tin nhắn nâng cao từ mở rộng với kiến trúc trình cắm để hỗ trợ Giao thức nhắn tin hướng văn truyền phát, truyền tải từ xa MQ giao thức khác CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG VÀ MƠ HÌNH HĨA U CẦU KHẢO SÁT HIỆN TRẠNG Đồn Tình hình phát triển cực mạnh internet tình hình dịch bệnh COVID 19 nên việc truyền thống có xu hướng chuyển dần sang học online Chi tiết hệ thống sau o Chức quản lý học viên: - Quản lý danh sách học viên: ▪ Thơng tin danh sách học viên ▪ Các khóa học mà học viên đăng ký o Chức quản lý trường học o Danh sách trường học o Chức quản lý chuyên ngành o Chức quản lý loại khóa học o Chức quản lý cài đặt hệ thống o Chức quản lý email template o Chức học tập học viên o Chức quản lý khóa học o Quản lý unit o Quản lý topic ▪ Quản lý câu hỏi review ▪ Quản lý câu hỏi practice Nhập tên Nhấn vào (1) Đã đăng nhập Nhập thứ tự hiển thị Nhấn vào (2) Đã đăng nhập Nhập mô tả Nhấn vào (3) Đã đăng nhập Nhập kỹ Thêm ảnh bìa Nhập thơng tin vào (4) Đã đăng nhập Thêm ảnh đại diện Nhấn vào (5) Đã đăng nhập Thêm nội dung học Nhấn vào (6) Đã đăng nhập Thay đổi trạng thái Danh sách câu hỏi review 19 Danh sách câu hỏi practice 53 3.1.7 Giao diện trang Quản lý Cài Đặt Hệ Thống Hình 28: Giao diện trang Quản lý Cài Đặt Hệ Thống Bảng 54: Danh sách xử lý trang Quản lý Cài Đặt Hệ Thống STT Tên xử lý Điều kiện gọi thực thi Ghi Nhập lọc Nhấn vào (1) Đã đăng nhập Thực tìm kiếm Nhấn vào (2) Đã đăng nhập Thực chỉnh sửa Nhấn vào (3) Đã đăng nhập Xóa Nhập thơng tin vào (4) Đã đăng nhập Chuyển trang Nhấn vào (5) Đã đăng nhập Thêm Nhấn vào (6) Đã đăng nhập 54 - Thêm, chỉnh sửa cài đặt hệ thống Hình 29: Giao diện trang thêm/chỉnh sửa hệ thống STT Tên xử lý Điều kiện gọi thực thi Ghi Nhập key Nhập vào (1) Đã đăng nhập Nhập giá trị Nhập vào (2) Đã đăng nhập Nhập miêu tả Nhập vào (3) Đã đăng nhập Nhập ngày bắt đầu Nhập vào (4) Đã đăng nhập Nhập ngày kết thúc Nhập vào (5), (6), (7) Đã đăng nhập Thay đổi mã hóa Thay đổi kích hoạt Bảng 55: Danh sách xử lý trang thêm/chỉnh sửa cài đặt hệ thống 55 3.2 Giao diện site học viên 3.2.1 Giao diện trang Đăng nhập Hình 30: Giao diện trang Đăng nhập Bảng 56: Danh sách xử lý trang Đăng nhập STT Tên xử lý Điều kiện gọi thực thi Nhập tài khoản Nhập giá trị vào (1) Nhập mật Nhập giá trị vào (2) Đăng nhập Nhấn vào (3) Ghi 56 3.2.2 Giao diện trang chủ Hình 31: Giao diện trang chủ STT Tên xử lý Điều kiện gọi thực thi Danh sách menu Nhập giá trị vào (1) Thông tin người đăng Nhập giá trị vào (2) Ghi nhập Bảng 57: Danh sách xử lý trang chủ 57 3.2.4 Giao diện trang danh sách khóa học Hình 32: Giao diện danh sách khóa học STT Tên xử lý Điều kiện gọi thực thi Nhấn Lọc khoá học học Ghi viên Lọc tất khóa học Nhấn Bắt đầu khóa học Nhấn Mua khóa học Nhấn Bảng 58: Danh sách khóa học 58 - Chi tiết khóa học Hình 33: Giao diện chi tiết khóa học STT Tên xử lý Điều kiện gọi thực thi Hiển thị tên khóa học Hiển thị thông tin unit Nhấn Hiển thông tin topic Nhấn Ghi chọn Bảng 59: Giao diện chi tiết khóa học 59 - Chi tiết topic Hình 34: Giao diện chi tiết topic STT Tên xử lý Nội dung học Chuyển sang câu hỏi Điều kiện gọi thực thi Ghi Nhấn review 60 Chuyển sang câu hỏi Nhấn practice Quay lại chi tiết Nhấn học Bảng 60: Giao diện chi tiết topic - Chi tiết câu hỏi review Hình 35: Giao diện chi tiết topic STT Tên xử lý Điều kiện gọi thực thi Ghi 61 Danh sách câu hỏi Câu hỏi Đếm thời gian làm Nhấn Bảng 61: Giao diện chi tiết topic - Chi tiết câu hỏi practice 62 Hình 36: Giao diện chi tiết topic Điều kiện gọi thực thi STT Tên xử lý Danh sách câu hỏi Câu trả lời Đi tiếp câu hỏi Hiển thị số lượng câu Ghi Nhấn hỏi, câu Bảng 62: Giao diện chi tiết topic CHƯƠNG 4: TRIỂN KHAI ỨNG DỤNG TRIỂN KHAI BACK END 1.1 Triển khai rabbitMQ local redis - Cài đặt docker: https://www.docker.com/get-started - Chạy redis: docker run name localredis -p 6379:6379 -d redis - Chạy rabbitMQ: docker run -it rm name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3-management 1.2 Cài đặt My SQL - Link cài đặt: https://www.mysql.com/downloads/ 1.3 Cài đặt Asp net core - Link cài đặt: https://dotnet.microsoft.com/download - Đến AuthServer.Host thực lệnh: dotnet build - Đến BackendAdminGateway.Host thực lệnh: dotnet build 63 - Đến StudyWebSiteGateway.Host thực lệnh: dotnet build - Đến Ft.CourseManagement.HttpApi.Host thực lệnh: dotnet build - Đến Ft.StudyManagement.HttpApi.Host thực lệnh: dotnet build - Đến Ft.SystemConfiguration.HttpApi.Host thực lệnh: dotnet build - Đến IdentityService.Host thực lệnh: dotnet build TRIỂN KHAI FRONT END 2.1 Triển khai trang admin - Vào thư mục WebAdmin thực hiện: ng build —prod - Sau chạy xong thực copy toàn thư mục dist/ - Và chép vào web sever 2.2 Triển khai trang học viên - Thực tương tự 64 PHẦN KẾT LUẬN KẾT QUẢ ĐẠT ĐƯỢC - Hệ thống bảo mật công nghệ Json Web Token - Các chức xây dựng dựa module riêng biệt - Xây dựng chức đề - Hệ thống đưa lên host publish cửa hàng ứng dùng để người dùng sử dụng - Sản phẩm đảm bảo thời gian thực - Nắm bắt tồn quy trình từ lúc phát triển ứng dụng đưa sản phẩm cuối đến tay người dùng ƯU ĐIỂM - Hoạt động quản lý diễn cách trơn tru xác, khơng xảy tình trạng xung đột module - Các module xây dựng cách riêng biệt APIs tương ứng, đảm bảo luồng liệu xác - Phần Core System xây dựng APIs hỗ trợ tốt cho việc xây dựng giao diện người dùng đa tảng - Người dùng hệ thống sử dụng ứng dụng cách dễ dàng, tạo điều kiện cho công tác quản lý diễn cách thuận tiện - Cơ chế bảo mật tốt Token tạo sở cho yên tâm người dùng hệ thống NHƯỢC ĐIỂM - Các tính xây dựng mức độ hoàn thiện chưa cao giới hạn mặt người thời gian - Chưa tính tồn số lượng truy cập lúc lượng băng thông cần thiết đến hệ thống - Nghiệp vụ quản lý vài Module cần phải nâng cấp tương lai 65 HƯỚNG PHÁT TRIỂN - Tiếp tục hồn thiện chức cịn thiếu - Bổ sung module giao tiếp ielt - Nâng cấp sửa đổi nghiệp vụ chưa hoàn toàn hợp lý - Áp dụng nhiều biện pháp tính tốn độ hiệu hoạt động ứng dụng - Cải thiện trải nghiệm người dùng ứng dụng TÀI LIỆU THAM KHẢO [1] ASP.NET documentation Link: https://docs.microsoft.com/en-us/aspnet/core/?view=aspnetcore-3.1 [2] Docker document Link:https://www.docker.com/ [3] RabbitMQ document 66 Link: https://www.rabbitmq.com/ Microservice document Link: https://microservices.io/patterns/microservices.html [5] Angular Link: https://angular.io/ 67 ... sang học online Chi tiết hệ thống sau o Chức quản lý học viên: - Quản lý danh sách học viên: ▪ Thông tin danh sách học viên ▪ Các khóa học mà học viên đăng ký o Chức quản lý trường học o Danh... Đề tài chủ yếu tập trung vào việc xử lý tạo học, kiểm trả Cịn học sinh học tập làm tập online PHÂN TÍCH CÁC ỨNG DỤNG CÓ LIÊN QUAN Hầu hết ứng dụng học online mắt rộng rãi số điểm sau: - Giao diện... gặp nhiều khó khăn - Tính số ứng dụng hạn chế KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC - Xây dựng giao diện đơn giản, dễ sử dụng - Xây dựng chức tạo học kiểm tra bắt mặt Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN Đề tài hướng