LỜI CẢM ƠN Sau hơn 4 năm học tập và rèn luyện tại trường Đại học Công nghệ Thông tin Đại học Quốc gia Thành phố Hồ Chí Minh, chúng em xin gửi lời cảm ơn đến ban giám hiệu, quý thầy cô củ
Trang 1ĐẠ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
ĐỖ THÀNH LỘC BÙI ĐANG QUY
KHÓA LUẬN TỐT NGHIỆP
XÂY DỰNG ỨNG DỤNG CHIA SẼ TÀI LIỆU VÀ KINH NGHIỆM LUYỆN THI
TIẾNG ANH BUILDING AN APPLICATION TO SHARE METERIALS AND EXPERIENCES
IN ENGLISH TEST PREPARATION
KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM
Trang 2ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
ĐỖ THÀNH LỘC – 16520675 BÙI ĐANG QUY – 16521009
KHÓA LUẬN TỐT NGHIỆP
XÂY DỰNG ỨNG DỤNG CHIA SẼ TÀI LIỆU VÀ KINH NGHIỆM LUYỆN THI
TIẾNG ANH BUILDING AN APPLICATION TO SHARE METERIALS AND EXPERIENCES
IN ENGLISH TEST PREPARATION
KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM
GIẢNG VIÊN HƯỚNG DẪN THS LÊ THANH TRỌNG
TP HỒ CHÍ MINH, 2021
Trang 3THÔ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
Trang 4ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC
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
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 CHIA SẺ TÀI LIỆU VÀ KINH NGHIỆM LUYỆN THI TIẾNG ANH Nhóm SV thực hiện: Cán bộ hướng dẫn: Đỗ Thành Lộc 16520675 ThS Lê Thanh Trọng Bùi Đang Quy 16521009 Đánh giá Khóa luận 1 Về cuốn báo cáo: Số trang: Số chương: Số bảng số liệu: Số hình vẽ: Số tài liệu tham khảo: Sản phẩm: Một số nhận xét về hình thức cuốn báo cáo:
Trang 5
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:
Trang 6Điểm từng sinh viên:
Trang 7ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC
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
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 CHIA SẺ TÀI LIỆU VÀ KINH NGHIỆM LUYỆN THI TIẾNG ANH Nhóm SV thực hiện: Cán bộ phản biện: Đỗ Thành Lộc 16520675 Bùi Đang Quy 16521009 Đánh giá Khóa luận 1 Về cuốn báo cáo: Số trang: Số chương: Số bảng số liệu: Số hình vẽ: Số tài liệu tham khảo: Sản phẩm: Một số nhận xét về hình thức cuốn báo cáo:
Trang 8
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:
Trang 9
Điểm từng sinh viên:
Trang 10LỜI CẢM ƠN
Sau hơn 4 năm học tập và rèn luyện tại trường Đại học Công nghệ Thông tin Đại học
Quốc gia Thành phố Hồ Chí Minh, chúng em xin gửi lời cảm ơn đến ban giám hiệu,
quý thầy cô của trường Đại học Công nghệ Thông tin Đại học Quốc gia Thành phố
Hồ Chí Minh và đặc biệt là các thầy cô trong khoa Công Nghệ Phần Mềm đã tận tình
giảng dạy, tạo mọi điều kiện tốt nhất để trang bị cho chúng em những kiến thức cần
thiết trong những năm học tập tại trường cũng như là những hành trang cho chúng
em vững tin bước tiếp trên còn đường của chính chúng em sau này
Chúng em xin đặc biệt gửi lời cảm ơn đến thạc sĩ thầy Lê Thanh Trọng, người đã tận
tình hướng dẫn và giúp đỡ trong suốt quá trình thực hiện khoá luận để chúng em có
thể hoàn thành tốt khoá luận này
Bên cạnh đó chúng em xin cảm ơn các bạn cùng lớp đã đóng góp ý kiến để khoá luận
hoàn chỉnh hơn Cuối cùng, chúng em xin gửi lòng biết ơn sâu sắc đến cha mẹ, gia
đình đã tạo mọi điều kiện về vật chất, tinh thần, động viên, khích lệ và hỗ trợ chúng
em trong suốt thời gian qua
Mặc dù đã cố gắng hoàn thành khoá luận với tất cả sự nổ lực, nhưng khoá luận chắc
chắn không tránh khỏi những thiếu sót Do đó chúng em kính mong nhận được sự
thông cảm của quý thầy cô và những ý kiến đóng góp chân thành từ quý thầy cô và
các bạn Một lần nữa chúng em xin chân thành cảm ơn tất cả mọi người!
Thành phố Hồ Chí Minh, tháng 1 năm 2021
Nhóm sinh viên Nguyễn Thành Lộc Bùi Đang Quy
Trang 11ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC
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: Xây dựng ứng dụng chia sẻ tài liệu và kinh nghiệm luyện thi tiếng Anh Cán bộ hướng dẫn: ThS Lê Thanh Trọng
Thời gian thực hiện: Từ ngày 01/10/2020 đến ngày 22/02/2021
Sinh viên thực hiện:
Đỗ Thành Lộc – 16520675
Bùi Đang Quy – 16521009
Nội dung đề tài:
Trong cuộc sống hiện nay, có thể thấy tiếng Anh là ngôn ngữ được sử dụng rộng rãi nhất, tiếng Anh được sử dụng ở nhiều quốc gia nhiều hơn bất kỳ ngôn ngữ nào khác Ngoài ra, quá trình toàn cầu hóa và hội nhập càng làm cho nhu cầu học tiếng Anh ngày càng trỡ nên cần thiết Bên cạnh đó việc luyện thi lấy chứng chỉ tiếng Anh cũng là một phần không thể thiếu trong cuộc sống hiện nay Đặc biệt hơn, trong lĩnh vực công nghệ thông tin, nhu cầu học tập và luyện thi tiếng Anh lại ngày một cấp thiết hơn Vì vậy, để đáp ứng nhu cầu của học sinh, sinh viên và những người có nhu cầu học tiếng Anh thì nhóm em đã xây dựng một ứng dụng giúp người dùng có thể tự học tiếng Anh ở bất cứ đâu, giúp tiết kiệm và dễ dàng quản lí được thời gian, bên cạnh đó ứng dụng sẽ luôn được cập nhật kiến thức, format mới nhất của đề thi TOEIC để giúp người dùng nâng cao kiến thức, bám sát được đề thi cũng như cải thiện trình độ tiếng Anh
Trang 12Mục tiêu:
Phát triển ứng dụng với các tính năng: Chia sẽ tài liệu, kinh nghiệm luyện thi TOEIC; Ôn tập kiến thức tiếng Anh (ngữ pháp, từ vựng, …) trong đề thi; Thi, đánh giá năng lực tiếng Anh, gợi ý khóa học
o Chia sẽ kinh nghiệm, tài luyện luyện thi tiếng Anh
o Ôn luyện thi thử tiếng Anh thông qua các bài thi dựa vào cấu trúc của đề thi TOEIC theo format mới nhất
o Theo dõi kết quả thi cá nhân, đánh giá năng lực các bài thi theo kết quả thi thực tế trên ứng dụng
Trang 13Phương pháp thực hiện:
− Phân tích đề tài
− Nghiên cứu, tìm hiểu về các ứng dụng đã có mặt trên thị trường
− Nghiên cứu công nghệ để áp dụng
− Phát triển và hoàn thiện sản phẩm
Kết quả mong đợi:
− Hoàn thành ứng dụng đáp ứng đúng đủ các chức năng đạt ra
− Giao diện bắt mắt, dễ sử dụng, mang lại hứng thú, trải nghiệm tốt khi sử dụng
− Giúp cải thiện được trình độ tiếng anh của người dùng
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)
1 Sprint 1: Phân tích đề tài và nghiên cứu kỹ
thuật
Lộc, Quy
1,1 Khảo sát, phân tích và liệt kê danh sách các
chức năng yêu cầu của hệ thống
1,2 Vẽ sơ đồ Usecase
1,3 Thiết kế cơ sở dữ liệu
1,4 Tìm hiểu React Native, ASP NET MVC,
Entity Framework, ASP NET Web API 2
2 Sprint 2: Thiết kế giao diện cho ứng dụng Quy
Trang 143 Sprint 3: Xây dựng Webservice với
Restful API
Quy
4 Sprint 4: Xây dựng trang quản lý Quy
4,1 Cài đặt giao diện
4,2 Xây dựng chức năng quản lý
5 Sprint 5: Xây dựng chức năng: Thi thử Lộc
5,1 Cài đặt giao diện
5,2 Xây dựng chức năng: Thi thử
6 Sprint 6: Xây dựng các chức năng: Chia sẻ
bài đăng, bình luận
Lộc
6,1 Cài đặt giao diện
6,2 Xây dựng chức năng: Chia sẻ bài đăng, bình
Trang 15Sinh viên 2
(Ký tên và ghi rõ họ tên)
Bùi Đang Quy
Trang 16MỤC LỤC
TÓM TẮT KHÓA LUẬN 1
Chương 1: MỞ ĐẦU 2
1.1 Giới thiệu đề tài 2
1.2 Lý do chọn đề tài 3
1.3 Thực trạng đề tài 3
Chương 2: TỔNG QUAN ĐỀ TÀI 7
2.1 Mục tiêu 7
2.2 Phạm vi 7
2.2.1 Phạm vi nội dung: 7
2.2.2 Phạm vi chức năng: 7
2.3 Phương pháp thực hiện 7
2.3.1 Các bước thực hiện đề tài: 7
2.3.2 Những công nghệ được sử dụng: 8
2.4 Ý nghĩa thực tiễn 8
2.5 Kết quả dự kiến 8
Chương 3: XÂY DỰNG ỨNG DỤNG VÀ DEMO 10
3.1 Công nghệ sử dụng 10
3.1.1 React Native 10
3.1.1.1 React Native là gì? 10
3.1.1.2 React Native hoạt động như thế nào? 10
3.1.1.3 Cơ chế hoạt động của Thread? 12
3.1.1.3.1 Asynchronous (Cơ chế bất đồng bộ) 12
Trang 173.1.1.3.2 Batched (Xử lý hàng loạt) 12
3.1.1.3.3 Serializable (Tuần tự) 12
3.1.1.4 Một số khái niệm cơ bản trong React Native 12
3.1.1.4.1 Components 12
3.1.1.4.2 Props 15
3.1.1.4.3 State 16
3.1.1.5 Ưu nhược điểm của React Native 18
3.1.1.5.1 Ưu điểm 18
3.1.1.5.1.1 Có thể tái sử dụng code 18
3.1.1.5.1.2 Cộng đồng người dùng lớn 18
3.1.1.5.1.3 Tính ổn định và tối ưu 19
3.1.1.5.2 Nhược điểm 19
3.1.1.6 Typescript là gì? Ưu nhược điểm của Typescript 19
3.1.1.7 Một số khái niệm liên quan được nhắc đến 20
3.1.1.7.1 Native app 20
3.1.1.7.2 Hybrid App 20
3.1.1.7.3 Cross Platform 21
3.1.2 ASP NET MVC 21
3.1.2.1 ASP NET MVC là gì? 21
3.1.2.2 Cơ chế hoạt động của mô hình MVC 23
3.1.2.3 Ưu nhược điểm của ASP NET MVC 24
3.1.2.3.1 Ưu điểm 24
Trang 183.1.3.1 ASP NET Web API 2 là gì? 25
3.1.3.2 Các HTTP request methods áp dụng 25
3.1.4 Entity Framework Code First 25
3.1.4.1 Entity Framework là gì? 25
3.1.4.2 Entity Framework Code first 26
3.1.4.3 Kiến trúc của Entity Framework 26
3.1.4.4 Ưu nhược điểm của Entity Framework Code First 27
3.1.4.4.1 Ưu điểm 27
3.1.4.4.2 Nhược điểm 27
3.2 XÂY DỰNG ỨNG DỤNG CHIA SẺ TÀI LIỆU VÀ KINH NGHIỆM LUYỆN THI TIẾNG ANH 28
3.2.1.1 Danh sách các Actor 28
3.2.1.2 Danh sách các Use-case 29
3.2.1.2.1 Sơ đồ use-case tổng quát 29
3.2.1.2.2 Use-case của người quản trị 30
3.2.1.2.2.1 Sơ đồ use-case 30
3.2.1.2.2.2 Danh sách các use-case và ý nghĩa 30
3.2.1.2.3 Use-case của người học tiếng Anh 32
3.2.1.2.3.1 Sơ đồ use-case 32
3.2.1.2.3.2 Danh sách các use-case và ý nghĩa 33
3.2.1.2.4 Use-case của người đóng góp 34
3.2.1.2.4.1 Sơ đồ use-case 34
3.2.1.2.4.2 Danh sách các use-case và ý nghĩa 34
3.2.2 Thiết kế cơ sở dữ liệu 35
Trang 193.2.2.1 Bảng User 35
3.2.2.2 Bảng Question 37
3.2.2.3 Bảng Post 37
3.2.2.4 Bảng PostCategory 38
3.2.2.5 Bảng Document 38
3.2.2.6 Bảng Examination 38
3.2.2.7 Bảng ExaminationCategory 39
3.2.2.8 Bảng Comment 39
3.2.2.9 Bảng Test 39
3.2.2.10 Bảng Result 40
3.2.3 Thiết kế kiến trúc hệ thống 40
3.2.3.1 Kiến trúc tổng thể 40
3.2.3.2 Kiến trúc của ứng dụng web 41
3.2.3.3 Kiến trúc của ứng dụng di động 43
3.2.4 Thiết kế giao diện và xử lý 45
3.2.4.1 Giao diện trên ứng dụng web – trang quản trị 45
3.2.4.1.1 Danh sách các trang 45
3.2.4.1.2 Giao diện và xử lý của một số trang chính 46
3.2.4.2 Giao diện trên ứng dụng di động 55
3.2.4.2.1 Danh sách các màn hình 55
3.2.4.2.2 Giao diện và xử lý một số màn hình chính 56
3.2.5 Triển khai hệ thống 68
Trang 20Chương 4: KẾT LUẬN 69
4.1 Kết quả đạt được 69
4.2 Thuận lợi và khó khăn 69
4.2.1 Thuận lợi 69
4.2.2 Khó khăn 70
4.3 Hướng phát triển 70
TÀI LIỆU THAM KHẢO 71
Trang 21DANH MỤC HÌNH
Hình 1- 1 Giao diện ứng dụng New TOEIC Test 2020 3
Hình 1- 2 Giao diện một số Fanpage về học tiếng Anh trên Facebook 4
Hình 3-1 React Native 10
Hình 3-2 Main Thread và JavaScript Thread không giao tiếp trực tiếp với nhau 11
Hình 3-3 Kiến trúc của React Native 11
Hình 3-4 Components trong React Native 13
Hình 3-5 Một ví dụ về Scroll view 14
Hình 3-6 ConsoleLog ở trên debuger 18
Hình 3-7 Mô hình MVC 22
Hình 3-8 Quy trình hoạt động của mô hình MVC 23
Hình 3-9 Kiến trúc của EF 26
Hình 3-10 Danh sách use-case tổng quát 29
Hình 3-11 Use-case của người quản trị hệ thống 30
Hình 3-12 Danh sách các use-case của người học tiếng Anh 32
Hình 3-13 Sơ đồ use-case của người đóng góp nội dung 34
Hình 3-14 Sơ đồ kiến trúc tổng thể của hệ thống 40
Hình 3-15 Kiến trúc của ứng dụng web 41
Hình 3-16 Kiến trúc của ứng dụng di động 43
Hình 3-17 Màn hình đăng nhập trang quản trị 46
Hình 3-18 Màn hình thông tin người dùng 46
Hình 3-19 Màn hình chỉnh sửa thông tin người dùng 47
Hình 3-20 Màn hình tạo mới thông tin người dùng 47
Hình 3-21 Màn hình thông tin bài thi 48
Hình 3-22 Màn hình thông tin câu hỏi 48
Trang 22Hình 3-26 Màn hình thông tin loại phần thi 50Hình 3-27 Màn hình thông tin loại bài đăng 51Hình 3-28 Màn hình chỉnh sửa thông tin loại bài đăng 51Hình 3-29 Màn hình thông tin tài liệu đính kèm trong bài đăng 52Hình 3-30 Màn hình chỉnh sửa thông tin tài liệu đính kèm trong bài đăng 52Hình 3-31 Màn hình thông tin kết quả thi 53Hình 3-32 Màn hình thông tin bình luận 53Hình 3-33 Màn hình tạo mới thông tin bình luận 54Hình 3-34 Màn hình lựa chọn đăng nhập 56Hình 3-35 Màn hình đăng nhập 57Hình 3-36 Màn hình danh sách các bài đăng 58Hình 3-37 Màn hình thông tin chi tiết của bài đăng 59Hình 3-38 Màn hình danh sách các bài thi 60Hình 3-39 Màn hình bài thi phần thi Listening Part 1 61Hình 3-40 Màn hình kết quả sao khi hoàn thành 1 bài thi 62Hình 3-41 Màn hình các khóa học của các trung tâm Anh ngữ uy tín 63Hình 3-42 Màn hình thông tin chi tiết khóa học tại trung tâm Anh ngữ uy tín 64Hình 3- 43 Màn hình các khóa học, bài thi, bài đăng đang theo dõi 65Hình 3-44 Màn hình thông tin của người dùng bao gồm kết quả thi từng phần của người dùng 66
Trang 23DANH MỤC BẢNG
Bảng 1- 1 Ưu khuyết điểm của các ứng dụng New TOEIC Test 2020 và Facebook 5
Bảng 3- 1 Danh sách các Actor 28Bảng 3- 2 Danh sách các use-case và ý nghĩa của người quản trị 31Bảng 3- 3 Danh sách các use-case và ý nghĩa của người dùng 34Bảng 3- 4 Danh sách các use-case và ý nghĩa của người đóng góp nội dung 35Bảng 3- 5 Bảng User 36Bảng 3- 6 Bảng Question 37Bảng 3- 7 Bảng Post 37Bảng 3- 8 Bảng Post Category 38Bảng 3- 9 Bảng Document 38Bảng 3- 10 Bảng Examination 38Bảng 3- 11 Bảng Examination Category 39Bảng 3- 12 Bảng Comment 39Bảng 3- 13 Bảng Test 39Bảng 3- 14 Bảng Result 40Bảng 3- 15 Bảng kiến trúc của ứng dụng web 42
Trang 24DANH MỤC TỪ VIẾT TẮT
Trang 25− Triển khai máy chủ và ứng dụng bằng cách sử dụng các nền tảng, dịch vụ như Azure
− Trình bày kết luận và hướng phát triển cho ứng dụng chia sẻ tài liệu và kinh nghiệm luyện thi tiếng Anh
Trang 262
Chương 1: MỞ ĐẦU
1.1 Giới thiệu đề tài
Tiếng Anh cực kỳ quan trọng, đây là một điều chắc chắn Vị thế của nó không chỉ đến từ các chỉ số số thống kê về số người sử dụng tiếng Anh, với 400 triệu người bản ngữ và có hơn 1,6 tỷ người nói tiếng Anh như là một ngôn ngữ thứ hai Chúng ta đều biết rằng tiếng Anh được xem là ngôn ngữ toàn cầu Theo bảng xếp hạng đánh giá kỹ năng tiếng Anh của những người trưởng thành trên toàn cầu do Tổ chức giáo dục Education First công bố tại Thụy Sĩ (tháng 11/ 2018), Việt Nam xếp thứ 41/88 quốc gia và vùng lãnh thổ Điều này phản ánh một thực tế, Việt Nam đang là một nước sử dụng kỹ năng tiếng Anh ở mức trung bình Trong thời kỳ cách mạng công nghiệp 4.0 diễn ra mạnh mẽ, để tránh bị tụt hậu so với các nước khác, không chỉ sinh viên, học sinh mà còn cả cộng đồng cần trao dồi thêm các kỹ năng tiếng Anh
Hiện nay, việc học tiếng Anh ở Việt Nam đã và đang là một xu hướng Trong lĩnh vực Giáo dục, tiếng Anh hiện được đưa vào thực hiện giảng dạy từ cấp tiểu học Ở nhiều trường đại học còn chủ trương đưa tiếng Anh vào làm ngôn ngữ chính để thực thiện công tác giảng dạy Tuy nhiên, việc áp dụng tiếng Anh vào giảng dạy cho học sinh, sinh viên vẫn còn nhiều hạn chế Bằng chứng là hiện nay, sinh viên ra trường vẫn chưa đáp ứng được nhu cầu tiếng Anh cơ bản cho môi trường làm việc Do đó,
để đáp ứng các nhu cầu tiếng Anh cơ bản cho môi trường làm việc, việc học thi các chứng chỉ tiếng Anh quốc tế như IELTS, TOEFL, ESOL, TOEIC ngày càng cần thiết Ngoài những cách học, thi tiếng Anh như truyền thống, ngày cảng nhiều người lựa chọn việc học tiếng Anh thông qua các thiết bị di động thông minh, khi dường như con người đang không thể sống thiếu được điện thoại di động Vì thực trạng trên, cần
có các ứng dụng di động để đáp ứng nhu cầu học, thi tiếng Anh cho những người có nhu cầu
Trang 271.2 Lý do chọn đề tài
Khi mà ngày càng nhiều các nhà tuyển dụng đòi hỏi cá thi sinh ứng tuyển không chỉ
ở năng lực chuyên môn mà còn cả ở kỹ năng tiếng Anh Nhu cầu học và ôn thi tiếng Anh để lấy chứng chỉ ngày càng trở nên cần thiết Việc học ở các trung tâm tiếng Anh dường như là lựa chọn khả dĩ nhất, song vẫn tồn tại không ít bất cập như: học phí đắt
đỏ, thời gian cố định, cứng nhắc Tuy nhiên, nhờ vào sợ phát triển của công nghệ nói chung, và thiết bị điện thoại thông minh nói chung đã mở ra một xu hướng mới trong việc học, ôn luyện và thi tiếng Anh, đó là học tiếng Anh thông qua ứng dụng di động
Từ những nhu cầu thực tế trên, chúng em nhận thấy việc xây dựng một hệ thống giúp những người có nâng cao kỹ năng tiếng Anh có thể dễ dàng học, ôn tập, luyện thi tiếng Anh mọi lúc mọi nơi chỉ với các thiết bị điện thoại thông minh ngày càng trở nên cần thiết
1.3 Thực trạng đề tài
Với nhu cầu học tiếng Anh hiện tại, đa số các ứng dụng hỗ trợ học, ôn thi chứng chỉ tiếng Anh TOEIC chưa phát triển mạnh ở Việt Nam Có thể kể tên một số nền tảng
hỗ trợ học, ôn luyện như: New TOEIC Test 2020, Facebook
Hình 1- 1 Giao diện ứng dụng New TOEIC Test 2020
Trang 284
Hình 1- 2 Giao diện một số Fanpage về học tiếng Anh trên Facebook
Tuy nhiên, hai ứng dụng trên vẫn còn tồn tại nhiều hạn chế cũng như khuyết điểm
Trang 29Ưu điểm Hạn chế New TOEIC
Test 2020
− Là ứng dụng ôn thi tiếng Anh thuần
− Ứng dụng hỗ trợ thi thử theo từng phần thi trong bài thi TOEIC
− Là ứng dụng ôn thi tiếng Anh thuần nên không tính tương tác giữa các người dùng với nhau
− Dữ liệu không được cập nhật liên tục và phụ thuộc vào người phát triển
dễ sử dụng, có tính tương tác cao
− Ứng dụng có số lượng người dùng lớn
− Dữ liệu được cập nhật liên tục
− Là nền tảng mạng xã hội và không được sử dụng cho việc
ôn thi tiếng Anh theo format của đề thi
− Dữ liệu được cập nhật liên tục, tuy nhiên khó kiểm soát được chất lượng của dữ liệu
− Tuy có nhiều trang cũng như group hỗ trợ cho việc ôn thi tiếng Anh, tuy nhiên ứng dụng không được tạo ra nhầm mục đích giúp người dùng học tiếng Anh một cách hiệu quả
Bảng 1- 1 Ưu khuyết điểm của các ứng dụng New TOEIC Test 2020 và Facebook
Nhận ra được sự thiếu sót cũng như còn nhiều bất cập trong việc ôn, luyện thi tiếng Anh qua các ứng dụng di động, nhóm em phát triển một ứng dụng tích hợp những ưu điểm của hai nền tàng trên Với các ưu điểm như:
− Ứng dụng hỗ trợ người dùng ôn, luyện thi thử tiếng Anh theo format của đề thi TOEIC hiện hành
− Ứng dụng hỗ trợ tính tương tác của người dùng thông qua các bài đăng, bình luận
Trang 306
− Ứng dụng hỗ trợ người dùng thi thử từng phần thi theo đúng format, thời gian ước tính cho từng phần thi trong bài thi TOEIC, giúp người dùng rèn luyện, tập làm quen cũng như ước lượng được khoảng thời gian làm bài trong kì thi TOEIC thực tế
− Ứng dụng còn là một nơi giúp kết nối những người có nhu cầu học tiếng Anh
và những người có kiến thức cũng như kĩ năng tốt về tiếng Anh lại với nhau thông qua các bài đăng và hỏi đáp
Trang 31Chương 2: TỔNG QUAN ĐỀ TÀI
2.1 Mục tiêu
− Nghiên cứu, tìm hiểu công nghệ React Native, ASP.NET MVC, Entity Framework, ASP NET Web API 2 để áp dụng vào hệ thống
− Phát triển ứng dụng web và ứng dụng di động bằng cách sử dụng các framework ASP.NET MVC, React Native theo hướng đầy đủ tính năng, thân thiện, dễ sử dụng nhằm nâng cao trải nghiệm của người dùng
− Triển khai các hợp đồng thông minh, máy chủ và ứng dụng bằng cách sử dụng các nền tảng, dịch vụ như Azure
− Chia sẽ kinh nghiệm, tài luyện luyện thi tiếng Anh
− Tương tác đặt câu hỏi thông qua hình thức các bài đăng
− Ôn luyện thi thử tiếng Anh thông qua các bài thi dựa vào cấu trúc của đề thi TOEIC theo format mới nhất
− Theo dõi các bài đăng, khóa học, bài thi theo tính cá nhân hóa
− Theo dõi kết quả thi cá nhân, đánh giá năng lực các bài thi theo kết quả thi thực tế trên ứng dụng
2.3 Phương pháp thực hiện
2.3.1 Các bước thực hiện đề tài:
− Phân tích đề tài
Trang 328
− Nghiên cứu, tìm hiểu về các ứng dụng đã có mặt trên thị trường
− Nghiên cứu công nghệ để áp dụng
− Phát triển và hoàn thiện sản phẩm
− Cung cấp sự nhanh chóng, tiện lợi, chủ động hơn cho người sử dụng
− Giúp tiết kiệm thời gian trong việc học và ôn luyện thi tiếng Anh
− Giúp cắt giảm được nhiều chi phí phát sinh về mặt vật chất cũng như về mặt con người
2.5 Kết quả dự kiến
Hiểu và nắm rõ những khái niệm cơ bản về React Native Đồng thời xây dựng và phát triển hệ thống hỗ trợ những người có nhu cầu học, ôn luyện và thi TOEIC với các chứng năng chính như sau:
− Chia sẽ kinh nghiệm, tài luyện luyện thi tiếng Anh
− Tương tác đặt câu hỏi thông qua hình thức các bài đăng
− Ôn luyện thi thử tiếng Anh thông qua các bài thi dựa vào cấu trúc của đề thi TOEIC theo format mới nhất
− Theo dõi các bài đăng, khóa học, bài thi theo tính cá nhân hóa
Trang 33− Theo dõi kết quả thi cá nhân, đánh giá năng lực các bài thi theo kết quả thi thực tế trên ứng dụng
Trang 34Hình 3-1 React Native
Nguồn: medium.com Một vài ứng dụng lớn sử dụng React Native như: Facebook, Instagram, Uber Eats, Skype, …
3.1.1.2 React Native hoạt động như thế nào?
Ứng dụng React Native được chia thành 2 phần: phần view (Main Thread), phần xử
lý (JavaScipt Thread):
− Main Thread: cập nhật giao diện người dùng (UI) và xử lý tương tác người dùng
Trang 35− JavaScipt Thread: Thực thi code JavaScipt
Hai luồng Main Thread và JavaScipt Thread hoạt động độc lập với nhau Chúng sẽ không bao giờ giao tiếp trực tiếp với nhau và không bao giờ block nhau
Hình 3-2 Main Thread và JavaScript Thread không giao tiếp trực tiếp với nhau
Nguồn: medium.com Hai Thread sẽ tương tác với nhau nhờ một Bridge (cầu nối) Chiếc cầu nối này sẽ chuyển đổi dữ liệu qua lại giữa các Thread
Hình 3-3 Kiến trúc của React Native
Nguồn: medium.com
Trang 37Hình 3-4 Components trong React Native
Nguồn: viblo.asia Đây là một list cơ bản về thông tin của album có tên albumn, tên ca sĩ thể hiện, ảnh thumbnail của ca sĩ và ảnh bìa của album cùng một nút bấm mua Chúng ta có thể hình dung ra rằng List đó sẽ là một Scroll view và các item trong đó là biểu thị cho một album Đây có thể là một cách chia các component cho ví dụ này
Trang 393.1.1.4.2 Props
Props là viết tắt của Properties Một điều mà bạn cần phải nhớ khi sử dụng props đó
là không bao giờ nên thay đổi giá trị của nó, hay nói cách khác, đây là một dữ liệu bất biến (immutable)
Các component nhận props từ component cha Bạn không được thay đổi giá trị của props trong các component này mà chỉ được phép đọc giá trị ra thôi Trong React thì
dữ liệu sẽ đi theo một chiều, có nghĩa là từ component cha đến các component con Đây là một ví dụ mình sử dụng props, cung cấp cho một component tên là Header export default class App extends Component<Props> {
render() {
return (
<View style = {{flex: 1}}>
<Header title = 'This is header' ></Header>
Trang 40<View style = { styles.headerView }>
<Text style = { styles.headerTitle }> { this.props.title } </Text>