1. Trang chủ
  2. » Cao đẳng - Đại học

KHÓA LUẬN tốt NGHIỆP tìm HIỂU và xây DỰNG ỨNG DỤNG CHIA sẻ và CẢNH báo THÔNG TIN GIAO THÔNG

100 10 0

Đ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 đề Khóa Luận Tốt Nghiệp Tìm Hiểu Và Xây Dựng Ứng Dụng Chia Sẻ Và Cảnh Báo Thông Tin Giao Thông
Tác giả Tạ Ngọc Hoàng Lâm
Người hướng dẫn ThS. Lê Thanh Trọng, ThS. Thái Thụy Hàn Uyển
Trường học Đại Học Quốc Gia TP. Hồ Chí Minh
Chuyên ngành Kỹ Sư Ngành Công Nghệ Phần Mềm
Thể loại khóa luận tốt nghiệp
Năm xuất bản 2020
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 100
Dung lượng 3,06 MB

Cấu trúc

  • Chương 1. TỔNG QUAN ĐỀ TÀI (21)
    • 1.1. Giới thiệu đề tài (21)
    • 1.2. Khảo sát hiện trạng (23)
    • 1.3. Mục tiêu (26)
    • 1.4. Các ứng dụng liên quan (26)
      • 1.4.1. Ứng dụng GoogleMap - Ứng dụng bản đồ của hệ thống Google (26)
      • 1.4.2. Ứng dụng VOV - Ứng dụng giao thông Việt Nam (28)
      • 1.4.3. Ứng dụng TTGT – TPHCM (30)
    • 1.5. Phạm vi (31)
    • 1.6. Phương pháp thực hiện (32)
    • 1.7. Ý nghĩa thực tiễn (32)
    • 1.8. Kết quả dự kiến (33)
    • 1.9. Danh sách chức năng của đề tài (33)
  • Chương 2. CƠ SỞ LÝ THUYẾT (36)
    • 2.1. REACT NATIVE (36)
      • 2.1.1. Định nghĩa (38)
      • 2.1.2. Khái niệm về Hybird (38)
      • 2.1.3. Khái niệm về native (39)
      • 2.1.4. Ưu nhược điểm (40)
    • 2.2. AUTHENTICATION (41)
    • 2.3. FIREBASE (41)
      • 2.3.1. Khái niệm (42)
      • 2.3.2. Ưu nhược điểm (42)
    • 2.4. NODEJS (43)
      • 2.4.1. Khái niệm (43)
      • 2.4.2. Lí do nên sử dụng Nodejs (44)
    • 2.5. FACEBOOK SDK (44)
    • 2.6. NGÔN NGỮ JAVASCRIPT (45)
      • 2.6.1. Javascript là gì? (45)
      • 2.6.2. Ưu điểm (46)
      • 2.6.3. Nhược điểm (47)
    • 2.7. GOOGLE MAP API (47)
      • 2.7.1. Google Map API là gì? (47)
      • 2.7.2. Một số ứng dụng của Google Map API (48)
    • 2.8. EXPO (48)
      • 2.8.1. EXPO là gi? (48)
      • 2.8.2. Những hạn chế của expo (49)
  • Chương 3. THỰC HIỆN (50)
    • 3.1. Yêu cầu phi chức năng (50)
      • 3.1.1. Danh sách Actor (50)
    • 3.2. Sơ đồ Usecase tổng quát (50)
    • 3.3. Đặc tả một số use-case chính (51)
      • 3.3.1. Đặc tả use-case “Đăng ký” (51)
      • 3.3.2. Đặc tả use-case “Đăng nhập” (51)
      • 3.3.3. Đặc tả use-case “Xem bài đăng” (52)
      • 3.3.4. Đặc tả use-case “Bình luận bài đăng” (53)
      • 3.3.5. Đặc tả use-case “Xem bản đồ” (54)
      • 3.3.6. Đặc tả use-case “Tạo bài đăng” (54)
      • 3.3.7. Đặc tả use-case “Xem hồ sơ” (55)
      • 3.3.8. Đặc tả use-case “Xem tin tức” (56)
      • 3.3.9. Đặc tả use-case “Đánh giá người dùng ” (57)
      • 3.3.10. Đặc tả use-case “Quét tình trạng và tuyến đường xung quanh” (57)
  • Chương 4. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG (59)
    • 4.1. Thiết kế dữ liệu (59)
      • 4.1.1. Mô tả các thành phần có trong cơ sở dữ liệu (59)
    • 4.2. Thiết kế kiến trúc (63)
      • 4.2.1. Tổng quan hệ thống (63)
      • 4.2.2. Tổ chức code (65)
    • 4.3. Thiết kế giao diện (75)
      • 4.3.1. Sơ đồ chi tiết giao diện (75)
      • 4.3.2. Danh sách các màn hình (75)
      • 4.3.3. Mô tả chi tiết giao diện (78)
  • Chương 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (97)
    • 5.1. Kết quả đạt được từ lý thuyết (97)
      • 5.1.1. Về nội dung nghiên cứu (97)
      • 5.1.2. Về chương trình ứng dụng (97)
    • 5.2. Hướng phát triển trong tương lai (98)
  • Chương 6. TÀI LIỆU THAM KHẢO (100)

Nội dung

CƠ SỞ LÝ THUYẾT

REACT NATIVE

Hiện nay, sự phát triển của xã hội đã dẫn đến nhu cầu ngày càng cao về việc tạo ra các ứng dụng di động và web đồng nhất và nhanh chóng Tuy nhiên, vẫn còn tồn tại những rào cản về nền tảng khiến cho mong muốn này chưa thể được thực hiện.

Gần đây, nhiều framework như PhoneGap, Ionic và Cordova đã xuất hiện, cho phép phát triển ứng dụng di động theo phương thức cross-platform Tuy nhiên, các ứng dụng này thường chỉ đạt mức hybrid-app, sử dụng Webviews để hiển thị giao diện thay vì thực sự là ứng dụng native.

Việc sử dụng các ứng dụng hybrid làm giảm hiệu năng và không tối ưu trong việc xử lý

Google đã giới thiệu một phương pháp mới bằng cách thay thế ứng dụng gốc (native app) bằng Progressive Web App (PWA) Mặc dù PWA có hiệu suất tốt, nhưng vẫn không thể so sánh với ứng dụng gốc khi quy mô ứng dụng tăng lên Hơn nữa, PWA được cho là khó khăn hơn trong việc giữ chân người dùng so với ứng dụng gốc.

Hình 7 Mobile App Technology Stacks

React Native cung cấp cho bạn một thứ hoàn toàn khác biệt, ứng dụng được tạo ra sẽ hoàn toàn native với hiệu năng cao, chứ không phải là

"Mobile web app", "HTML5 app" hay "hybrid app" là những thuật ngữ phổ biến trong phát triển ứng dụng di động Bạn có thể xây dựng một ứng dụng di động mà khó có thể phân biệt với các ứng dụng native được phát triển hoàn toàn bằng Java hoặc Swift/Objective-C React Native cho phép phát triển ứng dụng với trải nghiệm người dùng tương tự như ứng dụng gốc.

UI hoàn toàn giống với iOS hay Android app thông thường, điều đặc biệt là nó được xây dựng dễ dàng hơn thông qua Javascript và React.

- React Native là framework xây dựng ứng dụng di động native sử dụng

Javascript do Facebook phát hành.

- Sử dụng React Native để xây dựng ứng dụng iOS và AndroidAndroid chỉ cần 1 ngôn ngữ javascript duy nhất.

- Để hiểu rõ về React Native là gì, chúng ta cần phân biệt sự khác nhau giữa ứng dụng Native và Hybrid.

Chương trình phần mềm này là ứng dụng di động được phát triển dựa trên nền tảng web như HTML5, CSS3 và JavaScript Mặc dù bản chất của nó là ứng dụng web, nhưng nó tích hợp thêm các tính năng tương tác với hệ điều hành, cho phép truy cập vào tập tin, máy ảnh, GPS và các cảm biến như con quay hồi chuyển và gia tốc kế Tất cả những tính năng này được bao bọc bởi lớp ứng dụng Native, chủ yếu thông qua Phonegap/Cordova.

- Phần web được xử lý hiển thị bởi webview, phần tính năng truy cập hệ thống được cung cấp bởi các hàm API Ứng dụng gọi hàm bằng

Javascript thông qua API thì chương trình Phonegap/Cordova bao bọc sẽ gọi trực tiếp Native xuống hệ điều hành.

Ứng dụng web giờ đây có thể tích hợp các tính năng cao cấp giống như ứng dụng Native, nhờ vào việc sử dụng mã nguồn sẵn Điều này giúp tăng tốc độ hoạt động của ứng dụng hybrid, nhanh hơn so với ứng dụng web truyền thống.

Ứng dụng gốc được phát triển bằng ngôn ngữ của hệ điều hành, như Objective-C và Swift cho iOS, Java cho Android, và C++ hoặc C# cho Windows Phone Những ứng dụng này được biên dịch trực tiếp sang ngôn ngữ máy, tận dụng toàn bộ tính năng mà hệ điều hành cung cấp Nhờ vào việc sử dụng ngôn ngữ trực tiếp mà không cần qua trung gian, tốc độ hoạt động của ứng dụng gốc là nhanh nhất.

Tốc độ của ứng dụng bao gồm cả độ mượt khi hiển thị và tốc độ xử lý Khi quan sát kỹ, bạn sẽ nhận thấy rằng các thao tác trong ứng dụng native như chuyển trang, điều hướng và cuộn trang diễn ra rất mượt mà.

React Native là một framework cho phép lập trình viên phát triển ứng dụng Native chỉ với Javascript Điều này có nghĩa là bạn có thể tạo ra ứng dụng Native mà không cần phải sử dụng nhiều ngôn ngữ lập trình khác, làm thay đổi cách hiểu về ứng dụng Native truyền thống.

React Native cho phép lập trình viên web phát triển ứng dụng native, khắc phục những hạn chế của ứng dụng web và hybrid Với kỹ năng thành thạo JavaScript, lập trình viên có thể dễ dàng làm việc trên nhiều nền tảng khác nhau.

Sự phát triển từ web, desktop, server đến mobile mang lại lợi ích không chỉ cho lập trình viên web mà còn giúp các doanh nghiệp tối ưu hóa quy trình phát triển sản phẩm đầu cuối với đội ngũ nhân lực ít hơn.

- Khi xây dựng React Native, điều tuyệt vời là đã được tích hợp tính năng Live Reload – tương tự tính năng Hot Replacement Module trong

Webpack cung cấp tính năng Live Reload, cho phép chỉ tải lại các chức năng hoặc tệp tin đã thay đổi, trong khi tính năng Reload sẽ tải lại toàn bộ mã nguồn Bên cạnh đó, việc gỡ lỗi JavaScript trở nên dễ dàng hơn trong Chrome và Safari, mặc dù các lỗi liên quan đến Native vẫn cần được xử lý một cách riêng biệt.

XCode cho iOS hoặc Android Studio cho Android

2.1.4 Ưu nhược điểm Ưu điểm:

• Ứng dụng tin cậy và ổn định

• Xây dựng cho nhiều hệ điều hành khác nhau với ít native code nhất

• Trải nghiệm người dùng tốt hơn là hybrid app

• Vẫn đòi hỏi native code

• Hiệu năng sẽ thấp hơn với app thuần native code

• Bảo mật không cao do dựa trên JS

• Khả năng tùy biến cũng không thực sự tốt đối với một vài module

AUTHENTICATION

Với Firebase Authentication, người dùng có thể đăng nhập vào ứng dụng thông qua các hệ thống mà họ đã tin cậy Điều này cho phép ứng dụng lưu trữ dữ liệu một cách an toàn trên "đám mây" và cung cấp trải nghiệm cá nhân hóa nhất quán trên mọi thiết bị của họ.

Xác thực Firebase cung cấp dịch vụ phụ trợ và SDK dễ sử dụng, cùng với thư viện giao diện người dùng sẵn có, giúp cải thiện trải nghiệm xác thực trên nhiều nền tảng và ứng dụng khác nhau Tính năng này hỗ trợ xác thực bằng mật khẩu và các nhà cung cấp danh tiếng như Google, Facebook, và Twitter, cho phép người dùng truy cập nội dung một cách nhanh chóng và an toàn.

• Tích hợp chặt chẽ với các tính năng khác của Firebase

• Sử dụng các tiêu chuẩn như Oauth 2.0 và OpenID Connect, vì vậy có thể dễ dàng tích hợp với các ứng dụng

Cung cấp xác thực an toàn cho phép người dùng đăng nhập dễ dàng bằng tài khoản Google, bao gồm Gmail, Google Play, Google+ và các dịch vụ khác Tính năng này cũng hỗ trợ xác thực qua mật khẩu và các nhà cung cấp nổi tiếng như Twitter.

Cung cấp trải nghiệm ứng dụng liền mạch trên mọi thiết bị và trang web, đảm bảo an toàn từ lần xác thực đầu tiên Điều này giúp người dùng duy trì sự tương tác liên tục, bất kể họ đang sử dụng thiết bị nào.

FIREBASE

Firebase là dịch vụ backend do Google cung cấp, giúp rút ngắn thời gian phát triển và triển khai ứng dụng di động Hỗ trợ cả Android và iOS, Firebase mang lại sức mạnh, tính đa năng và bảo mật, trở thành lựa chọn cần thiết cho việc xây dựng ứng dụng phục vụ hàng triệu người dùng.

2.3.2 Ưu nhược điểm Ưu điểm:

Firebase giúp triển khai ứng dụng nhanh chóng nhờ vào nhiều API đa nền tảng, tiết kiệm thời gian quản lý và đồng bộ dữ liệu Với các tính năng như hosting và xác thực người dùng, quá trình phát triển ứng dụng được rút ngắn đáng kể.

Để nâng cao độ bảo mật cho ứng dụng của bạn, việc sử dụng kết nối qua giao thức SSL trên nền tảng cloud là rất quan trọng Ngoài ra, việc phân quyền người dùng database bằng cú pháp JavaScript cũng góp phần tăng cường bảo mật hiệu quả hơn.

Firebase, được hỗ trợ bởi Google, đảm bảo sự ổn định và uy tín chất lượng nhờ vào nền tảng phần cứng rộng khắp toàn cầu Nhiều tập đoàn lớn và ứng dụng với hàng triệu người dùng tin tưởng sử dụng Đặc biệt, hoạt động trên nền tảng Cloud giúp việc nâng cấp và bảo trì server diễn ra dễ dàng mà không cần phải dừng hoạt động của server.

Quản lý cấu hình và trải nghiệm ứng dụng Firebase được tối ưu hóa qua một giao diện web đơn giản, cho phép các ứng dụng hoạt động độc lập nhưng vẫn duy trì sự liên kết chặt chẽ trong việc phân tích dữ liệu.

Điểm yếu lớn nhất của Firebase nằm ở phần Realtime Database, cụ thể là cơ sở dữ liệu của họ được tổ chức theo cấu trúc cây (parent-children) thay vì dạng bảng như SQL Điều này có thể gây khó khăn cho những người đã quen thuộc với SQL, từ mức độ nhẹ đến khá nghiêm trọng.

NODEJS

Node.js là nền tảng phát triển độc lập, được xây dựng trên Javascript Runtime của Chrome, cho phép tạo ra các ứng dụng mạng một cách nhanh chóng và dễ dàng mở rộng.

• Nodejs được xây dựng và phát triển từ năm 2009, bảo trợ bởi công ty Joyent, trụ sở tại California, Hoa Kỳ

• Phần Core bên dưới của Nodejs được viết hầu hết bằng C++ nên cho tốc độ xử lý và hiệu năng khá cao

• Nodejs tạo ra được các ứng dụng có tốc độ xử lý nhanh, realtime thời gian thực

Node.js là lựa chọn lý tưởng cho các sản phẩm có lượng truy cập lớn, yêu cầu khả năng mở rộng nhanh chóng và đổi mới công nghệ Nó cũng rất phù hợp để phát triển các dự án Startup một cách nhanh nhất có thể.

2.4.2 Lí do nên sử dụng Nodejs:

Các ứng dụng Node.js được phát triển bằng ngôn ngữ JavaScript, một ngôn ngữ phổ biến trong lập trình Theo Ryan Dahl, người sáng tạo JavaScript, ngôn ngữ này nổi bật với đặc điểm không có khái niệm đa luồng, mà chỉ hoạt động trên nền tảng đơn luồng và hướng sự kiện.

• Nodejs chạy đa nền tảng phía Server, sử dụng kiến trúc hướng sự kiện Event- driven, cơ chế non-blocking I/O làm cho nó nhẹ và hiệu quả

Node.js applications can be run on any platform, including Mac, Windows, and Linux The Node.js community is extensive and completely free, providing a wealth of resources and packages that are also available at no cost You can explore the vast array of free packages offered by the Node.js community at [npmjs.com](https://www.npmjs.com/).

• Các ứng dụng NodeJS đáp ứng tốt thời gian thực và chạy đa nền tảng, đa thiết bị

• Những công ty lớn nào đang sử dụng Nodejs:

Amazon, Ebay, Linkedin, Microsoft, Paypal, Trello, và Uber là những tên tuổi nổi bật trong lĩnh vực công nghệ Theo thông tin từ Paypal, việc sử dụng Node.js đã giúp giảm thời gian phản hồi lên đến 35% Bạn có thể tìm hiểu thêm chi tiết trong bài báo tại đây: [Node.js v8.0](https://medium.com/@Jessicawlm/node-js-v-8-0-57c8a6449762).

LinkedIn đã chuyển từ Ruby sang Node.js để xử lý các truy cập từ di động, giúp giảm số lượng máy chủ từ 30 xuống chỉ còn 3, tương đương với mức giảm gần 90%.

FACEBOOK SDK

Tính năng đăng nhập bằng tài khoản Facebook mang lại cho người dùng sự tiện lợi và an toàn, cho phép họ truy cập ứng dụng mà không cần đăng ký tài khoản trước Việc tích hợp Facebook SDK cho Android giúp cài đặt tính năng này nhanh chóng, chỉ mất vài phút Ngoài ra, Facebook SDK còn cho phép ứng dụng cung cấp các tính năng như chia sẻ trạng thái và hình ảnh mà không cần cài đặt ứng dụng Facebook trên thiết bị.

NGÔN NGỮ JAVASCRIPT

JavaScript là một ngôn ngữ kịch bản do Netscape phát triển, tương tự như Visual Basic của Microsoft, Tcl của Sun, Perl của UNIX và REXX của IBM Ngôn ngữ này dễ dàng và nhanh chóng hơn để lập trình so với các ngôn ngữ biên dịch như C và C++ Mặc dù ngôn ngữ kịch bản thường mất nhiều thời gian hơn trong quá trình biên soạn, nhưng chúng rất hữu ích cho việc phát triển các chương trình ngắn gọn.

JavaScript được sử dụng trong phát triển trang web để làm những việc như:

• Tự động thay đổi ngày định dạng trên một trang Web

• Nguyên nhân trang được liên kết đến xuất hiện trong cửa sổ bật lên

• Nguyên nhân văn bản hoặc một hình ảnh đồ họa để thay đổi trong một con chuột

JavaScript chia sẻ nhiều ý tưởng với Java, một ngôn ngữ lập trình hướng đối tượng được biên dịch từ C++ Mã JavaScript có thể được nhúng trong các trang HTML và được trình duyệt web giải thích Ngoài ra, JavaScript cũng có thể chạy trên máy chủ, như trong Active Server Pages của Microsoft, trước khi trang được gửi đến người dùng Cả trình duyệt của Microsoft và Netscape đều hỗ trợ JavaScript, mặc dù có một số khác biệt trong cách thực hiện.

JavaScript được thực hiện ở phía khách hàng, có nghĩa là mã chạy trên bộ vi xử lý của người dùng thay vì trên máy chủ web Điều này giúp tiết kiệm băng thông và giảm tải cho máy chủ web.

JavaScript là một ngôn ngữ lập trình dễ học, với cú pháp gần gũi với tiếng Anh Nó sử dụng mô hình DOM, cung cấp nhiều tính năng sẵn có cho các đối tượng trên trang web, giúp lập trình viên dễ dàng phát triển các kịch bản tùy chỉnh cho nhiều mục đích khác nhau.

JavaScript mang lại tốc độ nhanh cho người dùng cuối, vì mã được thực thi trực tiếp trên máy tính của họ Kết quả và quá trình xử lý diễn ra gần như ngay lập tức, tùy thuộc vào độ phức tạp của nhiệm vụ Các tác vụ trong JavaScript trên trang web thường được thiết kế đơn giản để tránh tiêu tốn quá nhiều bộ nhớ, do đó không cần phải xử lý trên máy chủ web.

28 của trang web và gửi lại cho người dùng tiêu tốn băng thông của địa phương cũng như máy chủ

Các tính năng bổ sung cho các trang web được hỗ trợ bởi các trình bổ sung của bên thứ ba như Greasemonkey, cho phép các nhà phát triển viết mã Javascript tùy chỉnh Điều này giúp mở rộng tính năng của trang web theo nhu cầu của người dùng Nếu bạn cần một tính năng cụ thể trên một trang web, bạn có thể tự viết mã và sử dụng Greasemonkey để thực hiện nó một cách dễ dàng.

Các vấn đề về bảo mật liên quan đến mã Javascript có thể nghiêm trọng, khi các đoạn mã này được tích hợp vào các trang web trên máy chủ của khách hàng, tạo cơ hội cho việc khai thác hệ thống người dùng Mặc dù các tiêu chuẩn web hiện đại đã thiết lập một số hạn chế trên trình duyệt, nhưng mã độc hại vẫn có khả năng thực thi trong khuôn khổ các quy định này.

GOOGLE MAP API

2.7.1 Google Map API là gì?

Google Map là dịch vụ bản đồ trực tuyến miễn phí do Google cung cấp, hỗ trợ nhiều tính năng như dò đường, chỉ đường và hiển thị bản đồ đường sá Nó cung cấp các tuyến đường tối ưu cho từng loại phương tiện, hướng dẫn cách bắt xe và chuyển tuyến cho phương tiện công cộng như xe bus và xe khách Ngoài ra, Google Map còn giúp người dùng tìm kiếm các địa điểm như cửa hàng, trường học, bệnh viện và cây ATM trên toàn cầu.

Map API là một công nghệ cho phép các website (site B) tích hợp dịch vụ bản đồ từ một nguồn khác (site A), chẳng hạn như Google Maps Điều này cho phép các trang web cá nhân hoặc tổ chức sử dụng các tính năng như di chuột, zoom và đánh dấu trên bản đồ mà không cần phát triển hệ thống bản đồ riêng.

• Các ứng dụng xây dựng trên maps được nhúng vào trang web cá nhân thông qua các thẻ javascripts do vậy việc sử dụng API google rất dễ dàng

Google Map API đã được nâng cấp lên phiên bản v3, mang lại khả năng hỗ trợ cho cả máy tính để bàn và thiết bị di động, giúp các ứng dụng trở nên nhanh hơn và phong phú hơn.

Các dịch vụ hoàn toàn miễn phí cho việc xây dựng một ứng dụng nhỏ, nhưng sẽ tính phí nếu được sử dụng cho mục đích kinh doanh hoặc doanh nghiệp.

2.7.2 Một số ứng dụng của Google Map API

Đánh dấu các địa điểm trên bản đồ với thông tin chi tiết về khu vui chơi giải trí, nhà hàng, khách sạn, cây ATM, bệnh viện, trường học và nhiều địa điểm khác mà bạn mong muốn.

Chúng tôi cung cấp chỉ dẫn đường đến các địa điểm bạn cần tìm, bao gồm đường tối ưu và nhiều lựa chọn khác Bên cạnh đó, chúng tôi cũng hướng dẫn bạn về các phương tiện giao thông công cộng Tất cả thông tin này được hỗ trợ bởi các dịch vụ của Google để đảm bảo bạn có trải nghiệm di chuyển thuận lợi nhất.

• Khoanh vùng khu vực: các trung tâm kinh tế, khu đô thị, khu ô nhiễm…

• Tình trạng giao thông các khu vực… từ đó đưa ra các giải pháp…

EXPO

• Expo là một framework dùng để phát triển nhanh các ứng dụng React Native

Expo là một công cụ mạnh mẽ tương tự như Laravel cho PHP hoặc Ruby on Rails cho Ruby, giúp các nhà phát triển React Native dễ dàng hơn trong việc sử dụng và quản lý API Nó cung cấp một lớp giao diện thân thiện, nâng cao trải nghiệm phát triển ứng dụng.

30 công cụ hữu ích giúp bạn dễ dàng khởi tạo và kiểm thử ứng dụng React Native Cuối cùng, Expo SDK cung cấp các thành phần UI và dịch vụ thường chỉ có từ các thư viện React Native bên thứ ba.

2.8.2 Những hạn chế của expo

Expo không hỗ trợ việc thực thi mã trong nền, điều này có nghĩa là bạn không thể chạy mã để theo dõi những thay đổi vị trí khi ứng dụng đã bị đóng.

Các ứng dụng Expo chỉ có thể sử dụng các API gốc được hỗ trợ bởi Expo SDK Điều này có nghĩa là nếu ứng dụng của bạn cần tính năng đặc trưng như giao tiếp với thiết bị ngoại vi qua Bluetooth, bạn sẽ phải sử dụng React Native thuần túy hoặc viết mã bằng thư viện ExpoKit để tích hợp chức năng đó.

Expo giới hạn bạn trong việc sử dụng bộ công cụ của họ, khiến bạn không thể dễ dàng cài đặt và sử dụng nhiều công cụ phát triển React Native như công cụ dòng lệnh, scaffolders và các framework UI Tuy nhiên, một điểm tích cực là Expo SDK tương thích với các ứng dụng React Native thuần túy, vì vậy bạn sẽ không gặp khó khăn khi gỡ ứng dụng khỏi Expo.

Mã nhị phân độc lập của ứng dụng Expo chỉ có thể được xây dựng trực tuyến thông qua công cụ dòng lệnh Exp Công cụ này hỗ trợ các nhà phát triển khởi động quá trình xây dựng trên máy chủ của Expo Sau khi hoàn tất, người dùng sẽ nhận được một URL để tải xuống tệp apk hoặc ipa.

Expo là một framework mạnh mẽ với hỗ trợ đa dạng cho các API phổ biến trên Android và iOS, cung cấp hầu hết các chức năng cần thiết cho ứng dụng Do đó, người dùng thường không cần tìm kiếm bên ngoài Expo để tích hợp các tính năng gốc.

THỰC HIỆN

Yêu cầu phi chức năng

Các đối tượng giao tiếp với hệ thống bao gồm:

Người dùng có thể dễ dàng đăng nhập vào hệ thống On My Way bằng cách sử dụng số điện thoại hoặc liên kết với tài khoản Facebook của mình.

2 Server Server cung cấp dịch vụ và xử lý các request từ người dùng Bảng 1 Danh sách Actor

Sơ đồ Usecase tổng quát

Đặc tả một số use-case chính

3.3.1 Đặc tả use-case “Đăng ký”

Tên chức năng Đăng ký

Trước khi sử dụng hệ thống, người dùng cần thực hiện đăng ký bằng số điện thoại hoặc tài khoản Facebook để đăng nhập.

Dòng sử kiện chính Nhập đầy đủ thông tin

Liên kết với tài khoản facebook

Dòng sự kiện khác Không thể đăng kí tài khoản

Nguyên nhân : không thể kết nối đến server

Trạng thái hệ thống trước khi thực hiện usecase

Actor: người dùng Điều kiện: không có

Trạng thái hệ thống sau khi thực hiện use case Đăng ký thành công và quay về trang chủ

Các yêu câu đặc biệt Không có

Bảng 2 Đặc tả use case Đăng ký

3.3.2 Đặc tả use-case “Đăng nhập”

Tên chức năng Đăng nhập

Tóm tắt Đăng nhập vào hệ thống để giao tiếp với hệ thống không ràng buộc

Dòng sử kiện chính Người dùng đăng nhập vào On My Way

Người dùng nhấn đăng nhập để tiến hành đăng nhập vào hệ thống

Dòng sự kiện khác Không thể đăng nhập

• Không thể kết nối đến server

• Người dùng chưa đăng ký tài khoản

• Sai mật khẩu hoặc tài khoản,số điện thoại

Trạng thái hệ thống trước khi thực hiện usecase

Actor: tất cả actor Điều kiện: không có

Trạng thái hệ thống sau khi thực hiện use case

Người dùng đăng nhập thành công, chuyển qua màn hình trang chủ

Người dùng đăng nhập thất bại sẽ nhận thông báo đăng nhập thất bại

Các yêu câu đặc biệt Không có

Bảng 3 Đặc tả use case đăng nhập

3.3.3 Đặc tả use-case “Xem bài đăng”

Tên chức năng Xem bài đăng

Tóm tắt Người dung sau khi đăng nhập có quyền xem tất cả bài đăng

Dòng sử kiện chính Người dùng đăng nhập

Sau khi đăng thành công người có thể xem các bài đăng về tình trang giao thông của người dùng khác trên trang bài đăng

Dòng sự kiện khác Không thể xem bài viết

Không thể cập nhập danh sách các bài đăng Nguyên nhân :

Trạng thái hệ thống trước khi thực hiện usecase

Actor: người dùng Điều kiện: không có

Trạng thái hệ thống sau khi thực hiện use case

Sau khi cập nhập các bài đăng thành công, tất cả bài đăng sẽ được hiển thị trên trang bài đăng

Các yêu câu đặc biệt Không có

Bảng 4 Đặc tả use case Xem bài đăng

3.3.4 Đặc tả use-case “Bình luận bài đăng”

Tên chức năng Bình luận bài đăng

Tóm tắt Người dùng sau khi đăng nhập có quyền bình luận các bài đăng

Dòng sử kiện chính Truy cập vào trang bài đăng

Dòng sự kiện khác Không thể bình luận được bài đăng

Trạng thái hệ thống trước khi thực hiện usecase

Actor: người dùng Điều kiện: không có

Trạng thái hệ thống sau khi thực hiện use case

Bình luận của người dùng sẽ hiện kèm trên bài đăng của người khác

Các yêu câu đặc biệt Không có

Bảng 5 Đặc tả use case Bình luận bài đăng

3.3.5 Đặc tả use-case “Xem bản đồ”

Tên chức năng Xem bản đồ

Tóm tắt Xem bản đồ vị trí chi tiết và tình trạng giao thông

Dòng sử kiện chính Người dùng đăng nhập bằng số điện thoại hoặc thông qua facebook

Sau khi click vào icon location trên bất kì bài đăng nào sẽ được chuyển qua màn hình bản đồ chi tiết vị trí

Dòng sự kiện khác Không thể xem bản đồ

Nguyên nhân : không thể kết nối đến server

Trạng thái hệ thống trước khi thực hiện usecase

Actor: người dùng Điều kiện: không có

Trạng thái hệ thống sau khi thực hiện use case

Xem được vị trí chi tiết trên bản đồ

Các yêu câu đặc biệt Không có

Bảng 6 Đặc tả use case Xem bản đồ

3.3.6 Đặc tả use-case “Tạo bài đăng”

Tên chức năng Tạo bài đăng

Tóm tắt Tạo bài đăng mới lên trag bài đăng

Dòng sử kiện chính Chọn icon tạo bài đăng mới

Chuyển sang màn hình tạo bài đăng bao gồm thông tin , tình trạng giao thông kèm vị trí và hình ảnh

Dòng sự kiện khác Không thể tạo bài đăng

Nguyên nhân : không thể kết nối đến server

Không thể chọn vị trí Nguyên nhân: Chưa mở location trên máy

Trạng thái hệ thống trước khi thực hiện usecase

Actor: người dùng Điều kiện: không có

Trạng thái hệ thống sau khi thực hiện use case

Tạo bài đăng thành công Bài đăng xuất hiện trên trang bài đăng

Các yêu câu đặc biệt Không có

Bảng 7 Đặc tả use case Tạo bài đăng

3.3.7 Đặc tả use-case “Xem hồ sơ”

Tên chức năng Xem hồ sơ

Tóm tắt Hiển thị hồ sơ lịch sử các bài đăng của người dùng

Chọn hồ sơ người dùng từ menu drawer hoặc nhấn vào avatar để hiển thị thông tin cơ bản của họ.

• Tất cả bài đăng đã được đăng thành công , vị trí , bình luận

Dòng sự kiện khác Không thể truy xuất

Nguyên nhân : không thể kết nối đến server

Trạng thái hệ thống trước khi thực hiện usecase

Actor: người dùng Điều kiện: không có

Trạng thái hệ thống sau khi thực hiện use case

Hiển thị đầy đủ hồ sơ bài đăng của người dùng

Các yêu câu đặc biệt Không có

Bảng 8 Đặc tả use case Xem hồ sơ

3.3.8 Đặc tả use-case “Xem tin tức”

Tên chức năng Xem tin tức giao thông

Tóm tắt Xem các bài đăng tin tức được cập nhật liên tục từ trang VOV giao thông

Dòng sử kiện chính Chọn trang tin tức sau đó màn hình sẽ chuyển qua trang tin tức cho người dùng

Dòng sự kiện khác Không thể truy xuất

Nguyên nhân : không thể kết nối đến server

Trạng thái hệ thống trước khi thực hiện usecase

Actor: người dùng Điều kiện: không có

Trạng thái hệ thống sau khi thực hiện use case

Hiển thị đầy đủ tin tức từ trang VOV giao thông

Các yêu câu đặc biệt Không có

Bảng 9 Đặc tả use case Xem tin tức

3.3.9 Đặc tả use-case “Đánh giá người dùng ”

Tên chức năng Đánh giá user

Tóm tắt Đánh giá user qua comment và sao

Dòng sử kiện chính Chọn bình luận một bài viết và tiến hành comment sau đó đánh giá bài viết, tối đa 5 sao

Dòng sự kiện khác Không thể truy xuất

Nguyên nhân : không thể kết nối đến server

Trạng thái hệ thống trước khi thực hiện usecase

Actor: người dùng Điều kiện: không có

Trạng thái hệ thống sau khi thực hiện use case

Hệ thống cập nhật lại Rating cho bài viết và người dùng vừa được đánh giá

Các yêu câu đặc biệt Không có

Bảng 10 Đặc tả use case Đánh giá người dùng

3.3.10 Đặc tả use-case “Quét tình trạng và tuyến đường xung quanh”

Tên chức năng Quét tình trạng và tuyến đường xunh quanh

Tóm tắt Quét tình trạng giao thông kèm theo các tuyến đường tương ứng trong bán kính được user cài đặt

Dòng sử kiện chính Sau khi người dùng chọn chức năng, hệ thống sẽ quét và đưa ra giao diện map view, khoanh vùng khu vực theo bán kính

39 người dùng cài đặt kèm theo mức độ của tình trạng giao thông và khung thời gian cũng do người dùng tùy chỉnh

Dòng sự kiện khác Không thể truy xuất

Nguyên nhân : không thể kết nối đến server

Trạng thái hệ thống trước khi thực hiện usecase

Actor: người dùng Điều kiện: Người dùng đã tùy chỉnh bán kính quét, mức độ tình trạng giao thông và khung thời gian

Trạng thái hệ thống sau khi thực hiện use case

Hệ thống hiển thị các vị trí giao thông thu thập được, cho phép người dùng tùy chỉnh và lựa chọn tuyến đường đến đó Các tuyến đường được phân loại theo màu sắc, tương ứng với mức độ giao thông khác nhau.

Các yêu câu đặc biệt Không có

Bảng 11 Đặc tả use case Quét trình trạng và tuyến đường xung quanh

PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

Thiết kế dữ liệu

4.1.1 Mô tả các thành phần có trong cơ sở dữ liệu

STT Tên thuộc tính Kiểu dữ liệu Ghi chú

1 KeyID String ID của mỗi bài viết Là unique trong hệ thống và là cha của các thuộc tính trong UsersList

STT Tên thuộc tính Kiểu dữ liệu Ghi chú

1 CommentList String Là thuộc tính cha chứa các thuộc tính con của một comment

2 Date String Ngày giờ tháng năm của bài viết được đăng

3 Image String Avatar của người đăng bài viết

4 Name String Tên của người đăng bài viết

5 Latitude String Vĩ độ của vị trí

6 Longtitude String Kinh độ của vị trí

7 Level String Các cấp độ đại diện cho tình trạng giao thông

8 key String Lưu key của UserList nhằm có thể định vị được path cho các thuộc tính sau

9 Content String Nội dung của bài viết

10 TotalRating String Rating của bài viết

11 ID String ID của user đăng bài viết

STT Tên thuộc tính Kiểu dữ liệu Ghi chú

1 keyComment String ID của mỗi comment Là unique và là thuộc tính cha chứa các thuộc tính con của một comment

STT Tên thuộc tính Kiểu dữ liệu Ghi chú

1 Comment String Nội dung của comment

2 Date String Ngày giờ tháng năm đăng comment

3 Image String Avatar của người đăng comment

4 Name String Tên của người đăng comment

5 RateNumber String Đánh giá của người dùng cho bài viết Bảng 15 Key Comment

STT Tên thuộc tính Kiểu dữ liệu Ghi chú

1 KeyID String ID của mỗi setting được lưu theo ID user Là unique và là thuộc tính cha chứa các thuộc tính con của một setting

STT Tên thuộc tính Kiểu dữ liệu Ghi chú

1 Distance String Bán kính user cài đặt

2 TimeStamp String Mốc thời gian user cài đặt

3 UserRating String Rating tổng của user đó

4 WarningLevel String Mức độ cảnh báo user cài đặt Bảng 17 Key Distance

Thiết kế kiến trúc

Hình 11 Sơ đồ thiết kế kiến trúc

Hệ thống bao gồm các thành phần và tương giác giữa chúng như sau:

• Người dùng sử dụng ứng dụng trên android cài ứng dụng On My Way, khi người dùng cần request data thì gọi tới API và các action tương ứng

• Server sẽ xử lý request từ người dùng và kết hợp với database để trả về kết quả xử lý cho người dùng

• Realtime Database Firebase chịu trách nhiệm lưu trữ dữ liệu cho ứng dụng

Hình 12 Hình Sơ đồ cấu trúc thư mục

Là nơi chứa các thư viện được cài đặt trong project, có đến gần 800 thư viện được cài đặt và sử dụng

Hình 13 Hình danh sách một số thư viện được sử dụng trong project

Hình 4.3 – Hình danh sách một số thư viện được sử dụng trong project

1 React-native-maps Hiển thị map

Vẽ các tuyến đường trên map

3 React-native-ratings Đánh giá sao

4 React navigation Hỗ trợ chuyển các màn hình

5 moment Hỗ trợ chuyển đổi thời gian

6 Expo vector-icons Các icon của expo cung cấp

7 Expo-facebook Tạo các kết nối đến facebook

8 Expo-location Lấy thông tin vị trí

Bảng 18 Một số thư viện chính

Tập hợp các hình ảnh và hiệu ứng dùng trong ứng dụng

Hình 14 Hình Danh sách assets

1 Diamond_user Khung user kim cương

2 Golden_user Khung user vàng

3 Platinum_user Khung user bạch kim

5 Victory Khung user cơ bản

6 Loadinganimation.json Hiệu ứng load

Giao diện và nghiệp vụ tương tác với dữ liệu trong hệ quản trị cơ sở dữ liệu Firebase bao gồm các chức năng xử lý như kết nối cơ sở dữ liệu, truy vấn dữ liệu, cũng như thực hiện các thao tác thêm, xóa, sửa dữ liệu và áp dụng các thuật toán xử lý khác nhau.

Hình 15 Hình Danh sách screen

STT Phương thức Tên Mô tả

1 Login Screen Chứa các phương thức signup và login

2 Main Screen Vẽ lên list bài viết dựa theo listitem, chứa các button đi đến các chức năng khác

3 List Items Là các khung bài viết đơn lẻ, chứa các phương thức thêm, xóa, sửa, thả tim, rating bài viết

4 Menu Drawer Thanh tác vụ bên cạnh chứa các setting của người dùng

Giao diện viết bài, chứa các tiện ích như chọn vị trí, chụp ảnh, thêm ảnh, chọn mức độ cảnh bảo

Giao diện hiển thị từ list comment, có phương thức rating

7 List Comment Load từng item comment, chứa phương thức delete

Profile của người dùng, hiển thị các bài post của họ và chứa các phương thức tính rating và phân hạng cho người dùng

9 View Map Hiển thị map và địa điểm đính kèm theo bài viết, chứa phương thức chọn địa điểm tùy biến

Giao diện bản đồ hiển thị khi người dùng chọn tính năng quét khu vực, tích hợp các thuật toán tìm đường và khoanh vùng, đồng thời hiển thị các địa điểm phù hợp với cài đặt của người dùng.

11 News Screen Giao diện đọc tin tức, được fetch từ trang VOV giao thông

Bảng 20 Danh sách phương thức trong các screen

Thiết kế giao diện

4.3.1 Sơ đồ chi tiết giao diện

Hình 16 Sơ đồ giao diện

4.3.2 Danh sách các màn hình

STT Tên màn hình Ghi chú

1 Đăng ký Người dùng thực hiện đăng ký theo form hướng dẩn của màn hình

2 Đăng nhập Màn hình hiện nơi đăng nhập cho người dùng

3 Trang chủ Màn hình hiển thị tìm danh sách các bài viết, 2 tab màn hình danh sách bài đăng và tin tức mới

Có những chức năng chính như:

• Vào trang hiển danh sách các bài đăng

• Vào trang hồ sơ cá nhân

• Vào trang tạo bài viết mới

• Xem bản đồ chi tiết

Hiển thị thông tin cơ bản của hệ thống

4 Trang hồ sơ cá nhân Màn hình hiển thị thông tin các bài viết cuủ người dụng khác bao gồm

5 Trang đăng bài mới Màn hình đăng bài tình trạng giao thông bao gồm

6 Bản đồ Màn hình bản đồ chi tiết bao gồm

7 Tin tức Màn hình hiển thị đầy đủ thông tin giao thông được cập nhật từ trang VOV giao thông Việt Nam

8 Trang bình luận, đánh giá bài viết

Màn hình trang comment, đánh giá bài viết bao gồm

9 Quét tình trạng giao thông trong khu vực

Màn hình quét tình trạng giao thông trong khu vực bao gồm

• Đường biên giới hạn bán kính

• Các tuyến đường phân biệt theo màu tương ứng với mức độ của tình trạng giao thông

• Các địa điểm được đánh dấu

• Filter tuyến đường theo 3 hình thức di chuyển: Ô tô, đi bộ, xe đạp

Bảng 21 Danh sách màn hình

4.3.3 Mô tả chi tiết giao diện

Nội dung: Đăng ký thông tin người dùng trước khi thao tác với hệ thống

Hình 17 Giao diện đăng nhập bằng sdt

STT Tên đối tượng Kiểu Nội dung xử lý

1 Edt Phone EditText Nhập số điện thoại

2 Btn Signup Button Click để đăng ký tài khoản

Bảng 22 Giao diện đăng nhập bằng sdt

STT Tên đối tượng Kiểu Nội dung xử lý

1 Edt Phone EditText Nhập vào số điện thoại

2 Edt Password EditText Nhập vào mật khẩu

3 Đăng nhập Button Click vào sẽ đăng nhập vào hệ thống và chuyển sang trang chủ

4 Đăng kí Button Click vào sẽ chuyển sang trang đăng kí Bảng 23 Giao diện đăng nhập, đăng kýHình 18 Giao diện đăng nhập, đăng ký

4.3.3.3 Màn hình trang chủ Home

Nội dung: Dùng để hiển thị trang chủ, hiển thị bài viết

Hình 19 Giao diện trang chủ

62 Hình 20 Giao diện trang chủ

STT Tên đối tượng Kiểu Nội dung xử lý

1 Image Avatar Image Hiển thị hình ảnh của người dùng

2 Button News Post Button Click vào sẽ chuyển sang trang tạo bài đăng mới

3 Button Comment Button Click vào sẽ chuyển sang trang bình luận cho bài đăng

4 Button Edit Text Click vào nội dung sẽ chuyển sang trang edit bài viết

5 Button Delete Button Click vào sẽ xóa bài viết của chính mình

6 Button Like Button Click vào sẽ like bài đăng của người dùng khác

7 Button Location Button Click vào sẽ chuyển sang trang bản đồ chi tiết của bài đăng

8 Button Quét Button Click vào sẽ tiển hánh quét trình trạng giao thông trong khu vực và chuyển sang trang bản đồ mới

Bảng 24 Giao diện trang chủ

4.3.3.4 Màn hình tạo bài viết mới

Nội dung: người dùng tạo bài viết mới lên danh sách bài đăng

Hình 21 Giao diện đăng bài viết

STT Tên đối tượng Kiểu Nội dung xử lý

1 Image Avatar Image Hiển thị hình ảnh của người dùng

Button Click vào sẽ chuyển sang màn hình chụp hình

Button Click vào sẽ chuyển sang trang chọn hình ảnh từ thư viện máy

ListItem Click vào sẽ lựa chọn tình trạng giao thông

5 Button Location Button Click vào sẽ chuyển sang trang bản đồ chi tiết của bài đăng

6 Tab Home Tab Click vào sẽ hiển thị trang các bài đăng

7 Tab News Tab Click vào sẽ chuyển sang trang tin tức giao thông

8 DrawerMenu Button Chuyển vào trang hồ sơ của người dùng

9 Log Out Button Chuyển ra trang đăng nhập

10 Post Button Click vào sẽ đăng bài

Bảng 25 Giao diện tạo bài viết

Hình 22 Giao diện map view

STT Tên đối tượng Kiểu Nội dung xử lý

1 Tab Home Tab Click vào sẽ hiển thị trang các bài đăng

2 Tab News Tab Click vào sẽ chuyển sang trang tin tức giao thông

3 Save Button Lưu vị trí giao thông lên bản đồ

4 Back Button Chuyển ra trang chủ

Bảng 26 Giao diện map view

Hình 23 Giao diện thông tin cá nhân – hạng Kim cương

69 Hình 24 Giao diện thông tin cá nhân – hạng Bạch kim

70 Hình 25 Giao diện thông tin cá nhân – hạng Vàng

71 Hình 26 Giao diện thông tin cá nhân – hạng Newbie (tân binh)

STT Tên đối tượng Kiểu Nội dung xử lý

1 Image Avatar Image Hiển thị hình ảnh của người dùng

2 Button News Post Button Click vào sẽ chuyển sang trang tạo bài đăng mới

3 Button Comment Button Click vào sẽ chuyển sang trang bình luận cho bài đăng

4 Button Like Button Click vào sẽ like bài đăng của người dùng khác

5 Button Location Button Click vào sẽ chuyển sang trang bản đồ chi tiết của bài đăng

6 Tab Home Tab Click vào sẽ hiển thị trang các bài đăng

7 Tab News Tab Click vào sẽ chuyển sang trang tin tức giao thông

8 DrawerMenu Button Chuyển vào trang hồ sơ của người dùng

9 Log Out Button Chuyển ra trang đăng nhập

10 Delete Button Delete bài viết của người dùng hiện tại Bảng 27 Giao diện hồ sơ

4.3.3.7 Màn hình xem tin tức

Hình 28 Giao diện tin tức VOV

4.3.3.8 Màn hình bình luận, đánh giá

Hình 27 Giao diện tin tức VOV

74 Hình 29 Giao diện bình luận - đánh giá

STT Tên đối tượng Kiểu Nội dung xử lý

1 Image Avatar Image Hiển thị hình ảnh của người dùng

2 Button News Post Button Click vào sẽ chuyển sang trang tạo bài đăng mới

3 Button Post Comment Button Click vào sẽ chuyển sang trang bình luận cho bài đăng

4 Tab Home Tab Click vào sẽ hiển thị trang các bài đăng

5 Tab News Tab Click vào sẽ chuyển sang trang tin tức giao thông

6 DrawerMenu Button Chuyển vào trang hồ sơ của người dùng

7 Delete Button Delete bài viết của người dùng hiện tại

8 Rating Button Click vào sẽ hiển thị số sao đang chọn

Bảng 28 Giao diện bình luận – đánh giá

4.3.3.9 Màn hình quét tình trạng giao thông trong khu vực

76 Hình 30 Giao diện bản đồ hiển thị tình trạng giao thông kèm tuyến đường

STT Tên đối tượng Kiểu Nội dung xử lý

Thay đổi các lựa chọn tuyến đường theo phương tiện

2 Marker Marker Click vào sẽ hiện lên trạng thái tuyến đường

3 Tab Home Tab Click vào sẽ hiển thị trang các bài đăng

4 Tab News Tab Click vào sẽ chuyển sang trang tin tức giao thông

5 Direction Line Hiển thị các tuyến đường theo màu sắc ứng với các tình trạng hiện tại như kẹt xe, ngập lụt,…

Bảng 29 Giao diện bản đồ hiển thị tình trạng giao thông kèm tuyến đường

Ngày đăng: 05/09/2021, 20:48

HÌNH ẢNH LIÊN QUAN

Hình 1. GoogleMap Hình 1.1 – Google Map  - KHÓA LUẬN tốt NGHIỆP tìm HIỂU và xây DỰNG ỨNG DỤNG CHIA sẻ và CẢNH báo THÔNG TIN GIAO THÔNG
Hình 1. GoogleMap Hình 1.1 – Google Map (Trang 27)
Hình 2. VOV App - KHÓA LUẬN tốt NGHIỆP tìm HIỂU và xây DỰNG ỨNG DỤNG CHIA sẻ và CẢNH báo THÔNG TIN GIAO THÔNG
Hình 2. VOV App (Trang 28)
Hình 4. TTGT-TPHCM App - KHÓA LUẬN tốt NGHIỆP tìm HIỂU và xây DỰNG ỨNG DỤNG CHIA sẻ và CẢNH báo THÔNG TIN GIAO THÔNG
Hình 4. TTGT-TPHCM App (Trang 31)
Hình 7. Mobile App Technology Stacks - KHÓA LUẬN tốt NGHIỆP tìm HIỂU và xây DỰNG ỨNG DỤNG CHIA sẻ và CẢNH báo THÔNG TIN GIAO THÔNG
Hình 7. Mobile App Technology Stacks (Trang 38)
Bảng 1. Danh sách Actor - KHÓA LUẬN tốt NGHIỆP tìm HIỂU và xây DỰNG ỨNG DỤNG CHIA sẻ và CẢNH báo THÔNG TIN GIAO THÔNG
Bảng 1. Danh sách Actor (Trang 50)
Bảng 2. Đặc tả usecase Đăng ký - KHÓA LUẬN tốt NGHIỆP tìm HIỂU và xây DỰNG ỨNG DỤNG CHIA sẻ và CẢNH báo THÔNG TIN GIAO THÔNG
Bảng 2. Đặc tả usecase Đăng ký (Trang 51)
Bảng 6. Đặc tả usecase Xem bản đồ - KHÓA LUẬN tốt NGHIỆP tìm HIỂU và xây DỰNG ỨNG DỤNG CHIA sẻ và CẢNH báo THÔNG TIN GIAO THÔNG
Bảng 6. Đặc tả usecase Xem bản đồ (Trang 54)
Bảng 7. Đặc tả usecase Tạo bài đăng - KHÓA LUẬN tốt NGHIỆP tìm HIỂU và xây DỰNG ỨNG DỤNG CHIA sẻ và CẢNH báo THÔNG TIN GIAO THÔNG
Bảng 7. Đặc tả usecase Tạo bài đăng (Trang 55)
Dòng sử kiện chính Chọn trang tin tức sau đó màn hình sẽ - KHÓA LUẬN tốt NGHIỆP tìm HIỂU và xây DỰNG ỨNG DỤNG CHIA sẻ và CẢNH báo THÔNG TIN GIAO THÔNG
ng sử kiện chính Chọn trang tin tức sau đó màn hình sẽ (Trang 56)
Bảng 8. Đặc tả usecase Xem hồ sơ - KHÓA LUẬN tốt NGHIỆP tìm HIỂU và xây DỰNG ỨNG DỤNG CHIA sẻ và CẢNH báo THÔNG TIN GIAO THÔNG
Bảng 8. Đặc tả usecase Xem hồ sơ (Trang 56)
Bảng 10.Đặc tả usecase Đánh giá người dùng - KHÓA LUẬN tốt NGHIỆP tìm HIỂU và xây DỰNG ỨNG DỤNG CHIA sẻ và CẢNH báo THÔNG TIN GIAO THÔNG
Bảng 10. Đặc tả usecase Đánh giá người dùng (Trang 57)
Hình 12. Hình Sơ đồ cấu trúc thư mục - KHÓA LUẬN tốt NGHIỆP tìm HIỂU và xây DỰNG ỨNG DỤNG CHIA sẻ và CẢNH báo THÔNG TIN GIAO THÔNG
Hình 12. Hình Sơ đồ cấu trúc thư mục (Trang 65)
Hình 4.3 – Hình danh sách một số thư viện được sử dụng trong project - KHÓA LUẬN tốt NGHIỆP tìm HIỂU và xây DỰNG ỨNG DỤNG CHIA sẻ và CẢNH báo THÔNG TIN GIAO THÔNG
Hình 4.3 – Hình danh sách một số thư viện được sử dụng trong project (Trang 67)
4 traffic Hình nền app - KHÓA LUẬN tốt NGHIỆP tìm HIỂU và xây DỰNG ỨNG DỤNG CHIA sẻ và CẢNH báo THÔNG TIN GIAO THÔNG
4 traffic Hình nền app (Trang 68)
Hình 15. Hình Danh sách screen - KHÓA LUẬN tốt NGHIỆP tìm HIỂU và xây DỰNG ỨNG DỤNG CHIA sẻ và CẢNH báo THÔNG TIN GIAO THÔNG
Hình 15. Hình Danh sách screen (Trang 68)
Bảng 20. Danh sách phương thức trong các screen - KHÓA LUẬN tốt NGHIỆP tìm HIỂU và xây DỰNG ỨNG DỤNG CHIA sẻ và CẢNH báo THÔNG TIN GIAO THÔNG
Bảng 20. Danh sách phương thức trong các screen (Trang 74)
Hình 16. Sơ đồ giao diện - KHÓA LUẬN tốt NGHIỆP tìm HIỂU và xây DỰNG ỨNG DỤNG CHIA sẻ và CẢNH báo THÔNG TIN GIAO THÔNG
Hình 16. Sơ đồ giao diện (Trang 75)
4.3.2. Danh sách các màn hình - KHÓA LUẬN tốt NGHIỆP tìm HIỂU và xây DỰNG ỨNG DỤNG CHIA sẻ và CẢNH báo THÔNG TIN GIAO THÔNG
4.3.2. Danh sách các màn hình (Trang 75)
4.3.3.3. Màn hình trang chủ Home - KHÓA LUẬN tốt NGHIỆP tìm HIỂU và xây DỰNG ỨNG DỤNG CHIA sẻ và CẢNH báo THÔNG TIN GIAO THÔNG
4.3.3.3. Màn hình trang chủ Home (Trang 80)
Hình 20. Giao diện trang chủ - KHÓA LUẬN tốt NGHIỆP tìm HIỂU và xây DỰNG ỨNG DỤNG CHIA sẻ và CẢNH báo THÔNG TIN GIAO THÔNG
Hình 20. Giao diện trang chủ (Trang 81)
Bảng 26. Giao diện map view - KHÓA LUẬN tốt NGHIỆP tìm HIỂU và xây DỰNG ỨNG DỤNG CHIA sẻ và CẢNH báo THÔNG TIN GIAO THÔNG
Bảng 26. Giao diện map view (Trang 86)
4.3.3.6. Màn hình hồ sơ - KHÓA LUẬN tốt NGHIỆP tìm HIỂU và xây DỰNG ỨNG DỤNG CHIA sẻ và CẢNH báo THÔNG TIN GIAO THÔNG
4.3.3.6. Màn hình hồ sơ (Trang 87)
Hình 24. Giao diện thông tin cá nhân – hạng Bạch kim - KHÓA LUẬN tốt NGHIỆP tìm HIỂU và xây DỰNG ỨNG DỤNG CHIA sẻ và CẢNH báo THÔNG TIN GIAO THÔNG
Hình 24. Giao diện thông tin cá nhân – hạng Bạch kim (Trang 88)
4.3.3.7. Màn hình xem tin tức - KHÓA LUẬN tốt NGHIỆP tìm HIỂU và xây DỰNG ỨNG DỤNG CHIA sẻ và CẢNH báo THÔNG TIN GIAO THÔNG
4.3.3.7. Màn hình xem tin tức (Trang 92)
1 Image Avatar Image Hiển thị hình ảnh của người dùng 2 Button News Post Button  Click vào sẽ chuyển sang trang tạo bài  - KHÓA LUẬN tốt NGHIỆP tìm HIỂU và xây DỰNG ỨNG DỤNG CHIA sẻ và CẢNH báo THÔNG TIN GIAO THÔNG
1 Image Avatar Image Hiển thị hình ảnh của người dùng 2 Button News Post Button Click vào sẽ chuyển sang trang tạo bài (Trang 94)
Hình 30. Giao diện bản đồ hiển thị tình trạng giao thông kèm tuyến đường - KHÓA LUẬN tốt NGHIỆP tìm HIỂU và xây DỰNG ỨNG DỤNG CHIA sẻ và CẢNH báo THÔNG TIN GIAO THÔNG
Hình 30. Giao diện bản đồ hiển thị tình trạng giao thông kèm tuyến đường (Trang 95)
Bảng 29. Giao diện bản đồ hiển thị tình trạng giao thông kèm tuyến đường - KHÓA LUẬN tốt NGHIỆP tìm HIỂU và xây DỰNG ỨNG DỤNG CHIA sẻ và CẢNH báo THÔNG TIN GIAO THÔNG
Bảng 29. Giao diện bản đồ hiển thị tình trạng giao thông kèm tuyến đường (Trang 96)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w