Ứng dụng này sẽ được xây dựng bằng ngôn ngữ React Native, kết hợp với Firebase, không chỉ để tạo ra một nền tảng mạnh mẽ và tối ưu hóa trải nghiệm người dùng, mà còn là cơ hội để em tìm
Khái niệm
Ứng dụng di động, hay còn gọi là app, là phần mềm thiết kế dành cho các thiết bị di động như điện thoại thông minh và máy tính bảng, phục vụ nhiều chức năng từ giải trí, học tập đến hỗ trợ công việc và quản lý thông tin cá nhân Sự phát triển công nghệ đã khiến ứng dụng di động trở thành một phần thiết yếu trong cuộc sống hàng ngày, giúp người dùng thực hiện nhiều công việc phức tạp chỉ với vài thao tác trên màn hình cảm ứng Các ứng dụng này được xây dựng trên nhiều nền tảng như iOS, Android và các hệ điều hành khác, đồng thời sự phổ biến của chúng đã thúc đẩy sự phát triển của các công nghệ và công cụ phát triển phần mềm mới để đáp ứng nhu cầu đa dạng của người dùng toàn cầu.
Ứng dụng giải trí (Entertainment Apps) được phân loại theo chức năng, bao gồm các ứng dụng âm nhạc, video, trò chơi điện tử và mạng xã hội Những ứng dụng này không chỉ giúp người dùng thư giãn mà còn kết nối với bạn bè và gia đình Một số ứng dụng nổi bật trong lĩnh vực này là Spotify cho âm nhạc và Netflix cho video.
Các ứng dụng năng suất như Microsoft Outlook, Google Calendar, Trello và Evernote giúp người dùng quản lý thời gian và công việc hiệu quả hơn Ứng dụng giáo dục như Duolingo, Khan Academy và Coursera mang đến cơ hội tiếp cận kiến thức mới một cách tiện lợi và thú vị Bên cạnh đó, ứng dụng sức khỏe và thể dục như MyFitnessPal, Strava và Sleep Cycle hỗ trợ người dùng theo dõi sức khỏe, quản lý chế độ ăn uống và duy trì lối sống lành mạnh.
Có ba loại ứng dụng chính theo công nghệ phát triển: Ứng dụng gốc (Native Apps) được phát triển riêng cho từng hệ điều hành như iOS hoặc Android, sử dụng ngôn ngữ lập trình tương ứng như Swift cho iOS và Java/Kotlin cho Android, mang lại hiệu suất cao và tích hợp sâu với các chức năng của thiết bị Ứng dụng đa nền tảng (Cross-Platform Apps) được phát triển để chạy trên nhiều hệ điều hành khác nhau thông qua các framework như React Native, Flutter hoặc Xamarin, giúp tiết kiệm thời gian và chi phí phát triển Cuối cùng, ứng dụng web (Web Apps) là các ứng dụng chạy trên trình duyệt web của thiết bị di động mà không cần cài đặt, thường được phát triển bằng HTML, CSS và JavaScript.
Theo phương thức cung cấp, ứng dụng miễn phí (Free Apps) cho phép người dùng tải xuống và sử dụng mà không tốn phí, thường kiếm tiền qua quảng cáo hoặc giao dịch mua trong ứng dụng Ngược lại, ứng dụng trả phí (Paid Apps) yêu cầu người dùng mua trước khi tải xuống và sử dụng, thường không có quảng cáo và cung cấp tính năng cao cấp hơn Cuối cùng, ứng dụng freemium (Freemium Apps) kết hợp giữa miễn phí và trả phí, cho phép người dùng sử dụng các tính năng cơ bản miễn phí, nhưng cần trả phí để mở khóa các tính năng nâng cao.
3.1.Giao diện người dùng (User Interface - UI) :
Màn hình chính (Home Screen): Là điểm truy cập đầu tiên của người dùng, hiển thị các chức năng chính của ứng dụng.
Menu điều hướng (Navigation Menu): Cung cấp các liên kết đến các phần khác nhau của ứng dụng, giúp người dùng dễ dàng di chuyển giữa các màn hình.
Các thành phần tương tác trong ứng dụng bao gồm nút bấm, biểu mẫu, danh sách và nhiều yếu tố khác, giúp người dùng thực hiện các tác vụ một cách dễ dàng và hiệu quả.
3.2.Tầng xử lý logic (Logic Layer) :
Xử lý dữ liệu (Data Processing): Quản lý việc xử lý dữ liệu đầu vào từ người dùng, bao gồm tính toán, phân tích, và lưu trữ dữ liệu.
Tích hợp dịch vụ là quá trình kết nối ứng dụng với các dịch vụ bên ngoài như API, cơ sở dữ liệu và dịch vụ đám mây, nhằm cung cấp nội dung và chức năng phong phú cho người dùng.
Quản lý phiên làm việc là một yếu tố quan trọng trong việc đảm bảo an toàn và tính liên tục khi sử dụng ứng dụng, thông qua việc theo dõi và kiểm soát các phiên làm việc của người dùng.
3.3.Tầng lưu trữ dữ liệu (Data Storage Layer) :
Cơ sở dữ liệu cục bộ (Local Database): Lưu trữ dữ liệu trên thiết bị người dùng, cho phép truy cập nhanh chóng và hoạt động ngoại tuyến (offline).
Cơ sở dữ liệu đám mây cho phép lưu trữ dữ liệu trên máy chủ từ xa, giúp đồng bộ hóa thông tin giữa các thiết bị và mang lại khả năng mở rộng linh hoạt.
3.4.Tầng bảo mật (Security Layer) :
Xác thực người dùng (User Authentication): Đảm bảo chỉ có người dùng hợp lệ mới có thể truy cập vào ứng dụng và dữ liệu của họ.
Mã hóa dữ liệu (Data Encryption): Bảo vệ dữ liệu người dùng bằng cách mã hóa thông tin trước khi lưu trữ hoặc truyền tải.
Quản lý quyền (Permissions Management): Kiểm soát quyền truy cập của ứng dụng vào các chức năng hệ thống và dữ liệu cá nhân trên thiết bị.
3.5.Tầng hiệu suất và tối ưu hóa (Performance and Optimization Layer):
Performance optimization involves enhancing the processing speed and responsiveness of applications by refining the source code and minimizing system load.
Quản lý tài nguyên là quá trình tối ưu hóa việc sử dụng bộ nhớ, pin và các tài nguyên khác của thiết bị, nhằm đảm bảo rằng ứng dụng hoạt động một cách mượt mà và ổn định.
4.Xu hướng phát triển ứng dụng di động 2024
Theo báo cáo của VNPT năm 2024, smartphone sẽ trở thành thiết bị chủ đạo tại Việt Nam với khoảng 60 triệu người sử dụng Người Việt Nam sẽ dành từ 3-5 giờ mỗi ngày để sử dụng điện thoại thông minh Do đó, đầu tư phát triển ứng dụng di động là một quyết định thông minh cho các doanh nghiệp trong tương lai.
Sự phát triển của công nghệ và trải nghiệm người dùng đang thúc đẩy thị trường thiết kế ứng dụng di động Mỗi lần có bản cập nhật mới của hệ điều hành, sẽ xuất hiện những cải tiến về thiết kế và tính năng của ứng dụng di động nhằm đáp ứng tốt hơn nhu cầu của người dùng.
Mạng di động 5G hứa hẹn sẽ cách mạng hóa thông tin liên lạc và nhiều lĩnh vực khác, bao gồm giao thông đô thị, với viễn cảnh xe không người lái hoạt động an toàn trên đường phố Đồng thời, Apple đã đạt được thành công lớn trong lĩnh vực thanh toán và các thiết bị ngoại vi như tai nghe không dây AirPods.
Tai nghe thông minh, loa và thiết bị gia đình kết nối với "Internet vạn vật" dự kiến sẽ phát triển mạnh mẽ trong năm 2024 Đồng thời, dịch vụ truyền phát trực tuyến chương trình truyền hình cũng sẽ gia tăng, đặc biệt khi Apple và Disney tham gia vào thị trường cùng với Netflix và Amazon Do đó, ứng dụng trực tuyến mua sắm và giải trí sẽ tiếp tục chiếm ưu thế trong những năm tới.
4.2.Công nghệ trí tuệ nhân tạo AI
TỔNG QUAN VỀ CÔNG NGHỆ REACT NATIVE
Cách thức hoạt động của React Native
React Native hoạt động theo các bước sau:
Bước 1 - Viết mã JavaScript: Lập trình viên sử dụng JavaScript để phát triển ứng dụng di động trong React Native, nơi mã này định nghĩa giao diện người dùng và tương tác với các thành phần cũng như API của hệ điều hành.
Bước 2 - Kết nối mã JavaScript với ứng dụng native thông qua bridge: Mã JavaScript hoạt động trong môi trường runtime của React Native, tương tác với các thành phần bridge để gửi yêu cầu và nhận kết quả từ ứng dụng native.
React Native sử dụng các thành phần UI để xây dựng giao diện người dùng, tương tự như các thành phần trong ứng dụng native Những thành phần này có thể được tạo ra từ mã JavaScript, giúp tối ưu hóa quá trình phát triển ứng dụng.
Khi mã JavaScript gửi yêu cầu tương tác với các thành phần native, các thành phần bridge sẽ chuyển đổi yêu cầu này thành các lệnh và thông điệp tương ứng để gửi đến ứng dụng native.
Bước 5 - Ứng dụng native xử lý yêu cầu: Ứng dụng native tiếp nhận và xử lý các yêu cầu từ thành phần bridge, tương tác với các API và các thành phần native khác để thực hiện nhiệm vụ và trả về kết quả.
Khi ứng dụng native hoàn tất việc xử lý yêu cầu, kết quả sẽ được trả về thông qua các thành phần bridge và chuyển giao lại cho mã JavaScript.
JavaScript Mã JavaScript có thể tiếp tục tương tác với kết quả này hoặc cập nhật giao diện người dùng nếu cần.
React Native cho phép lập trình viên phát triển ứng dụng di động bằng mã JavaScript, mang lại giao diện người dùng tương tự như ứng dụng native và tích hợp hiệu quả với các tính năng của hệ điều hành.
4.Ưu nhược điểm của React Native
4.1.1Phát triển đa nền tảng ( Cross-Platform)
React Native cho phép lập trình viên phát triển ứng dụng cho cả iOS và Android bằng một mã nguồn duy nhất, giúp tiết kiệm thời gian và công sức Điều này giúp doanh nghiệp giảm chi phí vì không cần phát triển hai ứng dụng riêng biệt Hơn nữa, mã nguồn chung cũng đơn giản hóa việc bảo trì và nâng cấp ứng dụng, chỉ cần thay đổi một lần cho cả hai nền tảng Vì vậy, React Native là lựa chọn lý tưởng cho các đội ngũ phát triển nhỏ hoặc khi cần hoàn thành dự án nhanh chóng.
4.1.2Tốc độ phát triển nhanh chóng
React Native, với sự hỗ trợ từ các thư viện phong phú và khả năng tái sử dụng mã giữa các nền tảng, giúp tăng tốc độ phát triển ứng dụng Các thư viện UI có sẵn cho phép tạo giao diện dễ dàng mà không cần viết lại từ đầu Hệ sinh thái module đa dạng của React Native giúp xử lý nhanh chóng hầu hết các tác vụ thông thường, giảm thiểu khối lượng công việc lặp lại và cho phép các nhà phát triển tập trung vào các tính năng chính, từ đó nâng cao hiệu quả và năng suất làm việc.
React Native kết hợp mã JavaScript với mã gốc của hệ điều hành, mang lại hiệu suất gần giống như ứng dụng gốc Điều này rất quan trọng cho các ứng dụng yêu cầu xử lý phức tạp và nhiều chức năng tương tác, vì hiệu suất ảnh hưởng lớn đến trải nghiệm người dùng Việc tích hợp các API gốc trực tiếp giúp ứng dụng hoạt động mượt mà, tránh được các vấn đề về hiệu suất mà một số công cụ phát triển đa nền tảng khác gặp phải.
4.1.4Tính linh hoạt và khả năng mở rộng
React Native cho phép tích hợp mã gốc một cách dễ dàng, giúp tạo ra các ứng dụng tùy biến linh hoạt với hiệu suất tối ưu cho các tính năng đặc thù Nó đặc biệt hữu ích trong việc tối ưu hóa hiệu suất cho các phần mềm yêu cầu đồ họa hoặc xử lý phức tạp Với React Native, việc cải thiện trải nghiệm người dùng qua các tính năng như camera, AR/VR hoặc các API nền tảng trở nên thuận tiện hơn, đảm bảo tính năng hoạt động mượt mà và hiệu quả trên cả iOS và Android.
4.2.1.Hiệu suất kém hơn so với ứng dụng gốc
Mặc dù React Native mang lại hiệu suất tốt, nhưng vẫn chưa đạt được mức tối ưu như các ứng dụng được phát triển hoàn toàn bằng mã gốc Khi xử lý các tác vụ phức tạp hoặc yêu cầu cao về hiệu suất, như game đồ họa cao hoặc ứng dụng AR/VR, React Native có thể gặp phải những hạn chế Điều này xảy ra do React Native phải dựa vào cầu nối giữa mã JavaScript và mã gốc, dẫn đến độ trễ nhất định, ảnh hưởng đến tốc độ xử lý.
4.2.2.Hạn chế về tính năng gốc
Các ứng dụng React Native thường gặp khó khăn khi cần sử dụng đầy đủ các tính năng chuyên sâu của hệ điều hành Lập trình viên có thể phải viết mã gốc bổ sung hoặc tìm kiếm thư viện bên thứ ba hỗ trợ, nhưng điều này không phải lúc nào cũng khả thi và hiệu quả Việc tích hợp các tính năng phức tạp có thể gây tốn thời gian và khó khăn, đặc biệt khi yêu cầu kiến thức sâu về nền tảng gốc của cả iOS và Android.
4.2.3.Giao diện không nhất quán giữa các nền tảng
Một trong những mục tiêu chính của React Native là tạo ra giao diện nhất quán giữa các hệ điều hành Tuy nhiên, các thành phần giao diện có thể hiển thị khác nhau trên iOS và Android do quy chuẩn thiết kế riêng biệt của từng nền tảng Điều này dẫn đến việc lập trình viên phải tùy chỉnh giao diện cho từng hệ điều hành, gây khó khăn và làm mất tính đơn giản trong phát triển ứng dụng đa nền tảng.
4.2.4.Cầu nối Javacript – Native gây phức tạp
Một trong những thách thức lớn của React Native là sự phụ thuộc vào cầu nối giữa JavaScript và mã gốc, điều này có thể làm chậm tốc độ ứng dụng trong các tác vụ yêu cầu xử lý nhanh và gây ra lỗi không mong muốn Thêm vào đó, cầu nối này cũng làm tăng độ phức tạp trong việc quản lý lỗi, vì mỗi phần có thể gặp sự cố riêng biệt, khiến cho việc gỡ lỗi trở nên khó khăn hơn.
4.2.5.Hạn chế về tính năng gốc
CƠ SỞ LÝ THUYẾT VÀ CÔNG CỤ PHÁT TRIỂN
Công cụ phát triển và môi trường làm việc
Để phát triển ứng dụng React Native, trước tiên bạn cần thiết lập môi trường làm việc với các công cụ hỗ trợ cần thiết Quy trình này bao gồm việc cài đặt công cụ phát triển, thiết lập môi trường làm việc và kiểm tra tính hoạt động của ứng dụng.
Bước 1 : Cài Node.js và npm
React Native utilizes Node.js and npm for managing packages and projects You can download and install Node.js from the official website at https://nodejs.org/.
Bước 2: Cài đặt Watchman (tuỳ chọn)
Watchman là một công cụ quan trọng giúp theo dõi và tương tác với các tệp trong dự án React Native Để cài đặt Watchman trên macOS, bạn có thể sử dụng Homebrew.
Bước 3: Cài đặt Yarn (tuỳ chọn)
Yarn là một quản lý gói tùy chọn mà nhiều người dùng React Native thay vì npm Bạn có thể cài đặt Yarn bằng npm:
Bước 4: Cài đặt Xcode (đối với iOS phát triển)
If you are developing a React Native application for iOS, it is essential to install Xcode from the App Store Xcode includes the iOS Simulator, which serves as a virtual machine for testing your application on iOS devices.
Bước 5: Cài đặt Android Studio và Android SDK (đối với Android phát triển)
Nếu bạn đang phát triển cho Android, bạn cần cài đặt Android Studio và Android SDK Android Studio có thể tải về từ trang web chính thức của
Android: https://developer.android.com/studio
Sau khi cài đặt Android Studio, mở nó và cài đặt Android SDK thông qua Android
Bước 6: Cài đặt Watchman và JDK
To develop with React Native, it is essential to install Java Development Kit (JDK) version 8, as this version is recommended for optimal performance You can download the JDK from the Oracle website or opt for OpenJDK Following this, proceed to install the React Native CLI to complete your setup.
Cài đặt React Native Command Line Interface (CLI) bằng npm:
Bước 8: Tạo dự án React Native mới
Sau khi hoàn thành các bước trên, bạn có thể tạo một dự án React Native mới bằng lệnh sau:
Bước 9: Chạy ứng dụng React Native
Chuyển đến thư mục dự án:
Chạy ứng dụng trên máy ảo iOS hoặc Android (tùy chọn):
Sau khi hoàn tất các bước này, bạn sẽ cài đặt và cấu hình thành công môi trường phát triển React Native, sẵn sàng để bắt đầu xây dựng ứng dụng của mình.
Các thư viện phổ biến trong React Native
Khi phát triển dự án React Native, việc thêm thư viện không phải lúc nào cũng dễ dàng do React Native không tích hợp sẵn tất cả Bạn cần thực hiện các lệnh để cài đặt các thư viện mong muốn Dưới đây là hướng dẫn cách thêm thư viện vào dự án của bạn Để cài đặt thư viện trong môi trường React Native, bạn có thể sử dụng công cụ phù hợp.
Yarn hoặc npm Cả hai đều hỗ trợ thêm các thư viện từ kho lưu trữ chính thức của React
Cài đặt thư viện React Navigation
Cài đặt thư viện Firebase
Cài đặt Axios (thư viện gửi HTTP request)
React Native mang đến một hệ sinh thái đa dạng với nhiều thư viện và công cụ hỗ trợ, giúp việc phát triển ứng dụng trở nên nhanh chóng và dễ dàng Các thư viện phổ biến được phân chia thành ba lĩnh vực chính: điều hướng, quản lý trạng thái và quản lý dữ liệu.
Navigation (Điều hướng) - React Navigation
React Navigation là thư viện điều hướng phổ biến và mạnh mẽ dành cho React Native, giúp bạn dễ dàng xây dựng ứng dụng với nhiều màn hình và thực hiện điều hướng giữa các màn hình một cách hiệu quả.
Nổi bật với tính năng hỗ trợ điều hướng ngăn xếp, điều hướng tab và điều hướng drawer, ứng dụng còn quản lý lịch sử điều hướng và thao tác quay lại một cách linh hoạt Hơn nữa, nó tích hợp dễ dàng với các thư viện như Redux hoặc Context API để tối ưu hóa việc quản lý trạng thái trong quá trình điều hướng.
Cách sử dụng: Bạn có thể sử dụng Stack.Navigator, Tab.Navigator, hoặc
Drawer.Navigator để định nghĩa cấu trúc điều hướng của ứng dụng.
React-native-chart-kit là thư viện phổ biến cho việc tạo biểu đồ trong ứng dụng React Native, hỗ trợ nhiều loại biểu đồ như đường, cột, bánh và các loại khác Thư viện này rất hữu ích để trực quan hóa dữ liệu, giúp người dùng dễ dàng hiểu và phân tích thông tin Với sự hỗ trợ cho nhiều loại biểu đồ như Line, Bar, Pie, và Stacked Bar, React-native-chart-kit là lựa chọn lý tưởng cho các nhà phát triển ứng dụng.
React-native-svg là một thư viện cho phép bạn sử dụng các thành phần SVG (Scalable
Vector Graphics trong ứng dụng React Native sử dụng định dạng SVG, cho phép tạo ra hình ảnh vector có thể mở rộng mà không bị giảm độ nét Điều này rất hữu ích cho việc thiết kế biểu tượng, hình minh họa và các yếu tố đồ họa khác trong ứng dụng.
Thư viện này hỗ trợ nhiều tính năng của SVG như đường, hình tròn, hình chữ nhật, và các yếu tố SVG phức tạp hơn như gradients, masks, filters.
React-native-vector-icons is a powerful library that simplifies the integration of vector icons into your React Native applications It offers a comprehensive collection of popular icons from various icon sets, including FontAwesome, MaterialIcons, Ionicons, and more.
React-native-safe-area-context
React-native-safe-area-context là thư viện hỗ trợ xác định và quản lý khu vực an toàn trên màn hình thiết bị, giúp giao diện người dùng không bị che khuất bởi các yếu tố như notch, thanh trạng thái và thanh điều hướng của hệ điều hành.
Thư viện này cho phép bạn quản lý vị trí các thành phần giao diện người dùng một cách hiệu quả, đảm bảo rằng chúng luôn hiển thị rõ ràng và không bị che khuất trên các thiết bị có thiết kế màn hình đặc biệt.
React-native-screens là thư viện tối ưu hóa hiệu suất điều hướng cho ứng dụng React Native, giúp cải thiện bộ nhớ và hiệu suất khi có nhiều màn hình Thư viện này đặc biệt hữu ích trong việc quản lý chuyển đổi giữa các màn hình, mang lại trải nghiệm mượt mà cho người dùng.
Thư viện này cung cấp API giúp tạo màn hình trong ứng dụng và kiểm soát chuyển đổi giữa chúng hiệu quả Nó sử dụng cơ chế quản lý màn hình thông minh, chỉ tải màn hình khi cần thiết.
Quản lý dữ liệu – Firebase
Firebase là nền tảng phát triển ứng dụng của Google, cung cấp đa dạng dịch vụ cho việc xây dựng ứng dụng di động và web, bao gồm cơ sở dữ liệu, xác thực người dùng, lưu trữ và nhiều tính năng hữu ích khác.
Firebase Realtime Database cung cấp giải pháp lưu trữ và đồng bộ dữ liệu theo thời gian thực, giúp các ứng dụng tương tác trực tiếp và cập nhật dữ liệu ngay lập tức Điều này đặc biệt hữu ích cho các ứng dụng yêu cầu tính năng tương tác cao, cho phép người dùng trải nghiệm mượt mà và hiệu quả.
To configure Firebase in your application, ensure that you have created a project in the Firebase Console and properly set up the necessary files, such as google-services.json for Android or GoogleService-Info.plist for iOS.
Sử dụng Firebase Realtime Database :
Firebase Authentication cung cấp dịch vụ xác thực người dùng, cho phép bạn dễ dàng triển khai đăng nhập qua email, Google, Facebook và các phương thức khác Tính năng này rất hữu ích cho việc quản lý người dùng trong ứng dụng của bạn.
Cách sử dụng Firebase Authentication:
PHÂN TÍCH VÀ THIẾT KẾ, DEMO APP
Mô hình hóa yêu cầu
1 Xác nhận yêu tố tác nhân
Trong quá trình phát triển ứng dụng, việc tích hợp thông tin và giao tiếp giữa sinh viên và trường đại học là rất quan trọng Có hai tác nhân chính cần được xác định để đảm bảo hiệu quả của ứng dụng này.
Đối tượng: Bao gồm sinh viên đang theo học tại trường và học sinh cấp 3 có nhu cầu tìm hiểu về trường đại học.
Chức năng của hệ thống bao gồm việc cung cấp thông tin chi tiết về các chương trình học, quy trình tuyển sinh, sơ đồ lớp học, yêu cầu chứng chỉ, cũng như quy đổi điểm IELTS Người dùng có thể dễ dàng truy cập vào các thông tin thủ tục hành chính khác Đặc biệt, chức năng chat cho phép liên hệ và trao đổi trực tiếp với bộ phận quản lý, giúp giải đáp thắc mắc và hỗ trợ các vấn đề liên quan đến học tập, tài chính, và tuyển sinh một cách nhanh chóng và hiệu quả.
Bộ phận quản lý (Admin) :
Đối tượng: Bao gồm các nhân viên của trường như phòng đào tạo, phòng công tác sinh viên, phòng tài chính, phòng tuyển sinh, và các phòng ban khác.
Chức năng của ứng dụng bao gồm quản lý và cập nhật thông tin quan trọng như chương trình học, quy trình tuyển sinh, yêu cầu chứng chỉ và các chính sách hỗ trợ tài chính Ngoài ra, ứng dụng còn xử lý các yêu cầu từ sinh viên thông qua chức năng chat, giúp giải đáp thắc mắc và hỗ trợ liên quan đến học tập, tài chính và thủ tục hành chính.
2 Xác định các trường hợp sử dụng
2.1.Truy cập thông tin học tập, khoa viện
Sinh viên có thể tìm kiếm thông tin về chương trình học, sơ đồ lớp học, quy trình học tập, yêu cầu chứng chỉ, cách quy đổi điểm IELTS, cùng với các thủ tục hành chính cần thiết khác.
1 Sinh viên mở ứng dụng.
2 Sinh viên chọn mục "Thông tin học tập" hoặc tương tự.
3 Sinh viên tra cứu các thông tin như chương trình học, sơ đồ lớp học, quy trình học.
4 Hệ thống hiển thị thông tin cho sinh viên.
2.2.Giao tiếp với các bộ phận admin
Sinh viên có thể sử dụng chức năng chat để dễ dàng liên hệ với các bộ phận quản lý như phòng đào tạo, phòng công tác sinh viên và phòng tài chính, nhằm giải quyết các thắc mắc và nhận hỗ trợ kịp thời.
1 Sinh viên chọn mục "Chat" hoặc "Giao tiếp với bộ phận quản lý".
2 Sinh viên gửi câu hỏi hoặc yêu cầu hỗ trợ tới bộ phận liên quan.
3 Bộ phận quản lý nhận yêu cầu, xử lý và gửi phản hồi lại cho sinh viên.
4 Sinh viên nhận được phản hồi và theo dõi tiến trình giải quyết yêu cầu.
2.3 Quy trình đăng ký/đăng nhập tài khoản
1 Mở ứng dụng: Sinh viên mở ứng dụng trên điện thoại di động.
2 Chọn mục Đăng ký: Tại màn hình chính, sinh viên chọn tùy chọn "Đăng ký".
3 Nhập thông tin đăng ký: o Họ và tên: Sinh viên điền tên đầy đủ. o Email: Sinh viên nhập địa chỉ email để nhận thông báo và thông tin từ trường. o Số điện thoại: Cung cấp số điện thoại di động để liên lạc (có thể là tùy chọn). o Mật khẩu: Sinh viên tạo mật khẩu mạnh (bao gồm chữ hoa, chữ thường, số và ký tự đặc biệt). o Xác nhận mật khẩu: Sinh viên nhập lại mật khẩu để xác nhận.
4 Gửi yêu cầu đăng ký: Sau khi điền đầy đủ thông tin, sinh viên chọn "Đăng ký".
5 Xác thực email hoặc số điện thoại (nếu có): o Hệ thống gửi một mã xác thực qua email cho sinh viên.
6 Hoàn thành đăng ký: Nếu thông tin chính xác và mã xác nhận hợp lệ, tài khoản của sinh viên sẽ được tạo thành công Sinh viên có thể đăng nhập ngay lập tức.
3.Yêu cầu hệ thống Ứng dụng cần đáp ứng các yêu cầu chức năng nghiệp vụ sau:
Chức năng đăng nhập và quản lý tài khoản cho phép người dùng truy cập bằng email hoặc tài khoản sinh viên, đồng thời quản lý quyền truy cập dựa trên vai trò của họ, bao gồm Sinh viên và Admin.
Chức năng tra cứu thông tin cung cấp giao diện thân thiện, giúp sinh viên dễ dàng tìm kiếm thông tin về học tập, chương trình hỗ trợ tài chính và các thông tin liên quan khác Để đảm bảo tính chính xác, dữ liệu cần được cập nhật liên tục từ cơ sở dữ liệu của trường.
Chức năng quản lý hồ sơ cá nhân cho phép sinh viên dễ dàng cập nhật thông tin cá nhân của mình, yêu cầu cấp lại các giấy tờ cần thiết và theo dõi quy trình xử lý một cách hiệu quả.
Chức năng chat trực tiếp cho phép sinh viên giao tiếp thời gian thực với bộ phận quản lý, đồng thời lưu trữ lịch sử cuộc trò chuyện để tham khảo sau này Ứng dụng sẽ áp dụng các công nghệ tiên tiến để nâng cao trải nghiệm người dùng.
Sử dụng React Native để phát triển giao diện người dùng cho cả hệ điều hành Android và iOS, kết hợp với các thư viện UI như React Navigation để quản lý điều hướng và React Native Paper để tạo các thành phần giao diện.
Utilize Firebase for efficient backend management, including user authentication and handling backend requests Leverage Firebase Realtime Database or Firestore for real-time data storage solutions.
II Thiết kế và demo giao diện
1.Giao diện màn hình Welcome
5.Giao diện trang show thông tin khoa, viện, trường