1. Trang chủ
  2. » Luận Văn - Báo Cáo

Learning english app final project cross platform mobile application development

25 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Learning English App
Tác giả Đinh Công Hưng, Nguyễn Quốc Khải, Nguyễn Trần Trường Tú
Người hướng dẫn TS. Mai Văn Mạnh
Trường học Ton Duc Thang University
Chuyên ngành Cross-Platform Mobile Application Development
Thể loại Final Project
Năm xuất bản 2024
Thành phố Ho Chi Minh City
Định dạng
Số trang 25
Dung lượng 1,31 MB

Nội dung

FACULTY OF INFORMATION TECHNOLOGYĐINH CÔNG HƯNG – 521H0064 NGUYỄN QUỐC KHẢI – 521H0456 NGUYỄN TRẦN TRƯỜNG TÚ – 521H0179 LEARNING ENGLISH APP FINAL PROJECT CROSS-PLATFORM MOBILE APPLICATI

Trang 1

FACULTY OF INFORMATION TECHNOLOGY

ĐINH CÔNG HƯNG – 521H0064

NGUYỄN QUỐC KHẢI – 521H0456

HO CHI MINH CITY, 2024

Trang 2

FACULTY OF INFORMATION TECHNOLOGY

ĐINH CÔNG HƯNG – 521H0064

NGUYỄN QUỐC KHẢI – 521H0456

NGUYỄN TRẦN TRƯỜNG TÚ – 521H0179

LEARNING ENGLISH APP

FINAL PROJECT

CROSS-PLATFORM MOBILE APPLICATION DEVELOPMENT

Instructor

TS Mai Văn Mạnh

HO CHI MINH CITY, 2024

Trang 3

THANK YOU

Cross-Platform Mobile Application Development is a very interesting andbeneficial subject We sincerely thank Mr Mai Van Manh for your guidance and forproviding the best conditions for us to complete the project with the topic of

‘Learning English App’ It helped us gain more knowledge about system design andhave a broader understanding of real business processes

During the implementation of this project, our team inevitably made someunintended mistakes We kindly hope that you could offer feedback and assistance

We sincerely thank you

Ho Chi Minh City, date 02 month 05 year 2024

Author (Sign and write full name)

Đinh Công Hưng

Nguyễn Quốc Khải

Nguyễn Trần Trường Tú

Trang 4

THE ESSAY WAS COMPLETED AT

TON DUC THANG UNIVERSITY

I hereby declare that this is our own project and is guided by TS MaiVan Manh The research contents and results in this topic are honest and havenot been published in any form before The data in the tables for analysis,comments, and evaluation are collected by the author ourselves from differentsources, clearly stated in the references section

In addition, the project also uses a few comments, assessments as well asdata of other authors, other agencies, and organizations, with citations andsourec annotations

If any frauds detected, I will take full responsibility for the content of

my project Ton Duc Thang University is not involved in copyright violations

caused by me during the implementation process (if any)

Ho Chi Minh City, date 02 month 05 year 2024

Author (Sign and write full name)

Đinh Công Hưng

Nguyễn Quốc Khải

Nguyễn Trần Trường Tú

Trang 5

LEARNING ENGLISH APP

ABSTRACT

In an increasingly globalized society, the emphasis on learning languages,particularly English, is escalating To cater to this demand, our team has launched aproject to create a "Learning English Application." This application is designed toefficiently manage and organize learning materials, monitor learner progress, andboost engagement through tailored learning journeys Furthermore, the applicationfacilitates the storage and analysis of user data, allowing educators to pinpointlearners needing extra support and customize the educational content accordingly.With this project, our team aims to apply the theoretical knowledge gained inschool, while also conducting thorough research and analysis to develop aneffective educational system

Trang 6

TABLE OF CONTENTS

LIST OF FIGURES

CHAPTER 1 TOPIC INTRODUCTION

1.1 Reasons for choosing the topic

1.2 Objectives of implementing the topic

CHAPTER 2 THEORICAL BASIS

2.1 Dart Language

2.1.1 Introduction

2.1.2 Features of Dart Programming Language

2.2 Flutter Framework

2.2.1 Introduction

2.2.2 Features of Flutter

2.2.3 Advantages and Disadvantages of Flutter

2.3 Firebase

2.3.1 Introduction

2.3.2 Features of Firebase

2.3.3 Advantages and Disadvantages of Firebase

CHAPTER 3 DESIGN ANALYSIS AND EXPERIMENT

CHAPTER 4 DEMO

CHAPTER 5 SUMMARY

5.1 Achieved Results

5.2 Limitations

5.3 Future Development

Trang 7

REFERENCES

Trang 8

LIST OF FIGURES

Figure 2.1.1.1: Dart Programming Language 4

Figure 2.2.1.1: Flutter framework 6

Figure 2.3.1.1: Firebase 8

Figure 2.3.2.1: Firebase – Realtime Database 8

Figure 2.3.2.2: Firebase – Cloud Firestore 9

Figure 2.3.2.3: Firebase - Authentication 9

Figure 2.3.2.4: Firebase – Remote Configuration 10

Trang 9

CHAPTER 1 TOPIC INTRODUCTION

1.1 Reasons for choosing the topic

The importance of English language proficiency in the modern world cannot

be overstated As the global lanaguage, English is crucial for internationalcommunication, academic pursuits, and professional development However, manylearners struggle with vocabulary acquisition, which is a fundamental component oflanguage learning Recognizing the need for effective tools to support vocabularylearning, this project aims to develop a mobile application similar to Quizlet, whichhas proven to be an effective platform for language learners

The decision to create this application is driven by several factors:

 Educational Impact: Enhancing vocabulary acquisition cansignificantly improve overall language proficiency, aiding learners inacademic and professional settings

 Technological Advancement: Leveraging modern technology,particularly mobile applications, can provide learners with convenientand effective tools for studying anytime, anywhere

 Community and Collaboration: By incorporating community features,learners can benefit from shared knowledge and collaborativelearning, fostering a supportive educational environment

 Customization and Flexibility: Allowing users to create personalizedvocabulary topics and quizzes ensures that the learning experience istailored to individual needs, increasing engagement and effectiveness

1.2 Objectives of implementing the topic

The primary objectives of this project are to design, develop, and implement

a cross-platform mobile application that facilitates English vocabulary learning Thespecific objectives are as follows:

Trang 10

 User Account Management:

 Implement features for user registration, login, and passwordrecovery

 Provide a user-friendly profile management system

 Vocabulary Topic Management:

 Enable users to create, edit, delete, and manage vocabulary topics andfolders

 Allow import and export of vocabulary lists in csv format for ease ofdata handling

 Learning and Practice Modes:

 Develop multiple learning modes, including flashcards, quizzes, andtyping practice

 Ensure these modes cater to different learning preferences and providecomprehensive coverage of vocabulary learning

Trang 11

 Utilize remote servers (e.g., Firebase) for data storage andsynchronization, ensuring data persistence and accessibility acrossdevices.

By achieving these objectives, the project aims to create a comprehensive,user-friendly mobile application that supports English vocabulary learning, fosterscommunity engagement, and leverages modern technology to enhance the learningexperience

Trang 12

CHAPTER 2 THEORICAL BASIS

2.1 Dart Language

2.1.1 Introduction

Dart is a modern, object-oriented programming language designed for clientoptimization, allowing developers to create high-performance apps for a variety ofplatforms including Android, iOS, web, and desktop This language, developed byGoogle, is known for its ability to craft visually appealing user interfaces anddeliver exceptional user experiences

Dart has gained popularity and is currently one of the top languages to learn,especially for those looking to develop high-quality apps using Flutter According

to GitHub, Dart ranks among the most loved programming languages globally

Figure 2.1.1.1: Dart Programming Language

2.1.2 Features of Dart Programming Language

 Easy to Understand

Dart because of its similarities with C# and Java user often find the DartSyntax Familiar , Also, as it provides the code Reuse it makes the Programs cleanand easy to understand

 Object Oriented Programming

Trang 13

Nowadays OOPS is considered as one of the most important feature formany Programming Language including Java and C++ Now, Dart which isfollowing the same path of OOPS

 Flexible Compilation and Execution

Dart Compilation is flexible as it supports both JIT(Just-in-Time)compilation as well as AOT(Ahead of Time) compilation And dart2js adds extravalue to it

 Asynchronous Programming

Dart Supports Asynchronous Programming is where even when a Primaryset of tasks are running , Program will respond to other set of tasks and at the end ofthe execution a final result will be returned

2.2 Flutter Framework

2.2.1 Introduction

Flutter – a simple and high performance framework based on Dart language,provides high performance by rendering the UI directly in the operating system’scanvas rather than through native framework

Trang 14

Flutter also offers many ready to use widgets (UI) to create a modernapplication These widgets are optimized for mobile environment and designing theapplication using widgets is as simple as designing HTML.

To be specific, Flutter application is itself a widget Flutter widgets alsosupports animations and gestures The application logic is based on reactiveprogramming Widget may optionally have a state By changing the state of thewidget, Flutter will automatically (reactive programming) compare the widget’sstate (old and new) and render the widget with only the necessary changes instead

of re-rendering the whole widget

Figure 2.2.1.2: Flutter framework

2.2.2 Features of Flutter

Flutter framework offers the following features to developers:

 Modern and reactive framework

 Uses Dart programming language and it is very easy to learn

 Fast development

 Beautiful and fluid user interfaces

 Huge widget catalog

 Runs same UI for multiple platforms

 High performance application

2.2.3 Advantages and Disadvantages of Flutter

 Advantages of Flutter

Trang 15

Flutter comes with beautiful and customizable widgets for high performanceand outstanding mobile application It fulfills all the custom needs andrequirements Besides these, Flutter offers many more advantages as mentionedbelow:

 Developers need to write just a single code base for both applications(both Android and iOS platforms) Flutter may to be extended to otherplatform as well in the future

 Flutter needs lesser testing Because of its single code base, it issufficient if we write automated tests once for both the platforms

 Flutter’s simplicity makes it a good candidate for fast development Itscustomization capability and extendibility makes it even morepowerful

 With Flutter, developers has full control over the widgets and its layout

 Flutter offers great developer tools, with amazing hot reload

 Disadvantages of Flutter

Despite its many advantages, flutter has the following drawbacks in it:

 Since it is coded in Dart language, a developer needs to learn newlanguage (though it is easy to learn)

 Modern frameworks aim to separate logic and user interface (UI) asmuch as possible However, in Flutter, the UI and logic are ofteninterwoven This can be addressed by employing smart coding practicesand using high-level modules to separate the UI from the logic

 Flutter is yet another framework to create mobile application.Developers are having a hard time in choosing the right developmenttools in hugely populated segment

2.3 Firebase

2.3.1 Introduction

Trang 16

Firebase, a product developed by Google, assists developers in building,managing, and growing their apps with ease It enables faster and more secure appdevelopment without requiring programming on the Firebase side, allowing forefficient use of its features Firebase supports Android, iOS, web, and Unityplatforms, and offers cloud storage solutions It utilizes a NoSQL database for datastorage, providing a flexible and scalable solution for app development.

Figure 2.3.1.3: Firebase

2.3.2 Features of Firebase

 Realtime Database

The Firebase Realtime Database is a cloud-based NoSQL database designed

to handle data with millisecond speed Essentially, it can be viewed as a large JSONfile, allowing for efficient and real-time data management The Realtime Database

is especially useful for applications that require frequent data updates and instantfeedback, making it a powerful tool for developers looking to create responsive andinteractive applications

Trang 17

Figure 2.3.2.4: Firebase – Realtime Database

 Cloud Firestore

Cloud Firestore is a NoSQL document database that offers global-scaleservices for storing, syncing, and querying data through applications It organizesdata as objects, known as documents, which contain key-value pairs Thesedocuments can store various types of data, including strings, binary data, and evenJSON trees This flexibility makes Cloud Firestore an ideal solution for a widerange of application needs, from simple data storage to complex, real-timesynchronization and querying across multiple users and devices

Figure 2.3.2.5: Firebase – Cloud Firestore

 Authentication

Firebase Authentication service offers user-friendly UI libraries and SDKs tosimplify user authentication for your app It significantly reduces the manpower and

Trang 18

effort needed to develop and maintain a robust authentication system Additionally,Firebase Authentication takes care of complex tasks such as merging user accounts,which can be cumbersome and time-consuming if handled manually.

Figure 2.3.2.6: Firebase - Authentication

Trang 19

 Remote Configuration

The Remote Configuration service enables developers to publish updates tousers instantly These updates can range from modifying UI components to alteringthe application's behavior This service is particularly useful for implementingseasonal offers and time-sensitive content within an application, allowingdevelopers to dynamically update and manage features without requiring users todownload a new version of the app

Figure 2.3.2.7: Firebase – Remote Configuration

2.3.3 Advantages and Disadvantages of Firebase

 Advantages of Firebase

 Realiable and extensive database: Google’s Firebase database offersrobust capabilities for web and mobile application development SomepopularFirebases include the Realtime Database, Cloud StorageServices like Crashlytics, etc

 Google Analytics: Google Analytics supports iOS, Android, web, C++, and Unity This free tool provides insights into user interactions.Firebase Analytics improves user retention and engagement,enhancing app performance

 Disadvantages of Firebase

 Data storage is not convenient: Can't query multiple keyssimultaneously or filter data The database is a single JSON file,unlike SQL's storage format, making data modeling impossible

Trang 20

 Reduced data migration: If users lack easy access or control overupdating certain app parts due to its externally hosted backend,problems can arise with no solution other than restarting, which manyusers wish to avoid.

Ngày đăng: 16/10/2024, 19:28