Chương 1: Tổng quan đề tài Giới thiệu lý do và các mục tiêu mà đề tài cần giải quyết, phạm vi nghiên cứu của đề tài. Giới thiệu tóm tắt nội dung sẽ được trình bày trong các chương trình tiếp theo. Nghiên cứu, tìm hiểu và đưa ra lý do chọn đề tài, mục tiêu và mục đích khi xây dựng và phát triển đề tài. Xác định rỏ phạm vi và đối tượng hướng đến, giải pháp công nghệ để triển khai, xây dựng đề tài, đồng thời phân tích đặc tả yêu cầu nghiệp vụ.
Chương 2: Cơ sở lý thuyết Tìm hiểu, giới thiệu tổng quan về ngôn ngữ lập trình JavaScript, công nghệ React Native, và hệ quản trị cơ sở dữ liệu MySQL. Chương 3: Phân tích thiết kế hệ thống Phân tích các tác nhân và chức năng của từng tác nhân của hệ thống. Thiết kế sơ đồ Usecase, sơ đồ hoạt động, sơ đồ ERD. Thiết kế cơ sở dữ liệu.
Xây dựng kịch bản cho từng Usecase hệ thống. SVTH: Nguyễn Thành Nhân 2 Xây dựng ứng dụng Bán hàng cho các cửa hàng tạp hoá 1. Chương 4: Kết quả triển khai hệ thống Xây dựng giao diện và chức năng của ứng dụng 1. Phần kết luận Kết luận chung cho các chương trong đồ án.
Trình bày những vấn đề đã giải quyết đồng thời trình bày hướng phát triển. SVTH: Nguyễn Thành Nhân 3 Xây dựng ứng dụng Bán hàng cho các cửa hàng tạp hoá : CƠ SỞ LÝ THUYẾT Giới thiệu hệ quản trị cơ sở dữ liệu MySQL 2. Tổng quan MySQL là một hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở phổ biến. Nó được phát triển bởi một nhóm các nhà phát triển tại Oracle Corporation.
MySQL được xây dựng trên mô hình quan hệ, trong đó dữ liệu được lưu trữ trong các bảng có quan hệ với nhau thông qua các khóa ngoại. MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có thể được quản lý một hoặc nhiều CSDL khác nhau, mỗi người dùng có một tên truy cập (user name) và mật khẩu tương ứng để truy xuất đến CSDL. MySQL được sử dụng cho việc bổ trợ NodeJs, PHP, Perl, và nhiều ngôn ngữ khác, làm nơi lưu trữ những thông tin trên các trang web viết bằng NodeJs, PHP hay Perl,. Ưu điểm khi sử dụng MySQL MySQL được tối ưu hóa để cung cấp hiệu suất cao cho các hoạt động đọc và ghi dữ liệu.
Nó sử dụng các kỹ thuật tối ưu hóa truy vấn và chỉ mục để đảm bảo truy vấn được thực hiện nhanh chóng và hiệu quả. Điều này rất quan trọng khi bạn có một ứng dụng có lượng truy cập lớn hoặc xử lý dữ liệu phức tạp. Hệ thống quản lý giao dịch mạnh mẽ và hỗ trợ các tính năng bảo mật như phân quyền và mã hóa dữ liệu. Nó cũng có khả năng sao lưu và phục hồi dữ liệu, giúp bảo vệ dữ liệu của bạn khỏi sự mất mát và giúp phục hồi sau các sự cố.
Cho phép bạn tạo và quản lý các cơ sở dữ liệu lớn với hàng nghìn bảng và triệu hàng tỷ bản ghi. Nó cung cấp tính năng phân tán và sao chép để tăng tính sẵn có và khả năng mở rộng của hệ thống. Giới thiệu API Api: API là viết tắt của Application Programming Interface (Giao diện lập trình ứng dụng), một phần mềm trung gian cho phép hai ứng dụng nói chuyện với nhau. Mỗi khi sử dụng một ứng dụng như Facebook, gửi tin nhắn tức thì hoặc kiểm tra thời tiết trên điện thoại, có nghĩa là bạn đang sử dụng API.
SVTH: Nguyễn Thành Nhân 4 Xây dựng ứng dụng Bán hàng cho các cửa hàng tạp hoá Kiến trúc API thường được giải thích dưới dạng máy chủ và máy khách. Ứng dụng gửi yêu cầu được gọi là máy khách, còn ứng dụng gửi phản hồi được gọi là máy chủ. Như vậy, trong ví dụ về thời tiết, cơ sở dữ liệu của cơ quan thời tiết là máy chủ còn ứng dụng di động là máy khách. API hoạt động theo 4 cách khác nhau, tùy vào thời điểm và lý do chúng được tạo ra.
Cách hoạt động của API: a) API SOAP Các API này sử dụng Giao thức truy cập đối tượng đơn giản. Máy chủ và máy khách trao đổi thông đệp bằng XML. Đây là loại API kém linh hoạt được dùng phổ biến trước đây. b) API RPC Những API này được gọi là Lệnh gọi thủ tục từ xa.
Máy khách hoàn thành một hàm (hoặc thủ tục) trên máy chủ còn máy chủ gửi kết quả về cho máy khách. c) API Websocket API Websocket là một bản phát triển API web hiện đại khác sử dụng các đối tượng JSON để chuyển dữ liệu. API WebSocket hỗ trợ hoạt động giao tiếp hai chiều giữa ứng dụng máy khách và máy chủ. Máy chủ có thể gửi thông điệp gọi lại cho các máy khách được kết nối, điều này khiến loại API này hiệu quả hơn API REST.
d) API REST Đây là loại API phổ biến và linh hoạt nhất trên web hiện nay. Máy khách gửi yêu cầu đến máy chủ dưới dạng dữ liệu. Máy chủ dùng dữ liệu đầu vào từ máy khách này Giới thiệu ngôn ngữ lập trình Java Script JavaScript rất phổ biến được dùng để tạo ra các trang web tương tác. Được tích hợp và nhúng vào HTML giúp website trở nên sống động hơn.
JavaScript đóng vai trò như một phần của trang web, thực thi cho phép Client-Side Script từ phía người dùng cũng như phía máy chủ (Nodejs) tạo ra các trang web động. Là một ngôn ngữ lập trình thông dịch với khả năng hướng đến đối tượng. Là một ngôn ngữ bậc cao, thường được biên dịch tức thời, phù hợp với tiêu chuẩn ECMAScript Nó có kiểu gõ động, hướng đối tượng dựa trên nguyên mẫu và các chức năng hạng nhất. Nó là đa mô hình, hỗ trợ các phong cách lập trình hướng sự kiện, chức năng và mệnh lệnh.
Nó SVTH: Nguyễn Thành Nhân 5 Xây dựng ứng dụng Bán hàng cho các cửa hàng tạp hoá có các giao diện lập trình ứng dụng (API) để làm việc với văn bản, ngày tháng, biểu thức chính quy, cấu trúc dữ liệu tiêu chuẩn và Mô hình đối tượng tài liệu (DOM). Ứng dụng của JavaScript - Thay đổi nội dung HTML như tìm một phần tử của HTML và dùng để thay đổi nội dung của phần từ (Internal HTML) sang nội dung thuộc Javascript. - Tiến hành lưu trữ và truy xuất cho các giá trị - Thực hiện tải và sử dụng những mô-đun ở bên ngoài. - Thực hiện xác định và gọi cho các hàm.
- Tiến hành viết trình xử lý cho các sự kiện để có thể đáp ứng với tất cả người dùng và những sự kiện khác. Cách hoạt động của JavaScript Khi trình duyệt tải một trang web chứa mã JavaScript, trình duyệt sẽ tải mã đó và xử lý nó từ trên xuống dưới, tuần tự theo thứ tự mà mã được đặt trong tài liệu HTML. JavaScript được sử dụng để xử lý sự kiện và phản ứng với hành động người dùng trên trang web khi người dùng tương tác với trang. Thay đổi nội dung và giao diện người dùng trên trang web.
Bằng cách truy cập vào các phần tử HTML và CSS thông qua Document Object Model (DOM), JavaScript có thể thêm, xóa, sửa đổi nội dung của các phần tử HTML, thay đổi kiểu dáng và tạo ra các hiệu ứng động. Gọi API và tương tác với dữ liệu: JavaScript cho phép tương tác với các API (Application Programming Interface) và dữ liệu từ máy chủ. Bằng cách sử dụng các phương thức như XMLHttpRequest, Fetch API hoặc giao thức WebSocket, JavaScript có thể gửi yêu cầu đến máy chủ và xử lý dữ liệu được trả về. SVTH: Nguyễn Thành Nhân 6 Xây dựng ứng dụng Bán hàng cho các cửa hàng tạp hoá React Native – Framework React Native là một framework mã nguồn mỡ được sáng tạo bởi Facebook.
Nó được sử dụng để phát triển ứng dụng di động Android, IOS, Web bằng cách cho phép các nhà phát triển sử dụng React cùng với môi trường ứng dụng gốc (native). React native cũng giống như React vậy chúng sử dụng các native components thay vì các web components. Sự ra đời của React Native là lời giải đáp cho bài toán về hiệu năng và tối ưu hóa ngôn ngữ cho mọi nền tảng di động. Vì vậy để hiểu về cấu trúc của React native chúng ta cần phải có các kiến thức cơ bản với các khái niệm cơ bản của React như là JSX, components, props hay là state.
Với những ưu điểm của mình mà JavaScript được các ông lớn như Google, Facebook,… hỗ trợ trong việc phát triển để cho ra đời các library hay framework JavaScript nổi tiếng hiện nay như: AngularJS, ReactJS và React Native, VueJS, NuxtJS, NextJS, Jquery, NodeJS … 2. Ưu điểm Ưu điểm của React Native có rất nhiều, trong đó có 4 nội dung chính bao gồm: Phát triển ứng dụng di động cho cả iOS và Android từ một mã nguồn duy nhất. Điều này giúp tiết kiệm thời gian và công sức phát triển React Native sử dụng JavaScript, một ngôn ngữ lập trình phổ biến và dễ tiếp cận. Điều này có nghĩa là bạn có thể sử dụng kiến thức và kỹ năng JavaScript hiện có của mình để phát triển ứng dụng React Native mà không cần học một ngôn ngữ mới.
Cộng đồng React Native rất lớn và phong phú, cung cấp rất nhiều gói thư viện sẵn có để giúp bạn xây dựng các tính năng phức tạp một cách nhanh chóng. Sử dụng một bộ công cụ gọi là "bridge" để kết nối mã JavaScript với các thành phần giao diện người dùng (UI components) của nền tảng di động. Điều này giúp tăng hiệu suất và đáp ứng nhanh hơn so với các ứng dụng di động hybrid truyền thống. SVTH: Nguyễn Thành Nhân 7 Xây dựng ứng dụng Bán hàng cho các cửa hàng tạp hoá 2.
Nhược điểm Với những ưu điểm tiện dụng, người học lập trình có thể dễ học thì React Native cũng có những nhược điểm cơ bản. Trong đó, nó được thể hiện qua: Một số chức năng cụ thể mà bạn có thể cần phải sử dụng mã native hoặc giao diện lập trình ứng dụng (API) riêng của từng nền tảng. React Native có hiệu suất tốt hơn so với các ứng dụng hybrid truyền thống, nó có thể không đạt được hiệu suất tương tự với các ứng dụng di động viết bằng mã native. Hiệu năng kém hơn so với khi sử dụng native app.
Vì sử dụng JavaScript nên chưa có sự bảo mật an toàn. Khả năng tùy biến trong một số module chưa thật sự tốt. Không thích hợp khi ứng dụng vào các app cần khả năng tính toán cao. Giới thiệu NodeJs một môi trường runtime chạy JavaScript đa nền tảng và có mã nguồn mở, được sử dụng để chạy các ứng dụng web bên ngoài trình duyệt của client.