1. Trang chủ
  2. » Giáo Dục - Đào Tạo

KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG ỨNG DỤNG GIAO HÀNG ONLINE

105 30 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

Định dạng
Số trang 105
Dung lượng 2,04 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nội dung đề tài: • Mục tiêu: • Xây dựng ứng dụng hỗ trợ các tài xế quản lý các đơn hàng.. Cùng với sự phát triển của việc mua sắm online là sự nổi lên của các ứng dụng giao hàng.. Các ứ

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA CÔNG NGHỆ PHẦN MỀM

NGUYỄN PHÚC ĐỨC

LÊ MINH HIẾU

KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG ỨNG DỤNG GIAO HÀNG ONLINE BUILDING AN ONLINE DELIVERY APPLICATION

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

TP HỒ CHÍ MINH, 2021

Trang 2

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA CÔNG NGHỆ PHẦN MỀM

NGUYỄN PHÚC ĐỨC

LÊ MINH HIẾU

KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG ỨNG DỤNG GIAO HÀNG ONLINE BUILDING AN ONLINE DELIVERY APPLICATION

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

TP HỒ CHÍ MINH, 2021

Trang 3

DANH SÁCH HỘI ĐỒNG BẢO VỆ KHÓA LUẬN

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số ……… ngày ……… của Hiệu trưởng Trường Đại học Công nghệ Thông tin

Trang 4

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập – Tự Do – Hanh Phúc

TP.HCM, ngày……tháng……năm……

NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP (CỦA CÁN BỘ HƯỚNG DẪN) Tên khóa luận: XÂY DỰNG ỨNG DỤNG GIAO HÀNG ONLINE

Đánh giá khóa luận:

1 Về cuốn báo cáo:

2 Về Nội dung nghiêng cứu:

Trang 5

3 Về chương trình ứng dụng:

4 Về thái độ làm việc của sinh viên:

Đánh giá chung:

Điểm từng sinh viên:

Người nhận xét

Trang 6

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập – Tự Do – Hanh Phúc

TP.HCM, ngày……tháng……năm……

NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP

(CỦA CÁN BỘ PHẢN BIỆN) Tên khóa luận: XÂY DỰNG ỨNG DỤNG GIAO HÀNG ONLINE

Đánh giá khóa luận:

1 Về cuốn báo cáo:

Số trang: Số chương:

Số bảng số liệu: Số hình vẽ:

Số tài liệu tham khảo: Sản phẩm: _

Một số nhận xét về hình thức cuốn báo cáo:

2 Về Nội dung nghiêng cứu:

Trang 7

3 Về chương trình ứng dụng:

4 Về thái độ làm việc của sinh viên:

Đánh giá chung:

Điểm từng sinh viên:

Người nhận xét

Trang 8

LỜI CẢM ƠN

Sau hơn 4 năm học tập và rèn luyện tại Trường Đại học Công nghệ Thông tin, được sự

tận tình giảng dạy và giúp đỡ của quý thầy cô, đặc biệt là quý thầy cô của khoa Công

nghệ Phần mềm, chúng em đã gặt hái được rất nhiều kiến thức nền tảng bổ ích, có thể

áp dụng vào luận văn cũng như áp dụng trong những chặng đường tiếp theo sau này

Chúng em xin chân thành cảm ơn quý thầy cô của trường Đại học Công nghệ Thông

tin

nói chung, quý thầy cô của khoa Công nghệ Phần mềm nói riêng, và đặc biệt là cô Thái

Thụy Hàn Uyển đã tận tình hướng dẫn và đóng góp ý kiến để chúng em có thể hoàn

thành khóa luận này một cách tốt nhất

Bên cạnh đó, nhóm xin gửi lời cảm ơn đến các bạn cùng lớp đã có những lời góp ý,

động

viên để nhóm có thêm động lực thực hiện khóa luận trong khoảng thời gian khó khăn

này

Trong suốt quá trình chúng em tìm hiểu và thực hiện khóa luận, do đề tài có nhiều

nghiệp vụ phức tạp và đặc thù chuyên ngành kinh tế, thời gian và khả năng có giới hạn

nên chúng em vẫn còn nhiều thiếu sót Do đó, nhóm chúng em rất mong nhận được sự

thông cảm và những ý kiến đóng góp chân thành từ quý thầy cô và các bạn Một lần

nữa, nhóm chúng em xin chân thành cảm ơn mọi người

Thành phố Hồ Chí Minh, tháng 01 năm 2020

Nguyễn Phúc Đức

Lê Minh Hiếu

Trang 9

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập – Tự Do – Hanh Phúc

ĐỀ CƯƠNG CHI TIẾT TÊN ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG GIAO HÀNG ONLINE

Cán bộ hướng dẫn: TS Thái Thị Hàn Uyển

Thời gian thực hiện: Từ ngày 07/09/2020 – 02/01/2021

Sinh viên thực hiện:

Lê Minh Hiếu – 16520390

Nguyễn Phúc Đức – 16520243

1 Nội dung đề tài:

• Mục tiêu:

• Xây dựng ứng dụng hỗ trợ các tài xế quản lý các đơn hàng

• Tối ưu hóa quãng đường di chuyển các tài xế, giảm thời gian chết

• Quản lý các trạng thái đơn hàng Tăng sự tương tác giữa các tài xế và khách hàng

• Hỗ trợ khách hàng theo dõi tình trạng đơn hàng của mình

• Phương pháp thực hiện:

- Tham khảo các nền tảng giao hàng đang có trên thị trường

- Tìm hiểu, lựa chọn công nghệ phù hợp

ĐHQG TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC

CÔNG NGHỆ THÔNG TIN

Trang 10

- Kiểm thử và hoàn thiện

• Kết quả mong đợi:

- Hoàn thành ứng dụng giao hàng nhanh đáp ứng các yêu cầu nghiệp vụ đề ra

- Tạo được sự khác biệt so với các nền tảng hiện có trên thị trường

- Ứng dụng tạo được sự thân thiện với người dùng, dễ sử dụng

2 Kế hoạch thực hiện

1 - Xây dựng cơ sở dữ liệu

- Xác định danh sách các màn hình, phát thảo sơ bộ

1 tuần

Trang 12

Mục lục

CHƯƠNG 1: MỞ ĐẦU: 1

1 Giới thiệu đề tài: 1

2 Lý do chọn đề tài: 2

CHƯƠNG 2: TỔNG QUAN ĐỀ TÀI 3

1 Mục tiêu đề tài: 3

2 Phạm vi thực hiện: 3

3 Phương pháp thực hiện: 3

4 Ý nghĩa thực tiễn: 4

5 Kết quả dự kiến 4

CHƯƠNG 3: CÔNG NGHỆ SỬ DỤNG 6

1 Tổng quan về Laravel framwork 6

1.1 Lịch sử phát triển 6

1.2 Một số đặc điểm nổi bật: 6

1.3 Một số điểm yếu: 10

2 Tổng quan về Vuejs framework 11

2.1 Giới thiệu vuejs 11

2.2 Một số ưu điểm 11

2.3 Một số nhượt điểm 13

3 Tổng quan về react-native framework 13

3.1 Khái niệm và lịch sử hình thành 13

3.2 Ưu điểm react-native 14

- Tiết kiệm nhân lực và thời gian: React-native giúp ta có thể chỉ viết code 1 lần mà có thể chạy trên cả android và ios, chính vì lẽ đó team phát triển của bạn sẽ tiết kiệm được khá nhiều thời gian và nhân lực 14

3.3 Nhượt điểm react-native 14

CHƯƠNG 4: XÂY DỰNG ỨNG DỤNG GIAO HÀNG ONLINE 15

1 Đặt vấn đề 15

2 Hướng giải quyết 15

3 Xác định và phân tích yêu cầu 16

4 Thiết kế cơ sở dữ liệu: 22

5 Thiết kế giao diện và xử lý 37

5.1 Giao diện ứng dụng web 37

Trang 13

5.2 Giao diện mobile 67

CHƯƠNG 5: KẾT LUẬN 91

1 Kết quả đạt được 91

2 Thuận lợi và khó khăn 91

2.1 Thuận lợi 91

2.2 Khó khăn 91

2.3 Hướng phát triển 91

Trang 14

CHƯƠNG 1: MỞ ĐẦU:

1 Giới thiệu đề tài:

- Với sự phát triển của các sàn thương mại điện tử hiện nay, việc mua sắm online trở thành xu thế chung Cùng với sự phát triển của việc mua sắm online là sự nổi lên của các ứng dụng giao hàng Các tài xế giao hàng (shipper) được xem là một nghề nghiệp mới trong xã hội với thu nhập khá cao nhưng cũng không kém phần bấp bênh Hiện nay, mức độ canh tranh giữa các doanh nghiệp chuyển phát rất cao, đặc biệt là ở TP Hồ Chí Minh Cụ thể, tại Hà Nội, số đơn vị thuê

Vietnam Post là 20%, Viettel Post là 52% Giao EMS là 4%, giao hàng nhanh: 10%, giao hàng tiết kiệm: 9%, các DN chuyển phát khác là 10% Tỷ lệ tương ứng ở TP Hồ Chí Minh là 15%, 28%, 10%, 5%, 7% và 43% Mặc dù thị phần đang do khối nội chi phối nhưng trong thời gian qua, nhiều DN nước ngoài đã không ngừng tăng tốc đầu tư vào Việt Nam Trong đó phải kể tới Lalamove (Hong Kong), sau khi có mặt ở 112 thành phố châu Á đã "đổ bộ" vào TP Hồ Chí Minh và Hà Nội Đặc biệt, DN này khẳng định 100% đơn hàng đến nay được giao dưới 55 phút Trước sức hấp dẫn trên, sàn TMĐT Lazada cũng tách

bộ phận giao nhận hàng hóa để thành lập công ty riêng là Lazada Express, sau

đó tiếp tục phát triển hệ sinh thái giao nhận cho TMĐT bằng những cột mốc đầu

tư mạnh dạn cho công ty Lazada E-logistics (LEL) nhằm đáp ứng nhu cầu tăng trưởng của thị trường TMĐT

- Tốc độ tăng trưởng trung bình năm 2018 so với năm 2017 của các DN chuyển phát tham gia khảo sát là 70%, tốc độ tăng trưởng của DN thấp nhất vẫn đạt 30% và có 3 DN đạt tốc độ tăng trưởng trên 100% Các chuyên gia và DN đều cho rằng thời gian tới nhiều DN ngoại sẽ tiếp tục đầu tư tài chính lớn để chiếm lĩnh thị trường giao hàng

Trang 15

- Hàng loạt startup cũng nhảy vào tham chiến lĩnh vực này như Ship 60,

AhaMove, giaohangso1.vn, tochanh vn, Zozoship.vn… CEO của một DN cho rằng sự xuất hiện ngày càng nhiều hơn các DN nước ngoài, với đầu tư lớn và cách làm chuyên nghiệp là dấu hiệu tích cực đối với thị trường nhưng cũng đồng nghĩa các DN Việt Nam sẽ phải cạnh tranh gay gắt hơn

- Để tồn tại trong môi trường cạnh tranh khắc nghiệt hiện nay, một số ứng dụng chấp nhận hoạt động lỗ vốn để chiếm lấy thị phần, bên cạnh đó một số ứng dụng

để tối ưu lợi nhuận đã dùng cách cắt giảm chi phí trả cho các shipper, áp đặt các loại thuế phí một cách vô lý lên tài xế Điều này đã đẩy các tài xế lâm vào tình cảnh đã khó khăn nay càng khó khăn hơn

2 Lý do chọn đề tài:

- Shipper giờ đây có thể xem là một công việc kiếm thêm của các học sinh, sinh viên Bản thân bọn em cũng có khá nhiều người bạn làm công việc vận chuyển hàng hóa cho các công ty kể trên Sau khi tham khảo qua các ứng dụng hiện có trên thị trường, nhận thấy sự chèn ép của các ứng dụng đối với tài xế Các ứng dụng thường dùng sức mạnh công nghệ của mình chèn ép trong việc giao đơn cho các tài xế

- Bên cạnh đó, giao diện của một số ứng dụng tỏ ra quá rườm rà Điều này dẫn đến một số tài xế lớn tuổi khó tiếp cận ứng dụng

- Chính vì những lý do trên, chúng em quyết định xây dựng một nền tảng giao hàng mới với tiêu chí đơn giản, dễ sử dụng, chú trọng hơn vào các đối tác tài xế

Trang 16

CHƯƠNG 2: TỔNG QUAN ĐỀ TÀI

- Xây dựng kiến trúc cơ sở dữ liệu cho phù hợp với bài toán đặt ra

- Tìm hiểu về ngôn ngữ PHP là framework laravel, xây dựng back-end ứng dụng trên nền tảng laravel framework

- Tìm hiểu về framework xây dựng ứng dụng mobile đa nền tảng react-native

- Tìm hiểu về Vuejs và single page application trong vuejs

- Giúp tài xế quản lý doanh thu mỗi tháng

- Quản lý lịch sử đơn hàng và ngày giao hàng mong muốn của từng tài xế

- Giúp tài xế tối ưu quản đường di chuyển

3 Phương pháp thực hiện:

Thực hiện đề tài theo các bước:

- Xác định tính thực tiễn của ứng dụng đối với đời sống hằng ngày

- Tham khảo các ứng dụng hiện có trên thị trường

- Phân tích ứng dụng, xác định điểm mạnh, yếu của các ứng dụng tương tự trên thị trường

- Xây dựng quy trình nghiệp vụ cơ bản cho ứng dụng

Trang 17

- Nghiêng cứu, chọn công nghệ phù hợp để xây dựng ứng dụng

- Phát triển sản phẩm, rà soát và cải tiến quy trình, nghiệp vụ

- Kiểm thử và hoàn thiện

Những công nghệ sử dụng:

- Back-end:

o PHP và laravel framework

o Hệ cơ sở dữ liệu mysql

o Cloud Messing của Firebase

- Giúp các tài xế yếu công nghệ dễ tiếp cận với ứng dụng hơn

- Tối ưu lợi nhuận cũng như quản đường di chuyển cho các tài xế

- Góp phần tăng tính cạnh tranh cho các ứng dụng khác

- Đẩy mạnh việc mua sắm online trong tình hình Covid phức tạp

5 Kết quả dự kiến

- Nắm được điểm mạnh, điểm yếu của các ứng dụng giao hàng hiện tại có mặt trên thị trường

Trang 18

o Quản lý được danh sách các đơn hàng

o Quản lý thu nhập trong tháng của tài xế

o Đáng giá được độ chuyên cần của một tài xế

o Cân bằng doanh thu giữa các tài xế

- Đối với Admin quản lý tài xế:

o Quản lý được thông tin, theo dõi tình trạng hoạt động của các tài xế

o Thống kê số liệu theo dõi doanh thu

o Thông tin dễ dàng đến các tài xế thông qua chức năng push notification

o Linh động cấm (hủy cấm) các tài xế vi phạm nguyên tắc hoạt động ứng dụng

Trang 19

- Cho đến thời điểm hiện tại laravel đã phát hành version 8.0 với nhiều điểm cải tiến về tính bảo mật

1.2 Một số đặc điểm nổi bật:

- Dễ dàng sử dụng

o Lý do đầu tiên khiến Laravel nhanh chóng được cộng đồng đón nhận

và sử dụng nhiều là do nó rất dễ để có thể sử dụng Ngay cả khi bạn chỉ mới chỉ có những kiến thức cơ bản nhất về lập trình web với PHP

thì việc bắt đầu sử dụng Laravel cũng chỉ mất vài giờ là bạn có thể

bắt tay vào việc làm một project nhỏ

o Document mà Laravel cung cấp trên trang chủ của mình được viết rất

rõ ràng và dể hiểu giúp cho bạn nhanh chóng có thể tìm được những

Trang 20

theo các mẫu khác nhau như Model, Controller, Event từ đó rút ngắn được thời gian và tăng năng suất công việc

-

- Các tính năng dựng sẵn

o Bản thân Laravel đã cung cấp cho người dùng rất nhiều các nhóm

tính năng giúp quá trình phát triển trở nên nhanh chóng hơn rất nhiều lần

o Chỉ với một câu lệnh đơn giản:

$ php artisan make:auth

là bạn đã dựng được cho mình toàn bộ các tính năng như đăng nhập, đăng xuất, đăng kí, quên mật khẩu mà không tốn công code một dòng nào cả Tất nhiên bạn cũng có thể tự mình chỉnh sửa lại logic sao cho hợp với nhu cầu sử dụng cá nhân

- Xây dựng theo mô hình MVC: Laravel được xây dựng và phát triển theo mô

hình MVC (Model-View-Controller) nhờ đó mà cấu trúc và cách tổ chức code trong project được sắp xếp một cách hợp lý dễ dàng cho việc maintain cũng như phát triển về lâu dài

Trang 22

- Các tính năng bảo mật: Để giúp lập trình viên có thể tối đa thời gian tập

chung vào việc phát triển các tính năng, Laravel đã cung cấp sẵn cho người

dùng các tính năng bảo mật cơ bản như:

o ORM của Laravel sử dụng PDO thay vì mysqli để chống lại tấn công

SQL Injection

o Laravel sử dụng một field token ẩn để chống lại tấn công kiểu CSRF

o Các biến được đưa ra view mặc định đều được Laravel escape để

tránh tấn công XSS

- Blade template: Ở phần view, Laravel cung cấp sẵn cho người dùng

một template enigine có tên là blade, giúp người dùng có thể sử dụng code

php bên trong file giao diện của mình một cách thuật lợi và không bị rối mắt như sử dụng cặp thẻ <?php ?> thông thường

Trang 23

1.3 Một số điểm yếu:

- So với các PHP framework khác, laravel tỏ ra khá ít điểm yếu Vấn đề lớn nhất có thể kể đến của framework này là thiếu sự liên kết giữa các phiên bản, nếu cố cập nhật code, có thể khiến cho ứng dụng bị gián đoạn hoặc phá vỡ

- Laravel đòi hỏi PHP version gần như mới mất ứng với từng phiên bản

- Bên cạnh đó, Lavarel cũng quá nặng cho ứng dụng di động, khiến việc tải trang trở nên chậm chạp

Trang 24

2 Tổng quan về Vuejs framework

2.1 Giới thiệu vuejs

- Vue.js là một framework linh động (nguyên bản tiếng Anh: progressive –

tiệm tiến) dùng để xây dựng giao diện người dùng (user interfaces)

- Khác với các framework nguyên khối (monolithic), Vue được thiết kế từ đầu theo hướng cho phép và khuyến khích việc phát triển ứng dụng theo từng bước Khi phát triển lớp giao diện (view layer), người dùng chỉ cần dùng thư viện lõi (core library) của Vue, vốn rất dễ học và tích hợp với các thư viện hoặc dự án có sẵn

- Vuejs cũng có thể dễ dàng kết hợp với những kĩ thuật hiện đại như SFC (single file components), Vue cũng đáp ứng được dễ dàng nhu cầu xây dựng

những ứng dụng một trang (SPA - Single-Page Applications) với độ phức tạp cao hơn nhiều

2.2 Một số ưu điểm

a Kích thước nhỏ gọn

- Tỷ lệ thành công của JavaScript framework sẽ phụ thuộc vào kích thước của

nó Kích thước càng nhỏ thì công năng sử dụng càng nhiều Kích thước của vue.js framework là 18–21KB, người dùng sẽ không mất thời gian để tải xuống và sử dụng Tuy nhiên, điều này không có nghĩa là tốc độ chạy của vue.js thấp do kích thước nhỏ Thay vào đó, vue.js đánh bại tất cả các khung công tác cồng kềnh như React.js, Angular.js và Ember.js

Trang 25

người dùng cũng có thể dễ dàng tìm ra các khu vực lỗi Tất cả là nhờ cấu trúc đơn giản của vue.js.

c Tích hợp đơn giản

- Vue.js cũng là phần mềm được các web developer sử dụng khá phổ biến nhờ

dễ dàng trong quá trình tích hợp với các ứng dụng hiện có Sự tiện lợi này xuất phát từ vue.js được xây dựng dựa trên JavaScript framework và do đó,

có thể tích hợp được vào các ứng dụng khác xây dựng trên JavaScript tương đối đơn giản Như vậy, vue.js sẽ rất hữu ích cho các công việc như phát triển các ứng dụng web mới và thay đổi các ứng dụng đã có từ trước đó Có được khả năng tích hợp này là nhờ Vue.js có tất cả các yếu tố sẵn sàng

d Tài liệu chi tiết

- Các developer thường ưa chuộng việc có các tài liệu chi tiết để sử dụng cùng framework vì điều này sẽ giúp cho việc viết các ứng dụng đầu tiên dễ dàng hơn Tài liệu về Vue.js thực sự toàn diện đến nỗi bất kỳ người dùng nào chỉ cần biết một chút về JavaScript và HTML đều có thể phát triển ứng dụng hoặc trang web của riêng mình trên đó

e Sử dụng mô hình MVVM

- Vue.js cũng hỗ trợ việc giao tiếp hai chiều nhờ kiến trúc MVVM khá dễ dàng trong việc xử lý các HTML block

Trang 26

2.3 Một số nhượt điểm

- Mới ra đời, cộng đồng chưa lớn: So với các javascript framework khác, vuejs còn khá non trẻ, do vậy cộng đồng chưa lớn bằng các framework khác

- Thư viện chưa nhiều, một số chức năng phải tự implement

3 Tổng quan về react-native framework

3.1 Khái niệm và lịch sử hình thành

- React-native là một framework cho phép xây dựng ứng dụng di động trên cả android

và ios chỉ với một ngôn ngữ thống nhất là javascript nhưng mang lại trải nghiệm native app thực sự Không như các framework hybrid khác, react-native tập trung vào việc một lập trình viên làm việc hiệu quả trên môi trường đa nền tảng như thế nào

- React-native là một framework được phát triển bởi facebook và cộng đồng

- React-native được facebook phát hành bản đầu tiên vào năm 2015

Trang 27

3.2 Ưu điểm react-native

- Tiết kiệm nhân lực và thời gian: React-native giúp ta có thể chỉ viết code 1 lần mà có thể chạy trên cả android và ios, chính vì lẽ đó team phát triển của bạn sẽ tiết kiệm được khá nhiều thời gian và nhân lực

- Cộng đồng khá lớn: React-native được sự hậu thuẫn của facebook, và với một cộng đồng khá lớn cùng chung tay phát triển thì tương lai nó sẽ còn lớn mạnh hơn nữa Các vấn đề bạn gặp phải có thể dễ dàng tìm kiếm phương pháp giải quyết từ cộng đồng

- Kiến thức nền để tiếp cận: Nó không đòi hỏi bạn phải thật giỏi hay quá cao siêu mới có thể tiếp cận được nó Thứ nhật bạn chỉ cần biết những cái căn bản như XML, HTML, CSS hay chỉ cần biết javascript hoặc Java core, hoặc cho dù bạn có là Web developer hay mobile developer thuần cũng đã có thể học tốt React native rồi

3.3 Nhượt điểm react-native

- Vẫn đòi hỏi native code: Đối với một số chức năng phức tạp, react-native vẫn phải đòi hỏi xử lý bằng native code

- Hiệu năng thấp hơn so với app thuần native code: Đối với các ứng dụng react-native, một số người dùng thường than phiền rằng nó tốn tài nguyên hơn so với các ứng dụng native code Ngoài ra việc di chuyển giữa các màn hình, fetch dữ liệu cũng không thực sự mượt mà

- Vẫn còn thiếu các component view cho android: Map, modal, Slider,

Spinner hoặc các module như Camera Roll, Media, PushNotificationIOS

Trang 28

CHƯƠNG 4: XÂY DỰNG ỨNG DỤNG GIAO HÀNG ONLINE

1 Đặt vấn đề

a Sự cần thiết của các ứng dụng giao hàng

- Trong thời đại mới, nhu cầu mua sắm online ngày càng lớn, các sàn thương mại điện tử có thể cung cấp hầu như tất cả các nhu yếu phẩm cần thiết Đi cùng với sự bùng nổ của việc mua sắm online là một đội ngũ shipper đông đảo được hình thành thuộc nhiều ứng dụng khác nhau Shipper hiện nay có thể xem như một công việc toàn thời gian có thể nuôi sống bản thân

- Để tăng tính tự động hóa trong quy trình tiếp nhận đơn hàng, tối ưu quãng đường di chuyển, … Các ứng dụng quản lý đơn hàng cho các tài xế ra đời như một điều tất yếu

b Về các ứng dụng hiện có trên thị trường

- Vụ việc Grab áp tăng mức chiết khấu, gián tiếp áp đặt thuế GTGT lên tài xế

đã cho thấy phần nào về việc các ứng dụng hiện tại đang cố chèn ép các tài

xế để tối ưu lợi nhuận của mình

- Bên cạnh đó, một số ứng dụng tỏ ra quá rườm rà, không phù hợp với các tài

xế cao tuổi, hoặc nắm bắt công nghệ chậm

- Các ứng dụng chưa tạo được sự gắn kết giữa người giao hàng và người nhận hàng

2 Hướng giải quyết

- Tạo ra các ứng dụng giao hàng mới với nhiều hơn sự ưu tiên cho các tài xế,

từ đó tạo ra nhiều lựa chọn hơn cho các tài xế, tăng tính cạnh trang cho các ứng dụng hiện có

- Đơn giản giao diện, tăng sự tương thích ứng dụng cho nhiều tài xế hơn

- Thông qua việc thu nhỏ khu vực giao hàng của các tài xế, chúng ta có thể giúp tài xế gặp được một khách hàng nhiều lần, từ đó nắm bắt được thói quen nhận hàng của người nhận, tạo ra sự phục vụ tốt hơn

Trang 29

- Linh động thời gian làm việc, các tài xế thay phiên nhau hoạt động

3 Xác định và phân tích yêu cầu

3.1 Quy trình nhgiệp vụ

1 Thông tin tài khoản

- Đăng ký thông tin tài khoản quan trang admin Tài khoản được cấp tự động và không cho tạo mới

- Khi đăng kí, một mật khẩu random sẽ được gửi thông qua mail cho tài

xế Mục đích của việc gửi mật khẩu qua mail vừa có thể xác thực mail người dùng vừa có thể bảo mật được thông tin đăng nhập

- Khi đăng nhập lần đầu sẽ yêu cầu đổi mật khẩu

- Có các trang cơ bản như đổi mật khẩu, quản lý thông tin cá nhân

2 Các cài đặt riêng cho tài khoản

- Cờ cho phép nhận đơn hàng: Mỗi tài khoản sẽ có một cờ xác nhận tài xế đó

có sẵn sàng nhận đơn hàng hay không

- Địa điểm hoạt động: Mỗi tài xế sẽ có một địa điểm hoạt động ưa thích, khi chọn địa điểm hoạt động này, tài xế sẽ nhận được nhiều đơn hàng có địa điểm giao đến khu vực này hơn

1.3 Quá trình hoàn thành 1 đơn hàng

- Tài xế sẽ nhận được thông tin đơn hàng và khách hàng đặt đồ

- Đơn hàng sẽ có các trạng thái như:

o Tiếp nhận: Hệ thống tiếp nhận đơn hàng và bắt đầu chọn tài xế phù hợp

o Đang di chuyển: Tài xế di chuyển từ cửa hàng đến nơi giao hàng

o Hoàn thành: Tài xế xác nhận kết thúc đơn hàng để tiếp tục có khả năng nhận đơn hàng tiếp theo

4 Các chính sách dành cho tài xế

Trang 30

- Các tài xế sau khi hoàn thành 1 chuyến sẽ được cộng điểm thưởng tương ứng Dựa vào điểm thưởng này có thể tính độ ưu tiên được nhận đơn hàng tiếp theo của các tài xế

- Sau mỗi đơn hàng, tài xế sẽ được khách hàng đánh giá về độ hài lòng (được tính bằng thang điểm 5)

- Về giá đơn hàng: Đơn hàng trong điều kiện trời mưa sẽ mắc hơn đơn hàng trong điều kiện bình thường

- Sẽ có các hình phạt được đưa ra nếu phát hiện tài xế có hành vi gian lận

- Khi tài xế đạt đủ điểm thưởng sẽ được tặng một số tiền thưởng hoặc có thể quy đổi ra các khuyến mãi khác

5 Về các hình phạt dành cho tài xế:

- Cảnh cáo: Khi bị cảnh cáo tài xế sẽ bị giảm độ ưu tiên nhận được đơn hàng

trong vòng n ngày

- Tạm khóa tài khoản: Tài khoản tài xế sẽ không thể nhận được đơn hàng trong n

ngày (n tùy thuộc vào mức độ nghiêm trọng của lỗi)

- Khóa vĩnh viễn: Tài xế sẽ bị khóa tài khoản vĩnh viễn Bất kì tài khoản mới nào

có CMND tương tự sẽ được xem là tài khoản không hợp lệ

3.2 Danh sách các use-case giao diện web

STT Tên Use case Mô tả

1 Đăng nhập Người dùng có thể đăng nhập vào hệ thống và thực

hiện các chức năng quản lý khác

2 Quản lý tài xế Admin có thể thêm, xóa, cập nhật, cấm và quản lý

danh sách tài xế

3 Quản lý thông báo Admin có thể xem danh sách thông báo, thêm, xóa,

cập nhật thông báo

Trang 31

4 Quản lý vouchers Admin có thể xem danh sách vouchers, thêm, xóa, cập

nhật voucher

5 Quản lý đơn hàng Admin có thể xem danh sách đơn hàng, thêm xóa, sửa,

cập nhật đơn hàng

6 Cài đặt chung Đây là màn hình cài đặt những thông số chung cho

ứng dụng Admin có thể xem thông số cũng như update các thông số này

- Sơ đồ use case:

- Chi tiết sơ đồ use case quản lý người dùng:

Trang 32

- Chi tiết sơ đồ use case quản lý thông báo:

Trang 33

- Chi tiết sơ đồ use case quản lý voucher

Trang 34

- Chi tiết sơ đồ use case quản lý đơn hàng

Trang 35

- Chi tiết sơ đồ use case cài đặt chung

4 Thiết kế cơ sở dữ liệu:

4.1 Users (users) table

- Mô tả: Thông tin cơ bản của các user

Mặc

Auto increment

Trang 36

0: offline; 1: online

Bảng 4.1: Danh sách các thuộc tính của table Users 4.2 Device Token (device_tokens) table

Trang 37

- Mô tả: Bảng lưu các device token ứng với mỗi user cho việc nhận thông báo

6 apns_token Varchar (256)

Bảng 4.2 Danh sách các thuộc tính của table device_tokens

- Danh sách các khóa ngoại

Bảng 4.3 Danh sách các khóa ngoại của table device_tokens

Trang 38

7 sub_id int

0: Unpublish; 1: publish

9 to_user tinyint

0: All User; 1: Online User; 2: Offline user; 3: Banned user; 4: specific User

Bảng 4.4 Danh sách các thuộc tính table notification 4.4 User Notification (user_notification) table

- Mô tả: Lưu trữ danh sách các notificaiton ứng với mỗi user

Trang 39

- Danh sách các thuộc tính

Trang 40

Bảng 4.5 Danh sách các thuộc tính của table user_notifications

- Danh sách các khóa ngoại

Mặc

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

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w