Cấu trúc thư mục gốc của Service

Một phần của tài liệu Hệ thống hỗ trợ quản lý giao hàng (Trang 138 - 150)

5 Triển khai và kiểm thử

4.22 Cấu trúc thư mục gốc của Service

• Cấu trúc thư mục customer

STT Tên thư mục Mô tả

1 urls.py Chứa danh sách giúp liên kết request tới phần xử lý logic. 2 apps Cấu hình tên ứng dụng

3 admin Cấu hình hiển thị database trên trang admin 4 views Thư mục chứa toàn bộ phần xử lý logic của ứng dụng 5 models Thư mục chứa các class giúp ánh xạ qua các bảng trong database 6 migrations Chứa lịch sử cập nhật database

Bảng 4.23:Cấu trúc thư mục Customer

4.6.2.2 Ứng dụng di động

• Cấu trúc thư mục gốc

STT Tên thư mục Mô tả

1 android Chứa native code android được dùng để build ứng dụng android 2 ios Chứa native code ios

được dùng để build ứng dụng ios 3 app Chứa mã nguồn ứng dụng 4 .env Chứa biến môi trường 5 package.json File cấu hình của npm

Bảng 4.24:Cấu trúc thư mục gốc ứng dụng di động

• Cấu trúc thư mục app STT Tên thư mục Mô tả

1 Components Chứa thông tin các component dùng chung trong ứng dụng 2 Config Chứa cấu hình kết nối tới server

3 Constants Chứa các constants trong ứng dụng

4 Containers Chứa thông tin định nghĩa các màn hình trong ứng dụng 5 Navigation Chứa thông tin cho việc

Navigation trong ứng dụng 6 Redux Chứa thông tin cấu trúc

dữ liệu trong Redux Store

7 Saga Chứa thông tin giúp saga gọi tới các api 8 Services Chứa các thông tin các api

9 Socket Chứa các file làm nhiệm vụ liên kết realtime tới server

Chương 5

Triển khai và kiểm thử

Chương này trình bày về môi trường triển khai và kiểm thử được nhóm sử dụng trong đề tài và kết quả của quá trình kiểm thử đề tài.

5.1 Triển khai

5.1.1 Môi trường triển khai

5.1.1.1 Heroku

Hình 5.1:Heroku

Heroku là một nền tảng đám mây giúp các nhà phát triển có thể phát triển và triển khai ứng dụng một cách nhanh chóng và dễ dàng hơn.

Heroku cho phép người dùng sử dụng miễn phí dịch vụ cho các sản phẩm phi thương mại. Các sản phẩm dịch vụ đa dạng bao gồm: Heroku Runtime, heroku postgres(sql), heroku redis, scale, add-ons, code/data rollback, app metrics, continuous delivery, github integration.

Dự án sử dụng các dịch vụ của heroku hỗ trợ quá trình phát triển và triển khai bao gồm: heroku postgres là hệ cơ sở dữ liệu trong hệ thống, continuous delivery thực hiện deploy tự động mỗi khi có thay đổi trong mã nguồn, github integration giúp triển khai mã nguồn lưu trữ trên github.

5.1.1.2 Google Map

Google Map là dịch vụ bản đồ số, một cách thức sử dụng bản đồ thay thế bản đồ giấy, hoạt động trên các thiết bị điện tử.

Google cung cấp Google Map Api giúp người dùng có thể tích hợp các dịch vụ Google Map cung cấp vào ứng dụng của mình.

Hình 5.2:Google Map

Google Map cho phép người dùng sử dụng các chức năng như: Tìm kiếm địa điểm, tìm đường đi tốt nhất giữa hai địa điểm bất kỳ, điều hướng và rất nhiều dịch vụ khác.

5.2 Kiểm thử

Do sự khó khăn trong việc kiểm thử tự động đối với phía client, nên việc kiểm thử tự động hiện tại chỉ ngừng lại ở cấp độ backend của hệ thống

5.2.1 Loại kiểm thử

Hệ thống được kiểm thử bằng phương pháp kiểm thử hộp đen thông qua kiểm thử api test như sau:

• API Test: được tiến hành để kiểm tra khả năng hoạt động của toàn bộ hệ thống bằng việc gửi request đến API và kiểm tra kết quả nhận được.

5.2.2 Tích hợp kiểm thử

Hình 5.3:Postman

Công cụ được sử dụng để tích hợp kiểm thử là postman. Các bước tích hợp postman vào hệ thống:

1. Đăng ký tài khoản tạihttps://web.postman.co/

2. Sau khi đăng ký và đăng nhập thành công, tạo collection chứa tập hợp các request để test api.

Hình 5.4:Bước 2 tạo collection

3. Trong mỗi request điền url tới api muốn test, các thông tin về params và body tương ứng với các phương thức. Sau đó nhấn tab test điền các thông tin muốn nhận được.

Hình 5.5:Bước 3 tạo các test request

4. Cấu hình monitor tự động chạy kiểm thử định kỳ. Thông tin cấu hình bao gồm: Tên monitor, collection muốn test, thời gian chạy định kỳ, địa chỉ email nhận kết quả kiểm thử và một số thông tin cấu hình phụ khác.

Hình 5.6:Bước 4 Cấu hình chạy kiểm thử định kỳ

5.2.3 Kết quả kiểm thử

Kết quả kiểm thử từ việc cấu hình chạy kiểm thử định kỳ hàng giờ trên postman.

Hình 5.7:Kết quả kiểm thử

Chương 6

Chương này tổng kết lại những kết quả mà đề tài đã đạt được, nêu lên các hạn chế và trình bày ý nghĩa thực tiễn cũng như hướng phát triển tương lai.

6.1 Đánh giá kết quả đạt được

6.1.1 Đối với tìm hiểu quy trình nghiệp vụ

Dự trên việc phân tích các giải pháp hỗ trợ quy trình giao hàng hiện có trên thị trường như Gojek, Grab, Be. Chúng tôi đã xác định được những quy trình và tính năng tối thiểu cần thiết hỗ trợ quy trình giao hàng đồng thời đề xuất thêm nhưng tính năng mới hỗ trợ trong những hoàn cảnh cụ thể.

6.1.2 Đối với công nghệ

Đối với font-end chúng tôi cung cấp hai ứng dụng, một ứng dụng dành cho khách hàng, một ứng dụng dành cho quản trị viên. Ứng dụng dành cho khách hàng sử dụng công nghệ React native. Ứng dụng dành cho quản trị viên sử dụng công nghệ Angular8. Tìm hiểu và tích hợp thành công Google Map Api.

Đối với back-end chúng tôi sử dụng framework django xây dựng server rest api thông qua thư viện django rest framework, tích hợp thành công hệ thống realtime thông qua thư viện django channels. Quản lý hệ cơ sở dữ liệu thông qua postgres và redis.

6.1.3 Đối với phân tích và thiết kế hệ thống

Chúng tôi đã phân tích các yêu cầu chức năng, phi chức năng, vẽ lược đồ usecase, ERD cũng như xác định luồng thực thi của hệ thống.

6.1.4 Kết quả hiện thực

6.1.4.1 Đối với ứng dụng dành cho khách hàng

1. Ứng dụng giúp khách hàng dễ dàng vận chuyển nhiều món hàng tới nhiều địa điểm giao khác nhau chỉ trong một vận đơn. Đảm báo tính chính xác thông qua hình thức xác minh quét mã QR.

2. Áp dụng quy trình giao hàng vào ứng dụng với các bước bao gồm:

• Nhập thông tin vận đơn.

• Lựa chọn địa điểm nhận hàng và lựa chọn thứ tự và vị trí giao hàng theo mong muốn.

• Tìm tài xế.

• Nhận thông tin tài xế và giá cước.

• Nhận mã QR đối với người dùng là người nhận hàng.

• Theo dõi trạng thái vận đơn trong toàn bộ quá trình vận chuyển.

6.1.4.2 Đối với ứng dụng dành cho tài xế

1. Áp dụng thành công quy trình giao hàng dành cho tài xế, bao gồm:

• Chuyển trạng thái nhận vận đơn.

• Nhận vận đơn.

• Xác nhận vận đơn.

• Chụp ảnh, xác nhận nhận hàng.

• Quét mã QR, xác nhận giao hàng.

• Xác nhận hoàn tất vận đơn.

6.1.4.3 Đối với ứng dụng dành cho quản trị viên

1. Cung cấp các tính năng cơ bản liên quan đến quản lý tài khoản, quản lý vận đơn. 2. Báo cáo tình trạng vận đơn trong 10 ngày gần nhất, báo cáo số tài khoản mở mới,

báo cáo tài khoản sử dụng nhiều trong tháng.

6.1.4.4 Đối với back-end

1. Hiện thực Server Rest Api. Cung cấp các Api tới ứng dụng khách hàng và ứng dụng dành cho quản trị viên.

2. Hiện thực hệ thống realtime phục vụ quy trình giao nhận hàng, cập nhật các thay đổi, vị trí tài xế realtime.

6.1.5 Hạn chế

1. Chưa hoàn thiện một số trường hợp ngoại lệ phức tạp trong quy trình giao hàng. 2. Do yếu tố thời gian, nhóm chưa thực hiện các loại kiểm thử liên quan tới UI, ứng

dụng chưa được đẹp mắt và thuận tiện trong quá trình thao tác và sử dụng.

6.1.6 Ý nghĩa thực tiễn

Đề tài mang đến một giải phát giao hàng mới giải quyết một khía cạnh nhỏ trong bài toán giao hàng. Khách hàng có thể giao nhiều món hàng chỉ trong một vận đơn duy nhất thay vì thược hiện theo cách thông thường mỗi món hàng giao bằng một vận đơn.

Đối với những món đồ như giấy tờ, công văn hay những đồ quan trọng người gửi muốn đảm bảo chắc chắn rằng tài xế giao hàng chính xác tới người nhận hệ thống cung cấp giải pháp xác thực người nhận thông qua mã QR.

6.2 Hướng phát triển đề tài

Giao hàng, vận chuyển hàng hóa là những hoạt động xảy ra hàng ngày vì vậy luôn xuất hiện những khía cạnh, những nhu cầu mới đòi hỏi hệ thống luôn luôn cải tiến và nâng cấp. Đề tài này đã hiện thực các tính năng cốt lõi để đảm bảo hệ thống có thể thực hiện hoàn thiện quá trình giao hàng bên cạnh đó vẫn còn nhiều tính năng cần được hoàn thiện và nâng cấp để hệ thống có thể sử dụng trong thực tế, cụ thể như sau:

• Cải thiện UI, UX nhằm mang đến một ứng dụng thân thiện, dễ sử dụng tới người dùng.

• Kiểm tra khả năng chịu tải của hệ thống, để nâng cấp vào tối ưu các đoạn mã.

• Dựa vào dữ liệu thu thập được thông qua quá trình vận hành trong thực tế tiến hành hoàn thiện các trường hợp đặc biệt xảy ra trong khi giao hàng.

• Dựa theo nhu cầu thực tế từ quản trị viên phát triển thêm các báo cáo về doanh thu, chi phí, lợi nhuận giúp hỗ trợ và tối ưu hóa quy trình giao, nhận hàng.

Bibliography

[1] Melnyk And Leonid Hryhorovych . (2019). The effect of industrial revolutions on the transformation of social and economic systems.

[2] Devezas, Tessaleno And Sarygulov, & Askar. (2017). Industry 4.0 (E-book). Springer.

[3] thegioididong. (2020, December 22). 7 ứng dụng gọi xe, đặt xe công nghệ phổ biến nhất tại Việt Nam. https://www.thegioididong.com/game-app/7-ung-dung-goi-dat- xe-cong-nghe-pho-bien-tai-viet-nam-1309064.

[4] Grab. (n.d.). Grab. Siêu Ứng Dụng Đa Dịch Vụ Hàng Đầu. https://www.grab.com/vn/. [5] Tieu Phuong. (2020). Thị phần gọi xe công nghệ Việt: Grab chiếm 3/4, Gojek

bám sát be. Vietnambiz.Vn. https://vietnambiz.vn/thi-phan-goi-xe-cong-nghe-viet- grab-chiem-3-4-gojek-bam-sat-be-20201118164337494.htm.

[6] Gojek. (n.d.). Gojek. https://www.gojek.com/vn/.

[7] Fortune. (2019). Change The World. https://fortune.com/change-theworld/2019/search/. [8] Be. (n.d.). Be. https://be.com.vn/.

[9] Be. (n.d.). Be triển khai ngân hàng số cùng VPBank.https://be.com.vn/tin-tuc/ngan- hang-so-cake-by-vpbank/.

[10] Jeff Forcier, Paul Bissex, & Wesley J Chun. (2008). Python web development with Django. (E-book).

[11] Top 10 Django Apps And Why Companies Are Using it (2020). https://www.geeksforgeeks.org/t 10-django-apps-and-why-companies-are-using-it/.

[12] Bonnie Eisenman (2015). Learning react native: Building native mobile apps with JavaScript. (E-book).

[14] R Reagan.(2018)Web Applications on Azure. Springer (E-book).

[15] Distributed Version Control Systems. (2021). [Illustration].

[16] Working tree, staging area, and Git directory. (2021). [Illustration]. https://git- scm.com/book/en/v2/images/areas.png.

Một phần của tài liệu Hệ thống hỗ trợ quản lý giao hàng (Trang 138 - 150)

Tải bản đầy đủ (PDF)

(150 trang)