5 Triển khai và kiểm thử
4.71 Các trạng thái của file trong Git [16]
4.6.2 GitFlow
GitFlow là một ý tưởng về cách sử dụng git. Ý tưởng bao gồm cách tạo các loại branchs và cách merge chúng lại với nhau.
• Nhánh master: Nhánh mặc định trong git, chứa mã nguồn khởi tạo của ứng dụng.
• Nhánh develop: Được tách từ nhánh master, dùng để merge code từ nhánh feature, sau khi đủ một vài tính năng code của nhánh master sẽ được merge vào nhánh release.
• Nhánh feature: Được tánh từ nhánh develop, dùng đế phát triển một tính năng mới, sau khi phát triển hoàn thiện tính năng code của nhánh feature sẽ được merge vào nhánh develop.
• Nhánh release: Được tách từ nhánh develop, dùng để kiểm tra lại các tính năng, sau đó code của nhánh release được merge qua nhánh master và develop.
• Nhánh hotfix: Được tánh từ nhánh master, dùng để sửa nhanh các lỗi trên sản phẩm, sau đó code của nhánh hotfix được merge qua nhánh release và nhánh master.
4.6.2.1 Service
• Cấu trúc thư mục gốc
STT Tên thư mục Mô tả
1 manage.py Chứa các command line giúp chạy chương trình thực hiện các tác vụ của admin
2 customer Thư mục chứa toàn bộ mã nguồn liên quan tới quản lý người dùng 3 realtime Thư mục chứa toàn bộ mã nguồn
liên quan tới quản lý vận đơn 4 delivery Thư mục chứa file cấu hình và định tuyến
trong chương trình 5 apiHelper Chứa các hàm dùng chung cho
toàn bộ chương trình
6 requirements.txt Chứa các thư viện dùng trong chương trình hỗ trợ quá trình triển khai trên server
7 Procfile Cấu hình giúp chạy web và hệ thống realtime khi triển khai 8 runtime.txt Cấu hình phiên bản python
Bảng 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.