Báo cáo Đồ án: Xây dựng Ứng dụng Hỗ trợ Học Tiếng Anh My English Pal

Tài liệu đồ án xây dựng ứng dụng học tiếng Anh My English Pal. Báo cáo đầy đủ về phân tích, thiết kế, công nghệ Flutter, Firebase và kết quả.

Chuyên ngành

Công nghệ Phần mềm

Người đăng

Ẩn danh

Thể loại

Đồ án

2022

70
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Giới thiệu về Đồ án My English Pal

My English Pal là một ứng dụng học tiếng Anh được phát triển bởi sinh viên Trường Đại học Công nghệ Thông tin. Đây là một dự án đồ án 1 nhằm xây dựng nền tảng học ngoại ngữ hiện đại trên thiết bị di động. Trong bối cảnh quốc tế hóa ngày nay, nhu cầu học tiếng Anh đã trở thành điều kiện tiên quyết. Ứng dụng này được thiết kế với mục đích cung cấp một giải pháp học tiếng Anh linh hoạt và tiện dụng, giúp người dùng có thể học tập mọi lúc mọi nơi chỉ với một chiếc điện thoại di động.

1.1. Tầm quan trọng của tiếng Anh trong thời đại 4.0

Tiếng Anh đã trở thành ngôn ngữ thứ hai không thể thiếu trong giao tiếp quốc tế. Với sự phát triển của công nghệ 4.0, việc học tiếng Anh bằng ứng dụng di động mang lại nhiều lợi ích: linh hoạt về thời gian, tiện lợihiệu quả cao. Thay vì đến các trung tâm Anh ngữ tốn kém, người dùng có thể tự học với sự hỗ trợ của ứng dụng học tiếng Anh chuyên nghiệp.

1.2. Lý do chọn đề tài My English Pal

Nhu cầu học tiếng Anh ngày càng tăng cao nhưng chi phí học tại các trung tâm vẫn còn cao. Nhóm sinh viên nhận thấy tiềm năng của ứng dụng hỗ trợ học tiếng Anh và quyết định xây dựng My English Pal để đáp ứng nhu cầu này. Các ứng dụng như Duolingo, Quizlet đã chứng minh tính hiệu quả, vì vậy tạo một ứng dụng học ngoại ngữ riêng là hướng đi đúng đắn.

II. Mục tiêu và Phạm vi Đồ án

Đồ án My English Pal đặt ra những mục tiêu cụ thể trong xây dựng ứng dụng học tiếng Anh. Phạm vi triển khai tập trung vào nền tảng Android di động với các tính năng chính: học từ vựng theo chủ đề, luyện ngữ pháp, hệ thống bài tập toàn diện và trắc nghiệm từ cơ bản đến nâng cao. Giao diện được thiết kế thân thiện người dùng (user-friendly) để đảm bảo trải nghiệm tốt nhất. Đối tượng sử dụng chính là những người có nhu cầu học tiếng Anh linh hoạt mà không bị giới hạn về địa điểm hoặc thời gian.

2.1. Các mục tiêu chính của ứng dụng

Mục tiêu chính của My English Pal là xây dựng một ứng dụng học tiếng Anh với giao diện hiện đại và đầy đủ chức năng cơ bản. Ứng dụng cần đáp ứng tiêu chí về giao diện thân thiện và các tính năng học tập toàn diện. Ngoài ra, sinh viên cần nắm bắt kiến thức xây dựng ứng dụng di động chuyên nghiệp.

2.2. Phạm vi chức năng và nền tảng triển khai

Phạm vi môi trường tập trung vào nền tảng Android di động. Các chức năng bao gồm: học từ vựng theo chủ đề, luyện ngữ pháp, hệ thống bài tậptrắc nghiệm đa cấp độ. Ứng dụng cần lưu kết quả học tập để theo dõi tiến độ người dùng. Mỗi tính năng được thiết kế để tối ưu hóa trải nghiệm học tiếng Anh.

III. Công nghệ và Công cụ Sử dụng

My English Pal được xây dựng bằng các công nghệ hiện đại và phổ biến trong phát triển ứng dụng di động. Phần front-end sử dụng Framework Flutter với ngôn ngữ Dart, cho phép xây dựng giao diện responsive và đẹp mắt. Phần back-end được hỗ trợ bởi Firebase, cung cấp các dịch vụ xác thực người dùng, lưu trữ dữ liệuquản lý cơ sở dữ liệu hiệu quả. Thiết kế UI/UX được thực hiện bằng Figma, công cụ chuyên nghiệp cho thiết kế giao diện. Lựa chọn công nghệ này đảm bảo ứng dụng học tiếng Anh có chất lượng cao và dễ bảo trì.

3.1. Frontend và Framework Flutter

Framework Flutter được chọn vì khả năng xây dựng ứng dụng di động nhanh chóng với giao diện responsive. Sử dụng ngôn ngữ Dart, nhóm có thể tạo các widget chung để tối ưu hóa code. Flutter cho phép thiết kế giao diện thân thiện trên cả web, tablet và mobile. Điều này giúp ứng dụng học tiếng Anh hoạt động mượt mà trên mọi thiết bị.

3.2. Backend Firebase và Thiết kế Figma

Firebase cung cấp các dịch vụ essential: xác thực người dùng, lưu trữ dữ liệu trên cloud, và quản lý cơ sở dữ liệu real-time. Điều này cho phép ứng dụng học tiếng Anh lưu trữ kết quả học tậpthông tin người dùng an toàn. Figma được dùng để thiết kế các màn hìnhxác định màu chủ đạo cho giao diện ứng dụng, đảm bảo giao diện hiện đại và nhất quán.

IV. Kết quả và Kế hoạch Triển khai

Đồ án My English Pal dự kiến hoàn thành từ tháng 9 đến tháng 12 năm 2022 với sự phối hợp của hai sinh viên Nguyễn Dương Trung Hiếu và Nông Ngọc Xuân Hoàng. Kết quả mong đợi bao gồm một ứng dụng học tiếng Anh hoàn chỉnh với giao diện hiện đại, các tính năng học tập toàn diện, và hệ thống lưu trữ kết quả hiệu quả. Kế hoạch thực hiện được chia thành các giai đoạn rõ ràng: tìm hiểu đề tài, nghiên cứu công nghệ, thiết kế giao diện, xây dựng chức năngkiểm thử. Sinh viên sẽ nắm bắt toàn bộ quy trình xây dựng ứng dụng di động chuyên nghiệp.

4.1. Các giai đoạn thực hiện chi tiết

Giai đoạn 1 (5/9 - 11/9): Tìm hiểu đề tài và phân tích yêu cầu. Giai đoạn 2 (12/9 - 25/9): Nghiên cứu công nghệ Dart, Flutter, Firebase và Figma. Giai đoạn 3 (26/9 - 2/10): Thiết kế giao diện bằng Figma và xây dựng gói xác thực. Giai đoạn 4 (3/10 - 30/10): Thực hiện thiết kế giao diện chính, tối ưu code, thiết kế widget chung và màu sắc.

4.2. Kết quả mong đợi của dự án

Kết quả chính của My English Pal là một ứng dụng học tiếng Anh hoàn chỉnh với đầy đủ chức năng cơ bản trên nền tảng Android. Giao diện hiện đạithân thiện người dùng đảm bảo trải nghiệm tốt. Sinh viên sẽ nắm bắt kỹ năng phát triển ứng dụng di động từ thiết kế đến triển khai, chuẩn bị tốt cho sự nghiệp lập trình viên.

28/12/2025

Trích đoạn nội dung tài liệu

Chương 1 – TỔNG QUAN VỀ ĐỀ TÀI 1.1 Giới thiệu về đề tài 1.1 Tầm quan trọng của tiếng anh trong giao tiếp hằng ngày và lí do chọn đề tài: Trong thời kỳ quốc tế hóa, nhu cầu giao tiếp bằng ngoại ngữ ngày càng gia tăng. Việc biết một ngôn ngữ thứ hai, cụ thể là tiếng Anh đã trở thành điều kiện tiên quyết đối với chúng ta. Khi công nghệ chưa phát triển, việc học tiếng Anh tỏ ra khá khó tiếp cận với đại đa số. Tuy nhiên, trong thời đại 4.0 việc học tiếng Anh đã trở nên dễ dàng và tiện dụng hơn.

Tất cả những gì người cần chỉ là một chiếc điện thoại có kết nối internet. Một số ưu điểm của việc học tiếng Anh bằng ứng dụng di động có thể kể đến như sau: - Linh hoạt: Người dùng chỉ cần một chiếc điện thoại di động và chỉ với một vài thao tác, kiên trì và nỗ lực mỗi ngày, người dùng đã có thể học được tiếng Anh. - Tiện lợi: Có thể thay thế cho việc luyện tiếng Anh ở các trung tâm Anh ngữ. Bởi các tiềm năng và tính tiện dụng của nó, chúng em đã chọn đề tài này với mong muốn tạo một ứng dụng học ngoại ngữ cho riêng mình.2 Khảo sát các ứng dụng hỗ trợ học tiếng anh hiện nay: Hiện nay có một số ứng dụng học tiếng Anh trên di động phổ biến có thể kể đến như sau: Duolingo, Quizlet… Các ứng dụng vừa nêu đều dễ có giao diện thân thiện, có sự tương đồng về chức năng nhưng ngoài ra cũng có một khuyết điểm là 9 có những chức năng không cần thiết, có thể lược bỏ đi để hướng đến sự đơn giản và tiện lợi cho người dùng.3 Đối tượng nghiên cứu: Người có nhu cầu học tiếng Anh một cách linh hoạt.

Các công nghệ: + Firebase.4 Phạm vi nghiên cứu: 1.1 Phạm vi môi trường: - Triển khai ứng dụng trên nền tảng di động (Android).2 Phạm vi chức năng: - Học từ vựng theo chủ đề. - Luyện ngữ pháp. - Hệ thống bài tập. - Trắc nghiệm từ cơ bản đến nâng cao.

- Lưu kết quả học tập.5 Phương pháp nghiên cứu: - Tìm hiểu các phương pháp hiện có. 10 - Tham khảo các ứng dụng học tiếng Anh phổ biến và xác định các tính năng chung cần có. - Lên kế hoạch và phân công cho thành viên. - Tìm hiểu các công nghệ sử dụng cho đề tài.

- Triển khai theo kế hoạch sẵn có. - Kiểm thử và sửa lỗi (nếu có). - Thiết kế giao diện, cơ sở dữ liệu. 11 Chương 2 – CƠ SỞ LÝ THUYẾT 2.1 Flutter Flutter được phát triển nhằm giải quyết bài toán thường gặp trong mobile là Fast Development và Native Performance.

Nếu như React Native chỉ đảm bảo Fast Development và code native thuần chỉ đảm bảo Native Performance thì Flutter làm được cả 2 điều trên. Flutter là mobile UI framework của Google để tạo ra các giao diện chất lượng cao trên iOS và Android trong khoảng thời gian ngắn. Flutter hoạt động với những code sẵn có được sử dụng bởi các lập trình viên, các tổ chức.1 Biểu tượng của Flutter Các ưu điểm của Flutter: ● Flutter hoàn toàn miễn phí và cũng là mã nguồn mở. ● Giao diện đẹp ( impressive UI) : Flutter cung cấp rất nhiều các widget, với nhiều sự lựa chọn.

Giao diện khá đẹp và sắc nét. ● Viết code ứng dụng nhanh hơn: tầng Framework của Flutter được viết bằng Dart một ngôn ngữ hướng đối tượng hỗ trợ JIT (Just In Time) tức là hỗ trợ hot reload trong quá trình viết code. ● Native Performance: Trải nghiệm native hay độ mượt của ứng dụng tốt như native. 12 ● Code 1 lần chạy được trên cả iOS và Android.

● Thời gian xây dựng ứng dụng nhanh hơn, chi phí thấp hơn. ● Giao diện như nhau trên các version của platform. ● Flutter cũng áp dụng cho web và cung cấp tài liệu thích hợp cho phép bạn kiểm tra cách các điều khiển gốc hoạt động.2 Dart Dart là ngôn ngữ mã nguồn mở và miễn phí, được phát triển trên Github. Hiện nay Dart đã release phiên bản 2.

Là ngôn ngữ lập trình cho Flutter- bộ công cụ giao diện người dùng của Google để xây dựng các ứng dụng Mobile, Web và Desktop app đẹp, được biên dịch nguyên bản từ một cơ sở mã code duy nhất. Nó được sử dụng để xây dựng các ứng dụng web, server, máy tính để bàn và thiết bị di động.2 Biểu tượng của Dart Là một ngôn ngữ hướng đối tượng, được xác định theo lớp, với cơ chế garbage-collected, sử dụng cú pháp kiểu C để dịch mã tùy ý sang JavaScript. Nó hỗ trợ interface, mixin, abstract, generic, static typing và sound type (2 cái cuối có thể hiểu là type-safe). Các nhà phát triển tại Google và các nơi khác sử dụng Dart để tạo các ứng dụng chất lượng cao, quan trọng cho iOS, Android và web.

Với các tính năng nhắm đến 13 sự phát triển phía khách hàng, Dart rất phù hợp cho cả ứng dụng di động và web. Dart giúp bạn tạo ra những trải nghiệm đẹp, chất lượng cao trên tất cả các màn hình, với: o Một ngôn ngữ được tối ưu hóa cho client o Framework mạnh mẽ o Công cụ linh hoạt o Bộ công cụ hỗ trợ đơn giản nhưng mạnh mẽ. o Quen thuộc với nhiều nhà phát triển hiện có, nhờ vào cú pháp và định hướng đối tượng không gây ngạc nhiên. o Cú pháp mang lại năng suất rõ ràng và súc tích.

Flutter sử dụng Dart vì Dart cho phép Flutter tránh được sự cần thiết của một ngôn ngữ bố cục khai báo riêng biệt như JSX và XML. Bố cục của Dart là khai báo và có lập trình, và nó giúp các nhà phát triển dễ dàng đọc và hình dung nó một cách nhanh chóng và dễ dàng. Ngoài ra, Flutter có thể dễ dàng cung cấp thêm công cụ vì bố cục bằng một ngôn ngữ và thông dụng. Một lý do quan trọng khác khiến bộ đôi này được yêu thích là Dart, nếu được yêu cầu, sử dụng bộ biên dịch Just In Time.

Điều này làm giảm đáng kể thời gian phát triển và phản hồi nhanh hơn.3 Firebase Firebase là một nền tảng phát triển ứng dụng di động và web. Họ cung cấp rất nhiều công cụ và dịch vụ để phát triển ứng dụng chất lượng, rút ngắn thời gian 14 phát triển và phát triển cơ sở người dùng mà không cần quan tâm đến hạ tầng phần cứng. Firebase là Backend-as-a-Service (Baas) nền tảng chứa các API đơn giản và mạnh mẽ giúp phát triển trang web và ứng dụng di động mà không cần Server hay Backend.4 Biểu tượng của Firebase 2.4 Cloud Firestore Cloud Firestore là một Database linh hoạt và dễ mở rộng cho mobile, web và server được phát triển từ Firebase and Google Cloud Platform. Cũng giống như Firebase realtime database Cloud Firestore giúp cho việc đồng bộ dữ liệu giữa các ứng dụng phía client một các nhanh chóng (Realtime) và hỗ trợ lưu offline data trong ứng dụng của bạn.5 Biểu tượng của Firestore Các tính năng của Firestore: - Cập nhật thời gian thực cho phép người dùng triển khai các truy vấn lấy một lần hiệu quả hơn.

Tính năng này sử dụng đồng bộ hoá để cập nhật dữ liệu trên các thiết bị đã được kết nối. - Đồng bộ hoá ngoại tuyến: Tính năng này của Firestore có nhiệm vụ thực hiện bộ nhớ đệm dữ liệu đang được dùng và cho phép ứng dụng có thể đọc, ghi, truy vấn và lắng nghe dữ liệu ngay cả khi thiết bị đang ngoại tuyến. - Cấu trúc dữ liệu phân cấp do mô hình dữ liệu của Cloud Firestore hỗ trợ. Người dùng có thể lưu trữ các dữ liệu này dưới dạng tài liệu được lưu lại trong collections (tương ứng với Table và Document tương ứng Row bên Relational Database).

- Query tuỳ biến: Cloud Firestore cho phép người dùng sử dụng các truy vấn để lấy Documents riêng lẻ cụ thể. Hoặc có thể truy xuất các documents khớp với các tham số truy vấn (gồm nhiều bộ lọc theo chuỗi hỗ trợ sắp xếp và lọc) từ một collection. - Khả năng mở rộng hỗ trợ transaction, batch và đảm bảo tính nhất quán, sao chép dữ liệu đa vùng tự động. 16 Chương 3 – PHÂN TÍCH HỆ THỐNG 3.2 Danh sách actor Bảng danh sách các actor STT Tên actor Ý nghĩa/ ghi chú 1 User Người dùng đăng nhập vào hệ thống, có thể học tiếng Anh qua nhiều cách khác nhau như từ vựng, các bài tập luyện kỹ năng nghe, nói, .2 Danh sách các Use-case Bảng danh sách các Use-case STT Tên Use-case Ý nghĩa/ ghi chú 1 Đăng nhập Người dùng sử dụng tài khoản google để đăng nhập vào app.

2 Học từ vựng Người dùng học tiếng từ vựng qua hình ảnh theo từng chủ đề. 3 Học kỹ năng Người dùng học kỹ năng qua các các part. Mỗi part theo từng chủ đề riêng. 4 Mở rộng Người dùng có thể xem các bài báo của các web hoặc học các thành ngữ tiếng Anh.

5 Làm bài tập Người dùng có thể làm các bài test kỹ năng và từ vựng. 6 Học ngữ pháp Người dùng có thể xem các cấu trúc của các thì bằng việc ấn vào từng thẻ. 7 Quản lý thông tin Người dùng có thể xem thông tin mình đăng ký. 18 8 Tra từ điển Người dùng có thể tra từ thông qua từ điển.

9 Game vui học Người dùng có thể chơi các game vui luyện từ vựng 19 3.3 Đặc tả Use-case Bảng 3.1 Đặc tả Use-case đăng nhập Mã Use-case UC-1 Tên Use-case Đăng nhập Tác nhân Người dùng Mô tả tóm tắt Người dùng sử dụng tài khoản phải là email hợp lệ của google để đăng nhập vào app. Điều kiện trước Email của người dùng phải tồn tại. Điều kiện sau N/A Dòng sự kiện chính Hiển thị màn hình đăng nhập. ● Người dùng chọn đăng nhập bằng google.

● Hiển thị màn hình nhập email. Người dùng nhập email sau đó hệ thống sẽ xác thực email. Nếu email đúng: ● Người dùng đăng nhập vào app. Nếu email sai thông báo sai thông tin đăng nhập.

Dòng sự kiện phụ 20 Bảng 3.2 Đặc tả Use-case học từ vựng Mã Use-case UC-2 Tên Use-case Học từ vựng Tác nhân Người dùng Mô tả tóm tắt Người dùng có thể học từ vựng thông qua các gợi ý từ ngữ và các câu liên quan tới từ đó. Điều kiện trước Người dùng đã đăng nhập vào app. Điều kiện sau Màn hình sẽ hiển thị các từ gợi ý. Dòng sự kiện chính Người dùng chọn phần chủ đề trong phần Vocabulary.

Màn hình hiển thị từ vựng, phiên âm từ vựng và một ví dụ sử dụng từ vựng đó. Dòng sự kiện phụ 21 Bảng 3.3 Đặc tả Use-case học từ vựng Mã Use-case UC-3 Tên Use-case Học kỹ năng. Tác nhân Người dùng.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ