Đăng ký Đăng nhập
Trang chủ Hệ thống hỗ trợ quản lý giao hàng ...

Tài liệu Hệ thống hỗ trợ quản lý giao hàng

.PDF
150
1
88

Mô tả:

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC HỆ THỐNG HỖ TRỢ QUẢN LÝ GIAO HÀNG Ngành: KHOA HỌC MÁY TÍNH HỘI ĐỒNG: KHOA HỌC MÁY TÍNH 1 GVHD: THS. LƯU QUANG HUÂN THS. VƯƠNG BÁ THỊNH GVPB: THS. TRẦN HỒNG TÀI SVTH: NGUYỄN TRỌNG DƯ - 1610569 TP. HỒ CHÍ MINH, 8/2021 ĈҤ,+Ӑ&48Ӕ&*,$73+&0 ---------75ѬӠ1*ĈҤ,+Ӑ&%È&+.+2$ KHOA:KH & KT Máy tính %Ӝ0Ð1KHMT &Ӝ1*+Ñ$;­+Ӝ,&+Ӫ1*+Ƭ$9,ӊ71$0 ĈӝFOұS- 7ӵGR- +ҥQKSK~F 1+,ӊ09Ө/8Ұ1È17Ӕ71*+,ӊ3 &K~ê6LQKYLrQSK̫LGiQWͥQj\YjRWUDQJQK̭WFͯDE̫QWKX\͇WWUình +Ӑ9¬7Ç1 NGUYӈ175Ӑ1*'Ѭ NGÀNH: KHOA HӐ&0ÁY TÍNH MSSV: 1610569 /Ӟ3 MT17KH2 ĈҫXÿӅOXұQiQ HӋWKӕQJKӛWUӧquҧQ lý giao hàng. 2. NhLӋPYө \rXFҫXYӅQӝLGXQJYjVӕOLӋXEDQÿҫX  7uPKLӇXSKkQWtFKTX\WUuQKQJKLӋSYөgiao vұQ 3KkQWtFKWKLӃWNӃKӋWKӕQJÿiSӭQJFiF\rXFҫXFKӭFQăQJYjSKLFKӭFQăng. +LӋQWKӵFWULӇQNKDLSKLrQEҧQQJX\rQPүXFӫDKӋWKӕQJ 7LӃQKjQKNLӇPWKӱÿiQKJLiWtQKӭQJGөQJYjNKҧWKLFӫDJLҧLSKiSÿӅ[XҩW 31Jj\JLDRQKLӋPYөOXұQiQ 1Jj\KRjQWKjQKQKLӋPYө +ӑWrQJLҧQJYLrQKѭӟQJGүQ 3KҫQKѭӟQJGүQ 1) ThS. Lѭu Quang Huân 2) ThS. VѭѫQJ%á ThӏQK 1ӝLGXQJYj\rXFҫX/971ÿmÿѭӧFWK{QJTXD%ӝP{Q 1Jj\WKiQJQăP &+Ӫ1+,ӊ0%Ӝ0Ð1 *,Ҧ1*9,Ç1+ѬӞ1*'Ү1&+Ë1+ .êYjJKLU}K͕WrQ .êYjJKLU}K͕WrQ 3+̮1'¬1+&+2.+2$%͠0Ð1 1JѭӡLGX\ӋW FKҩPVѫEӝ ________________________ ĈѫQYӏ _______________________________________ 1Jj\EҧRYӋ __________________________________ ĈLӇP WәQJNӃW _________________________________ 1ѫLOѭXWUӳOXұQiQ _____________________________ 75ѬӠ1*ĈҤ,+Ӑ&%È&+.+2$ .+2$.+ .70È<7Ë1+ &Ӝ1*+Ñ$;­+Ӝ,&+Ӫ1*+Ƭ$ 9,ӊ71$0 ĈӝFOұS7ӵGR+ҥQKSK~F  1Jj\  WKiQJ  QăP  3+,ӂ8&+Ҩ0%Ҧ29ӊ/971 'jQKFKRQJ˱ͥLK˱ͣQJG̳Q +ӑYjWrQ69 1*8<ӈ175Ӑ1*'Ѭ0669 1JjQK FKX\rQQJjQK .KRDKӑF0i\WtQK ĈӅWjL +ӋWKӕQJKӛWUӧTXҧQOêJLDRKjQJ +ӑWrQQJѭӡLKѭӟQJGүQ/ѭX4XDQJ+XkQ9ѭѫQJ%i7KӏQK 7әQJTXiWYӅEҧQWKX\ӃWPLQK 6ӕWUDQJ 6ӕFKѭѫQJ 6ӕEҧQJVӕOLӋX 6ӕKuQKYӁ 6ӕWjLOLӋXWKDPNKҧR 3KҫQPӅPWtQKWRiQ +LӋQYұW VҧQSKҭP 7әQJTXiWYӅFiFEҧQYӁ 6ӕEҧQYӁ %ҧQ$ %ҧQ$ .KәNKiF 6ӕEҧQYӁYӁWD\ 6ӕEҧQYӁWUrQPi\WtQK 1KӳQJѭXÿLӇPFKtQKFӫD/971  ;iFÿӏQKÿѭӧFPөFWLrXYjSKҥPYLWKӵFKLӋQÿӅWjLPӝWFiFKU}UjQJFөWKӇVDXNKLSKkQ WtFKYjÿiQKJLi\rXFҫXYӅPһWQJKLӋSYөJLDRQKұQKjQJYjYұQWҧLKjQKNKiFKFiQKkQ 3KkQWtFKÿѭӧFQKӳQJÿӕLWѭӧQJQJѭӡLGQJWURQJKӋWKӕQJYDLWUzYjFKӭFQăQJFӫDWӯQJ ÿӕLWѭӧQJQJѭӡLGQJFNJQJQKѭFiFPӕLOLrQKӋWѭѫQJWiFFӫDQKӳQJÿӕLWѭӧQJQj\%rQ FҥQKÿyWiFJLҧFNJQJWuPKLӇXVkXYjUӝQJQKӳQJJLҧLSKiSOLrQTXDQSKkQWtFKѭXQKѭӧF ÿLӇPFӫDWӯQJJLҧLSKiSWӯÿyKuQKWKjQKQrQÿӝQJOӵFFKRÿӅWjL  &ѫVӣOêWKX\ӃWQӅQWҧQJKLӋQWKӵFYjQKӳQJF{QJFөWULӇQNKDLFNJQJÿѭӧFWKDPNKҧRÿҫ\ ÿӫWUѭӟFNKLYұQGөQJWURQJTXiWUuQKWKӵFKLӋQJLҧLSKiSÿӅ[XҩWWKHRPөFWLrXÿmÿӅUD  ĈӅ[XҩWPӝWNLӃQWU~FYӟLVӵSKkQOӟSU}UjQJQKӳQJWKjQKSKҫQFөWKӇWURQJNLӃQWU~FYj VӵWѭѫQJWiFWUDRÿәLGӳOLӋXJLӳDQKӳQJWKjQKSKҫQQj\PӝWFiFKWѭӡQJPLQK7URQJÿy QKӳQJÿӕLWѭӧQJWURQJKӋWKӕQJQKӳQJÿӕLWѭӧQJQJRjLKӋWKӕQJYjYDLWUzFKӭFQăQJFӫD QKӳQJÿӕLWѭӧQJQj\ÿѭӧFOjPU}  ĈҫXWѭWuPKLӇXYjiSGөQJQKLӅXF{QJFөWLӋQtFKSKәELӃQÿӇWULӇQNKDLÿӅWjLQKѭQKӳQJ 'HY2SVWKӵFWKөQrQÿmWtFKKӧSWKjQKF{QJӭQJGөQJGLÿӝQJYӟL5HDO7LPH6HUYLFHFNJQJ QKѭYӟLKӋWKӕQJ[iFWKӵFQJѭӡLGQJWӯPӝWÿӅWjLNKiF  &yWLQKWKҫQWUiFKQKLӋPFDRNKLOjPYLӋFQKyPELӃWOҳQJQJKHWuPKLӇXYjÿӅ[XҩW SKѭѫQJiQNKҳFSKөFQKӳQJVӵFӕSKiWVLQKWURQJWURQJVXӕWTXiWUuQKKLӋQWKӵFWULӇQNKDL NLӇPWKӱGӵiQ 1KӳQJWKLӃXVyWFKtQKFӫD/971  7X\P{KuQKNLӇPWKӱNKiEjLEҧQYӟLF{QJFөNLӇPWUDWӵÿӝQJQKѭQJQӝLGXQJNLӇPWUD FzQÿѫQJLҧQYӟLWұSKӧSWLrXFKtNLӇPWUDFKѭDSKӫKӃWQKӳQJOӛLWLӅPҭQ  &KѭDKLӋQWKӵFWHVWWҧLYӟLVӕOѭӧQJWKLӃWEӏÿӗQJWKӡLÿӫOӟQQrQSKҫQWULӇQNKDLJLҧLSKiS PӟLGӯQJOҥLӣJLDLÿRҥQ3R&  &ҫQKLӋQWKӵFWKrPJLDRGLӋQÿӇQJѭӡLGQJWKHRG}LÿѫQKjQJPӝWFiFKWUӵFTXDQFNJQJ QKѭFҧLWLӃQFiFKWKӭFWtQKÿLӇPWjL[ӃPӝWFiFKWKX\ӃWSKөFKѫQ ĈӅQJKӏ ĈѭӧFEҧRYӋ □ %әVXQJWKrPÿӇEҧRYӋ □ FkXKӓL69SKҧLWUҧOӡLWUѭӟF+ӝLÿӗQJ .K{QJÿѭӧFEҧRYӋ □ D 0ӝWJLDRGӏFKÿѭӧF[HPOjKRjQWҩWNKLWRjQEӝTX\WUuQK³JLDRQKұQ´GLӉQUDVX{QVҿQӃX TXiWUuQKQj\JһSVӵFӕYӅNӻWKXұW YtGөOӛLÿѭӡQJWUX\ӅQÿLӋQWKRҥLPҩWQJXӗQ** *36PҩWVyQJ WKuKӋWKӕQJFy[ӱOêQJRҥLOӋNK{QJ" E /jPVDRÿӇKҥQFKӃUӫLURGR\ӃXWӕFRQQJѭӡLWURQJYLӋFEҧRÿҧPWjLVҧQFӫDQJѭӡLJӱL NK{QJEӏÿiQKFҳSWUiRÿәLWURQJPӝWJLDRGӏFK" F 9LӋFÿӏQKGDQKQJѭӡLQKұQTXDQWUӑQJQKѭWKӃQjRWURQJP{KuQKTX\WUuQKQJKLӋSYөJLDR QKұQKjQJKyD" ĈiQKJLiFKXQJ EҵQJFKӳJLӓLNKi7%  *LӓL ĈLӇP .êWrQ JKLU}KӑWrQ TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KH & KT MÁY TÍNH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc ---------------------------Ngày 23 tháng 12 năm 2021 PHIẾU CHẤM BẢO VỆ LVTN (Dành cho người hướng dẫn/phản biện) 1. Họ và tên SV: Nguyễn Trọng Dư MSSV: 1610569 Ngành (chuyên ngành): Khoa Học Máy Tính 2. Đề tài: Hệ thống hỗ trợ quản lý giao hàng. 3. Họ tên người hướng dẫn/phản biện: /Trần Hồng Tài 4. Tổng quát về bản thuyết minh: Số trang: 133 Số chương: 6 Số bảng số liệu: Số hình vẽ: Số tài liệu tham khảo: Phần mềm tính toán: Hiện vật (sản phẩm) 5. Tổng quát về các bản vẽ: - Số bản vẽ: Bản A1: Bản A2: Khổ khác: - Số bản vẽ vẽ tay Số bản vẽ trên máy tính: 6. Những ưu điểm chính của LVTN: - Luân văn đưa ra ứng dụng cụ thể sát với thực tế của như cầu giao nhận hàng hóa. - Luận văn tìm hiểu ưu điểm, nhược điểm của các nền tảng, mô hình liên quan như grab, gojek, be như việc chưa có khả năng định danh người nhận, một số nền tảng chưa có chức năng giao đơn hang nhiều điểm dừng. - Đưa ra đề xuất để cải thiện các mô hình trước đó như định danh người nhận bằng mã QR, thiết lập chức năng giao hàng nhiều điểm dừng. - Có định hướng phát triển tiếp theo cho đề tài. 7. Những thiếu sót chính của LVTN: - Các hình ảnh về quy trình, sơ đồ trong luận văn có cỡ chữ tương đối nhỏ khó quan sát. - Chức năng cấp định danh người nhận là bắt buộc và bắt buộc người nhận phải có tài khoản để được cấp định danh. - Chưa đưa ra các quy trình để xử lý tình huống xấu phát sinh như tài xế bị hư xe trong quá trình giao hàng. 8. Đề nghị: Được bảo vệ  Bổ sung thêm để bảo vệ  Không được bảo vệ  9. 3 câu hỏi SV phải trả lời trước Hội đồng: - Nêu hướng cải tiến để định danh trong trường hợp cần gửi hàng cho người nhận không có tài khoản. 10. Đánh giá chung (bằng chữ: giỏi, khá, TB): Khá Điểm: 7.8 /10 Ký tên (ghi rõ họ tên) Trần Hồng Tài LỜI CAM ĐOAN Chúng tôi xin cam đoan đây là công trình nghiên cứu và thực hiện của nhóm chúng tôi. Các số liệu sử dụng phân tích trong luận văn có nguồn gốc được dẫn chứng và công bố rõ ràng. Mọi sao chép không hợp lệ, vi phạm các quy định, chúng tôi xin hoàn toàn chịu trách với mọi hình thức kỷ luật được đề ra. NHÓM THỰC HIỆN ĐỀ TÀI LỜI CẢM ƠN Trước hết chúng tôi xin dành hết lòng biết ơn của mình cho ThS. Lưu Quang Huân giảng viên khoa Khoa học và Kỹ thuật Máy tính (trường Đại học Bách Khoa - ĐHQGTP.HCM) . Trong suốt khoảng thời gian vừa qua, đã không ngừng dành thời gian quan tâm, theo dõi, đưa ra những hướng dẫn mang tính quyết định đối với đề tài để nhóm thực hiện chúng tôi có thể hoàn thành được đề cương luận văn này ở mức tốt nhất có thể. Cũng như đưa ra hướng phát triển để chúng tôi có thể nhận thấy và thực hiện trong khoảng thời gian này. Bên cạnh đó, chúng tôi xin cảm ơn những kiến thức, kinh nghiệm và những sự giúp đỡ của tập thể giảng viên, nhân viên khoa Khoa học và Kỹ thuật Máy tính (trường Đại học Bách Khoa - ĐHQG-TP.HCM) đã truyền đạt cho chúng tôi trong những năm tháng vừa qua để tạo ra nền tảng kiến thức vững chắc cho chúng tôi thực hiện đề tài ngày hôm nay. Cuối cùng, chúng tôi mới gửi lời cảm ơn sâu sắc đến gia đình và bạn bè, những người đã tạo ra động lực phi thường giúp chúng tôi hoàn thành đề cương luận văn một cách đầy đủ nhất. NHÓM THỰC HIỆN ĐỀ TÀI TÓM TẮT NỘI DUNG Trao đổi hàng hóa là một nhu cầu bức thiết trong xã hội, từ người có hàng hóa vận chuyển tới người có nhu cầu. Khi chưa ứng dụng công nghệ thông tin hoàng hóa chủ yếu được vận chuyển thông qua kênh bưu điện, các chuyến xe khách liên tỉnh hay xe ôm truyền thống. Dẫn đến nhiều bất cập như phụ thuộc về giá và chưa đảm bảo được tính an toàn, bảo mật. Hiện nay đã có những công ty ứng dụng công nghệ thông tin tạo ra các sản phẩm giúp hỗ trợ quá trình giao nhận hàng hóa như Grab, Ahamove, Gojek ... Thông qua nền tảng của từng công ty người dùng có thể dễ dàng gửi các kiện hàng tới một địa điểm trong khi có thể theo dõi hành trình tài xế và biết trước giá cước vận chuyển. Trong luận văn này, mục tiêu của chúng tôi là nghiên cứu và xây dựng một hệ thống nguyên bản cho phép thực hiện các tác vụ cơ bản nhất của hệ thống liên quan đến giao hàng nhiều điểm dừng và định danh người nhận thông qua mã QR. Mục lục 1 2 3 Giới thiệu 1 1.1 Động lực . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Mục tiêu đề tài . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Phạm vi đề tài . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4 Cấu trúc báo cáo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Các giải pháp liên quan 5 2.1 Grab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Gojek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3 Be . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.4 Tổng kết . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.4.1 So sánh tính năng của từng dịch vụ . . . . . . . . . . . . . . . 11 2.4.2 Ưu điểm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.4.3 Khuyết điểm . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.4.4 Kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Kiến thức nền tảng 13 3.1 Django . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.1.1 Ưu điểm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.1.2 Khuyết điểm . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 React Native . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.2.1 Ưu điểm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.2.2 Khuyết điểm . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 PostgreSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2 3.3 5 3.4 4 3.3.1 Ưu điểm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.3.2 Khuyết điểm . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Redis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.4.1 Ưu điểm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.4.2 Nhược điểm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Giải pháp đề xuất 24 4.1 Đối tượng sử dụng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.1.1 Quản trị viên . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.1.2 Tài xế . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.1.3 Người gửi hàng . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.1.4 Người nhận hàng . . . . . . . . . . . . . . . . . . . . . . . . . 25 Phân tích yêu cầu nghiệp vụ . . . . . . . . . . . . . . . . . . . . . . . 26 4.2.1 Yêu cầu chức năng của quản trị viên . . . . . . . . . . . . . . . 26 4.2.2 Yêu cầu chức năng của tài xế . . . . . . . . . . . . . . . . . . . 29 4.2.3 Yêu cầu chức năng của người gửi hàng . . . . . . . . . . . . . . 36 4.2.4 Yêu cầu chức năng của người nhận hàng . . . . . . . . . . . . . 41 4.2.5 Yêu cầu phi chức năng . . . . . . . . . . . . . . . . . . . . . . 42 Kiến trúc hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.3.1 Module tương tác người dùng . . . . . . . . . . . . . . . . . . 42 4.3.2 Kiến trúc ứng dụng di động . . . . . . . . . . . . . . . . . . . 43 4.3.2.1 Redux . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.3.2.2 UI Component . . . . . . . . . . . . . . . . . . . . . 44 4.3.2.3 Socket Component . . . . . . . . . . . . . . . . . . . 44 4.3.3 Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.3.4 Kiến trúc Server . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.3.4.1 Delivery Handler . . . . . . . . . . . . . . . . . . . 46 4.3.4.2 Realtime Handler . . . . . . . . . . . . . . . . . . . 47 Thiết kế giao diện người dùng . . . . . . . . . . . . . . . . . . . . . . 48 4.4.1 Giao diện web quản trị viên . . . . . . . . . . . . . . . . . . . 48 4.4.1.1 Dashboard trang quản trị viên . . . . . . . . . . . . . 48 4.4.1.2 Quản lý tài khoản . . . . . . . . . . . . . . . . . . . 49 4.2 4.3 4.4 4.4.1.3 4.5 Quản lý vận đơn . . . . . . . . . . . . . . . . . . . . 51 4.4.2 Giao diện ứng dụng di động người gửi hàng . . . . . . . . . . . 55 4.4.3 Giao diện ứng dụng di động người nhận hàng . . . . . . . . . . 66 4.4.4 Giao diện ứng dụng tài xế . . . . . . . . . . . . . . . . . . . . 67 Hiện thực . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.5.1 Lược đồ thực thi . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.5.1.1 Quy trình “Đăng nhập” . . . . . . . . . . . . . . . . 76 4.5.1.2 Quy trình “Tài xế sẵn sàng nhận vận đơn” . . . . . . 78 4.5.1.3 Quy trình “Tạo vận đơn” . . . . . . . . . . . . . . . 79 4.5.1.4 Quy trình “Tài xế chấp nhận vận đơn” . . . . . . . . 81 4.5.1.5 Quy trình “Tài xế thông báo tới điểm nhận vận đơn” . 83 4.5.1.6 Quy trình “Tài xế xác nhận nhận vận đơn” . . . . . . 84 4.5.1.7 Quy trình “Tài xế quét mã QR xác nhận người nhận” . 85 4.5.1.8 Quy trình “Tài xế xác nhận hoàn tất vận đơn” . . . . . 87 4.5.1.9 Quy trình “Hủy vận đơn” . . . . . . . . . . . . . . . 88 4.5.1.10 Quy trình “Quản trị viên xem vận đơn” . . . . . . . . 90 4.5.1.11 Quy trình “Quản trị viên cập nhật vận đơn” . . . . . . 91 Mô tả chức năng thành phần hệ thống . . . . . . . . . . . . . . 93 4.5.2.1 Delivery Handler . . . . . . . . . . . . . . . . . . . 93 4.5.2.2 Realtime Handler . . . . . . . . . . . . . . . . . . . 95 4.5.2 4.5.3 4.6 5 Thiết kế cơ sở dữ liệu . . . . . . . . . . . . . . . . . . . . . . . 109 4.5.3.1 Thiết kế cở sở dữ liệu ý niệm . . . . . . . . . . . . . 109 4.5.3.2 Thiết kế cở sở dữ liệu vật lý . . . . . . . . . . . . . . 114 Quản lý mã nguồn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 4.6.1 Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 4.6.2 GitFlow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 4.6.2.1 Service . . . . . . . . . . . . . . . . . . . . . . . . . 121 4.6.2.2 Ứng dụng di động . . . . . . . . . . . . . . . . . . . 122 Triển khai và kiểm thử 5.1 123 Triển khai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 5.1.1 Môi trường triển khai . . . . . . . . . . . . . . . . . . . . . . . 124 5.2 6 5.1.1.1 Heroku . . . . . . . . . . . . . . . . . . . . . . . . . 124 5.1.1.2 Google Map . . . . . . . . . . . . . . . . . . . . . . 124 Kiểm thử . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 5.2.1 Loại kiểm thử . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 5.2.2 Tích hợp kiểm thử . . . . . . . . . . . . . . . . . . . . . . . . 125 5.2.3 Kết quả kiểm thử . . . . . . . . . . . . . . . . . . . . . . . . . 127 Tổng kết 6.1 6.2 128 Đánh giá kết quả đạt được . . . . . . . . . . . . . . . . . . . . . . . . 129 6.1.1 Đối với tìm hiểu quy trình nghiệp vụ . . . . . . . . . . . . . . . 129 6.1.2 Đối với công nghệ . . . . . . . . . . . . . . . . . . . . . . . . 129 6.1.3 Đối với phân tích và thiết kế hệ thống . . . . . . . . . . . . . . 129 6.1.4 Kết quả hiện thực . . . . . . . . . . . . . . . . . . . . . . . . . 129 6.1.4.1 Đối với ứng dụng dành cho khách hàng . . . . . . . . 129 6.1.4.2 Đối với ứng dụng dành cho tài xế . . . . . . . . . . . 130 6.1.4.3 Đối với ứng dụng dành cho quản trị viên . . . . . . . 130 6.1.4.4 Đối với back-end . . . . . . . . . . . . . . . . . . . . 130 6.1.5 Hạn chế . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 6.1.6 Ý nghĩa thực tiễn . . . . . . . . . . . . . . . . . . . . . . . . . 131 Hướng phát triển đề tài . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Danh sách hình vẽ 2.1 Grab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Gojek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3 Be . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.1 Django . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.2 React Native . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.3 PostgreSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.4 Redis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4.1 Use case quản trị viên . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.2 Use case xác thực tài xế . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.3 Use case tính năng tài xế . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.4 Use case xác thực người gửi . . . . . . . . . . . . . . . . . . . . . . . 36 4.5 Use case tính năng người gửi hàng . . . . . . . . . . . . . . . . . . . . 38 4.6 Kiến trúc Ứng dụng di động . . . . . . . . . . . . . . . . . . . . . . . 43 4.7 Kiến trúc Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.8 Giao diện web quản trị viên - Dashboard trang quản trị viên . . . . . . . 48 4.9 Giao diện web quản trị viên - Quản lý tài khoản . . . . . . . . . . . . . 49 4.10 Giao diện web quản trị viên - Thêm tài khoản . . . . . . . . . . . . . . 49 4.11 Giao diện web quản trị viên - Cập nhật trạng thái tài khoản . . . . . . . 50 4.12 Giao diện web quản trị viên - Cập nhật thông tin tài khoản . . . . . . . 50 4.13 Giao diện web quản trị viên - Xem thông tin người nhận . . . . . . . . . 51 4.14 Giao diện web quản trị viên - Cập nhật thôn tin người nhận . . . . . . . 52 4.15 Giao diện web quản trị viên - Báo cáo trạng thái vận đơn . . . . . . . . 52 4.16 Giao diện web quản trị viên - Tính năng báo cáo trạng thái vận đơn . . . 53 9 4.17 Giao diện web quản trị viên - Khách hàng mới . . . . . . . . . . . . . . 53 4.18 Giao diện web quản trị viên - Khách hàng mới . . . . . . . . . . . . . . 54 4.19 Giao diện di động - Màn hình thông tin vận đơn . . . . . . . . . . . . . 55 4.20 Giao diện di động - Màn hình tìm kiếm địa chỉ . . . . . . . . . . . . . . 56 4.21 Giao diện di động - Màn hình điểm dừng thứ nhất . . . . . . . . . . . . 57 4.22 Giao diện di động - Màn hình điểm dừng thứ hai . . . . . . . . . . . . . 58 4.23 Giao diện di động - Màn hình xác nhận tạo vận đơn . . . . . . . . . . . 59 4.24 Giao diện di động - Màn hình thông tin tài xế . . . . . . . . . . . . . . 60 4.25 Giao diện di động - Màn hình trạng thái gửi vận đơn . . . . . . . . . . . 61 4.26 Giao diện di động - Màn hình trạng thái tài xế xác nhận vận đơn . . . . 62 4.27 Giao diện di động - Màn hình trạng thái tài xế tới điểm nhận vận đơn . . 63 4.28 Giao diện di động - Màn hình trạng thái tài xế xác nhận nhận vận đơn . 64 4.29 Giao diện di động - Màn hình trạng thái hoàn tất vận đơn . . . . . . . . 65 4.30 Giao diện di động - Màn hình mã qr cho người nhận hàng . . . . . . . . 66 4.31 Giao diện di động - Màn hình tài xế chưa sẵn sàng . . . . . . . . . . . . 67 4.32 Giao diện di động - Màn hình tài xế sẵn sàng . . . . . . . . . . . . . . 68 4.33 Giao diện di động - Màn hình thông tin vận đơn . . . . . . . . . . . . . 69 4.34 Giao diện di động - Màn hình thông báo tới điểm nhận vận đơn . . . . . 70 4.35 Giao diện di động - Màn hình xác nhận nhận vận đơn . . . . . . . . . . 71 4.36 Giao diện di động - Màn hình xác nhận bắt đầu vận chuyển . . . . . . . 72 4.37 Giao diện di động - Màn hình xác nhận hoàn tất vận đơn . . . . . . . . 73 4.38 Giao diện di động - Màn hình quét mã qr . . . . . . . . . . . . . . . . . 74 4.39 Giao diện di động - Màn hình thông báo tổng cước phí vận chuyển . . . 75 4.40 Quy trình “Đăng nhập” . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.41 Quy trình “Tài xế sẵn sàng nhận vận đơn” . . . . . . . . . . . . . . . . 78 4.42 Quy trình “Tạo vận đơn” . . . . . . . . . . . . . . . . . . . . . . . . . 80 4.43 Quy trình “Tài xế chấp nhận vận đơn” . . . . . . . . . . . . . . . . . . 82 4.44 Quy trình “Tài xế thông báo tới điểm nhận vận đơn” . . . . . . . . . . . 83 4.45 Quy trình “Tài xế xác nhận nhận vận đơn” . . . . . . . . . . . . . . . . 85 4.46 Quy trình “Tài xế quét mã QR xác nhận người nhận” . . . . . . . . . . 86 4.47 Quy trình “Tài xế xác nhận hoàn tất vận đơn” . . . . . . . . . . . . . . 87 4.48 Quy trình “Hủy vận đơn” . . . . . . . . . . . . . . . . . . . . . . . . . 89 4.49 Quy trình “Quản trị viên xem vận đơn” . . . . . . . . . . . . . . . . . . 90 4.50 Quy trình “Quản trị viên cập nhật vận đơn” . . . . . . . . . . . . . . . 92 4.51 Flowchart lấy danh sách vận đơn . . . . . . . . . . . . . . . . . . . . . 93 4.52 Flowchart cập nhật vận đơn . . . . . . . . . . . . . . . . . . . . . . . . 95 4.53 Flowchart kiểm tra yêu cầu kết nối Realtime Handler . . . . . . . . . . 96 4.54 Flowchart tài xế sẵn sàng nhận vận đơn . . . . . . . . . . . . . . . . . . 98 4.55 Flowchart tạo vận đơn . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 4.56 Flowchart tài xế chấp nhận vận đơn . . . . . . . . . . . . . . . . . . . . 101 4.57 Flowchart tài xế thông báo tới điểm nhận vận đơn . . . . . . . . . . . . 102 4.58 Flowchart tài xế xác nhận nhận vận đơn . . . . . . . . . . . . . . . . . 103 4.59 Flowchart tài xế quét mã QR xác nhận người nhận . . . . . . . . . . . . 104 4.60 Flowchart tài xế xác nhận hoàn tất vận đơn . . . . . . . . . . . . . . . . 106 4.61 Flowchart hủy vận đơn . . . . . . . . . . . . . . . . . . . . . . . . . . 107 4.62 Flowchart cập nhật vị trí tài xế . . . . . . . . . . . . . . . . . . . . . . 108 4.63 ERD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 4.64 Thực thể User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 4.65 Thực thể Customer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 4.66 Thực thể Shipment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 4.67 Thực thể DriverOn . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 4.68 Thực thể Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 4.69 Thiết kế cơ sở dữ liệu vật lý . . . . . . . . . . . . . . . . . . . . . . . . 115 4.70 Hệ thống mã nguồn phân tán [15] . . . . . . . . . . . . . . . . . . . . 119 4.71 Các trạng thái của file trong Git [16] . . . . . . . . . . . . . . . . . . . 120 5.1 Heroku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 5.2 Google Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 5.3 Postman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 5.4 Bước 2 tạo collection . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 5.5 Bước 3 tạo các test request . . . . . . . . . . . . . . . . . . . . . . . . 126 5.6 Bước 4 Cấu hình chạy kiểm thử định kỳ . . . . . . . . . . . . . . . . . 127 5.7 Kết quả kiểm thử . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Danh sách bảng 2.1 So sánh các giải pháp vận tải . . . . . . . . . . . . . . . . . . . . . . . 11 2.2 So sánh giải pháp tăng tính bảo mật cho vận đơn . . . . . . . . . . . . . 11 4.1 Flowchart cập nhật vận đơn . . . . . . . . . . . . . . . . . . . . . . . . 94 4.2 Cấu trúc gói tin gửi tới Realtime Handler . . . . . . . . . . . . . . . . . 97 4.3 Dữ liệu sự kiện "Tài xế sẵn sàng nhận vận đơn" . . . . . . . . . . . . . 98 4.4 Dữ liệu sự kiện "Tạo vận đơn" . . . . . . . . . . . . . . . . . . . . . . 99 4.5 Dữ liệu sự kiện "Tài xế chấp nhận vận đơn" . . . . . . . . . . . . . . . 100 4.6 Dữ liệu sự kiện "Tài xế thông báo tới điểm nhận vận đơn" . . . . . . . . 101 4.7 Dữ liệu sự kiện "Tài xế xác nhận nhận vận đơn" . . . . . . . . . . . . . 103 4.8 Dữ liệu sự kiện "Tài xế quét mã QR xác nhận người nhận" . . . . . . . 104 4.9 Dữ liệu sự kiện "Tài xế xác nhận hoàn tất vận đơn" . . . . . . . . . . . 105 4.10 Dữ liệu sự kiện "Hủy vận đơn" . . . . . . . . . . . . . . . . . . . . . . 107 4.11 Dữ liệu sự kiện "cập nhật vị trí tài xế" . . . . . . . . . . . . . . . . . . 108 4.12 Bảng mô tả thực thể User . . . . . . . . . . . . . . . . . . . . . . . . . 109 4.13 Bảng mô tả thực thể Customer . . . . . . . . . . . . . . . . . . . . . . 111 4.14 Bảng mô tả thực thể Shipment . . . . . . . . . . . . . . . . . . . . . . 112 4.15 Bảng mô tả thực thể DriverOn . . . . . . . . . . . . . . . . . . . . . . 112 4.16 Bảng mô tả thực thể Item . . . . . . . . . . . . . . . . . . . . . . . . . 114 4.17 Mô trường dữ liệu chính của bảng Users . . . . . . . . . . . . . . . . . 116 4.18 Mô trường dữ liệu chính của bảng Customer . . . . . . . . . . . . . . . 117 4.19 Mô trường dữ liệu chính của bảng DriverOn . . . . . . . . . . . . . . . 117 4.20 Mô trường dữ liệu của bảng Shipment . . . . . . . . . . . . . . . . . . 118 4.21 Mô trường dữ liệu của bảng Item . . . . . . . . . . . . . . . . . . . . . 118 4.22 Cấu trúc thư mục gốc của Service . . . . . . . . . . . . . . . . . . . . 121 12 4.23 Cấu trúc thư mục Customer . . . . . . . . . . . . . . . . . . . . . . . . 121 4.24 Cấu trúc thư mục gốc ứng dụng di động . . . . . . . . . . . . . . . . . 122 4.25 Cấu trúc thư mục app . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Trang 13 Chương 1 Giới thiệu Trang 1 1.1 Động lực Trải qua hàng nghìn năm sống trên trái đất con người luôn muốn tìm kiếm những giải pháp hiệu quả, tiến bộ hơn để nâng cao chất lượng đời sống. Qua ba cuộc cách mạng công nghiệp con người đã đạt được những thành tựu đáng kể từ những cỗ máy vận hàng bằng động cơ hơi nước, những dây truyền sản xuất đồng loạt dùng năng lượng điện và cho tới những cỗ máy tự động hóa có thể thay thế một phần chức năng của con người[1]. Hiện nay chúng ta đang ở giai đoạn đầu của cuộc cách mạng công nghiệp lần thứ 4, Cuộc cách mạng công nghiệp 4.0[2], cuộc cách mạng có thể giúp máy móc tự động tương tác để hoàn thành công việc mà không cần tới sự can thiệp của con người. Thế giới chuyển động ngày càng nhanh, nhu cầu ứng dụng khoa học công nghệ vào các ngành nghề cốt lõi của đời sống để tối ưu hóa, giảm thiểu chi phí giúp con người có thêm không gian và thời gian tập trung vào những công việc quan trọng ngày càng cấp thiết. Giao nhận hàng hóa là một vấn đề xảy ra thường xuyên trong đời sống. Không ít những công ty, tập đoàn đưa ra các giải pháp hỗ trợ quá trình vận chuyển, giao nhận hàng có thể kể đến như Uber, Grab, Gojek, Be, LOGIVAN[3]... Các giải pháp đã giúp quá trình di chuyển, giao nhận hàng trở nên đơn giản và hiệu quả hơn. Tuy nhiên, xã hội luôn không ngừng phát triển kéo theo sự thay đổi liên tục trong nhu cầu tiêu dùng, vẫn tồn tại những khía cạnh có thể cải tiến nhằm giúp nâng cao hiệu quả trong vấn đề liên quan đến giao nhận hàng hóa. Trong quy trình nghiệp vụ giao hàng hiện nay của các đơn vị cung cấp, tại thời điểm giao hàng tài xế liên hệ và định danh người nhận thông qua số điện thoại, hoặc khi tới điểm giao hàng nếu có người nhận hàng tài xế sẽ tiến hành giao hàng không thông qua bước định danh người giao hàng. Hiện nay hàng hóa được vận chuyển chủ yếu từ các trang thương mại điện tử, đồ ăn, uống ... những mặt hàng không yêu cầu tính bảo mật và chính xác cao nên được ưa chộng sử dụng. Ngoài những mặt hàng kể trên còn những loại hàng hóa đặc thù yêu cầu tính bảo mật và chính xác cao như công văn, giấy tờ, sổ tiết kiệm ... cần phải có một cách thức định danh người nhận giúp tăng niềm tin đối với khách hàng và giảm khả năng nhầm lẫn. Vì vậy, chúng tôi thực hiện dự án này nhằm đưa ra một giải pháp hữu hiệu giúp quản lý quá trình giao nhận hàng hiệu quả, giảm thiểu tỷ lệ sai sót, giảm áp lực trên hệ thống Trang 2 khi tham gia khắc phục hậu quả đồng thời gia tăng niềm tin đối với khách hàng. 1.2 Mục tiêu đề tài Tìm hiểu, phân tích quy trình nghiệp vụ các mô hình vận tải đơn lẻ, các giải pháp giao hàng bằng xe ô tô và xe gắn máy. Phân tích, thiết kế hệ thống đáp ứng các yêu cầu chức năng và phi chức năng. Hiện thực, triển khai phiên bản cơ bản nhất của hệ thống. Tiến hành kiểm thử, đánh giá tính ứng dụng và khả thi của giải pháp đề xuất. Cụ thể: Tạo ra 2 ứng dụng riêng biệt và một giao diện web: 2 ứng dụng riêng biệt gồm một ứng dụng dành cho tài xế và một ứng dụng dành cho khách hàng. Một giao diện web dành cho quản trị viên. • Đối với ứng dụng dành cho tài xế: – Cập nhật vị trí tài xế theo thời gian thực nhằm giúp tìm kiếm vận đơn gần vị trí tài xế. – Nhận (từ chối) vận đơn. – Cập nhật trạng thái vận đơn theo thời gian thực. – Định danh khách hàng bằng QR. • Đối với ứng dụng dành cho khách hàng: – Tìm kiếm các tài xế phù hợp với vận đơn. – Kiểm soát đơn hàng theo thời gian thực dựa vào trạng thái vận đơn và vị trí của tài xế. – Mã QR định danh vận đơn trong trường hợp khách hàng là người nhận hàng. 1.3 Phạm vi đề tài Phạm vi đề tài bao gồm: • Đề xuất giải pháp hỗ trợ giao hàng, hướng đến đảm bảo tính bảo mật và chính xác cho các vận đơn. Trang 3
- Xem thêm -

Tài liệu liên quan