Tải bản đầy đủ (.pdf) (134 trang)

NGHIÊN cứu lập TRÌNH DI ĐỘNG đa nền TẢNG và xây DỰNG ỨNG DỤNG CHO THUÊ PHÒNG TRỌ dựa TRÊN sự kết hợp FLUTTER, GOLANG và GRAPHQL

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (12.55 MB, 134 trang )

TRƯỜNG ĐẠI HỌC SƯ PHẠM
KHOA TIN HỌC
@&?

BÁO CÁO THỰC TẬP TỐT NGHIỆP
NGÀNH CƠNG NGHỆ THƠNG TIN

ĐỀ TÀI
NGHIÊN CỨU LẬP TRÌNH DI ĐỘNG ĐA NỀN TẢNG
VÀ XÂY DỰNG ỨNG DỤNG CHO THUÊ PHÒNG TRỌ
DỰA TRÊN SỰ KẾT HỢP FLUTTER, GOLANG VÀ GRAPHQL

Giảng viên hướng dẫn: TS. Nguyễn Thị Ngọc Anh
Nhóm thực hiện: Trịnh Nhật Hạ Vy – 18CNTT3
Nguyễn Đình Toản – 18CNTT4

Đà Nẵng, tháng 02 năm 2022


NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN
.................................................................................................................................
Đà Nẵng, ngày … tháng … năm …
Cán bộ hướng dẫn


NHẬN XÉT CỦA HỘI ĐỒNG PHẢN BIỆN
.................................................................................................................................
Đà Nẵng, ngày … tháng … năm …
Hội đồng phản biện



LỜI CAM ĐOAN
Chúng em tên là Trịnh Nhật Hạ Vy – 18CNTT3 và Nguyễn Đình Toản –
18CNTT4. Chúng em xin cam đoan đây là đề tài do chúng em thực hiện. Các nội
dung và kết quả nghiên cứu được trình bày trong báo cáo tốt nghiệp này là trung
thực và mọi tham khảo đều được trích dẫn, chỉ rõ nguồn tham khảo theo đúng quy
định.

Sinh viên thực hiện

Trịnh Nhật Hạ Vy

Nguyễn Đình Toản


LỜI CẢM ƠN
Đầu tiên, em xin chân thành cảm ơn Quý Thầy/Cô trong khoa Tin học đã
trang bị những kiến thức cho chúng em trong suốt quá trình học tập tại Trường
Đại học Sư phạm – Đại học Đà Nẵng vừa qua. Chính nhờ cơng lao giảng dạy,
chỉ bảo tận tình của Q Thầy/Cơ mà chúng em mới trang bị được kiến thức
chun ngành cơng nghệ thơng tin để có thể thực hiện tiếp chặng đường học tập,
vận dụng và sáng tạo ra những sản phẩm hữu ích góp phần phục vụ các lĩnh vực
khác nhau.
Với lịng kính trọng và biết ơn sâu sắc, chúng em xin gửi lời cảm ơn đến
giảng viên hướng dẫn, TS. Nguyễn Thị Ngọc Anh đã tận tình giúp đỡ chúng em
từ những bước đầu tiên khi xây dựng ý tưởng nghiên cứu, đề cương cũng như
trong suốt q trình thực hiện và hồn thiện báo cáo tốt nghiệp này.
Chúng em cũng xin gửi lời cảm ơn chân thành tới anh/chị đồng nghiệp ở
đơn vị thực tập The Bay City đã tạo mọi điều kiện thuận lợi và giúp đỡ chúng
trong thời gian học tập và nghiên cứu thực hiện báo cáo tốt nghiệp này này.
Mặc dù chúng em đã rất cố gắng và nổ lực để hoàn thành báo cáo tốt

nghiệp này nhưng trong phạm vi và khả năng cho phép, chắc chắn báo cáo sẽ
khơng tránh khỏi những thiếu sót. Chúng em rất mong nhận được sự thơng cảm,
góp ý và tận tình chỉ bảo của Q Thầy/Cơ để báo cáo được hồn thiện nhất.
Chúng em xin chân thành cảm ơn!
Nhóm sinh viên thực hiện

Trịnh Nhật Hạ Vy

Nguyễn Đình Toản


KẾ HOẠCH THỰC HIỆN ĐỀ TÀI CỦA NHÓM
Thời gian thực hiện
Nội dung công việc

Người thực hiện


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

Chương 1: Cơ sở lí thuyết
1.1 Tổng quan về ngơn ngữ Dart
1.2 Tổng quan về framework Flutter

Trịnh Nhật Hạ Vy

1.3 Tổng quan về ngôn ngữ Javascript

14/02/2022 –
18/02/2022


1.4 Tổng quan về framework ReactJS
1.5 Tổng quan về ngôn ngữ Golang
1.6 Tổng quan về gRPC
1.7 Tổng quan về GraphQL

Hồn thành nội
dung và viết báo
Nguyễn Đình Toản cáo chương 1

1.8 Hệ quản trị cơ sở dữ liệu
PostgetQL
Chương 2: Phân tích và thiết kế hệ thống
2.1 Phân tích yêu cầu đề tài
2.2 Nghiên cứu hiện trạng
2.3 Đặc tả hệ thống

21/02/2022 –
Trịnh Nhật Hạ Vy 01/04/2022
Nguyễn Đình Toản

2.4 Biểu đồ ca sử dụng

Hoàn thành nội
dung và viết báo
Trịnh Nhật Hạ Vy cáo chương 2.

2.5 Biểu đồ hoạt động

Trịnh Nhật Hạ Vy


2.6 Biểu đồ tuần tự
2.7 Thiết kế cơ sở dữ liệu
Lập trình giao diện cơ bản ứng dụng
Lập trình giao diện dành cho doanh
nghiệp của ứng dụng
Lập trình giao diện dành cho người

Hồn thiện mã
Nguyễn Đình Toản nguồn cho tất cả
chức năng của ứng
Nguyễn Đình Toản
dụng và trang web
Trịnh Nhật Hạ Vy (bao gồm Frontend
và Backend).


thuê của ứng dụng
Lập trình trang web cho người quản trị
Lập trình giao diện tin nhắn ứng dụng
Lập trình giao diện phương thức
thanh tốn cho ứng dụng
Lập trình API cơ bản
Lập trình API cho doanh nghiệp
Lập trình API cho người thuê
Lập trình API cho người quản trị

Nguyễn Đình Toản

Lập trình API tin nhắn

Lập trình API phương thức thanh tốn
Chương 3: Cài đặt chương trình và kết quả
3.1 Cài đặt chương trình
3.2 Kết quả chương trình

Trịnh Nhật Hạ Vy
Nguyễn Đình Toản

04/04/2022 –
08/04/2022
Hoàn thành nội
dung và viết báo
cáo chương 3.

Chương 4: Kết luận và hướng phát triển
4.1 Kết luận

4.2 Định hướng phát triển

11/04/2022 –
15/04/2022

Trịnh Nhật Hạ Vy Hồn thành
Nguyễn Đình Toản chương 4. Hoàn
thiện sản phẩm và
báo cáo TTTN


Báo cáo thực tập tốt nghiệp – Trịnh Nhật Hạ Vy & Nguyễn Đình Toản


MỤC LỤC
LỜI CAM ĐOAN
LỜI CẢM ƠN
KẾ HOẠCH THỰC HIỆN ĐỀ TÀI CỦA NHÓM
MỤC LỤC i
DANH MỤC BẢNG BIỂU................................................................................vi
DANH MỤC HÌNH VẼ....................................................................................vii
LỜI MỞ ĐẦU......................................................................................................2
1.

Lí do chọn đề tài.......................................................................................2

2.

Mục tiêu nghiên cứu.................................................................................3

3.

Đối tượng và phạm vi nghiên cứu............................................................4

4.

Phương pháp nghiên cứu..........................................................................4

5.

Ý nghĩa của đề tài.....................................................................................4

6.


Bố cục của đề tài.......................................................................................4

7.

Đóng góp của đồ án..................................................................................5

CHƯƠNG I: CƠ SỞ LÝ THUYẾT...................................................................7
1.1

Tổng quan về ngơn ngữ Dart....................................................................7

1.1.1

Khái niệm của Dart..............................................................................7

1.1.2

Lịch sử hình thành ngơn ngữ Dart........................................................7

1.1.3

Tại sao sử dụng ngơn ngữ Dart.............................................................8

1.1.4

Tính năng của Dart...............................................................................8

1.2

Tổng quan về framework Flutter............................................................10


1.2.1

Khái niệm của Flutter.........................................................................10

1.2.2

Kiến trúc của Flutter...........................................................................11

1.2.3

Đặc điểm của Flutter..........................................................................12

1.2.4

Tính năng của Flutter.........................................................................13

1.2.5

Ưu và nhược điểm của Flutter............................................................14

1.3

Tổng quan về ngôn ngữ Javascript.........................................................15

1.3.1

Khái niệm về Javascript.....................................................................15

1.3.2


Lịch sử của Javascript........................................................................16

1.3.3

Đặc điểm của Javascript.....................................................................17

1.3.4

Ưu điểm và nhược điểm của Javascript...............................................18


Báo cáo thực tập tốt nghiệp – Trịnh Nhật Hạ Vy & Nguyễn Đình Toản

1.3.5
1.4

Sự khác nhau giữa Javascript với các ngơn ngữ lập trình web khác.....20

Tổng quan về framework ReactJS..........................................................21

1.4.1

Khái niệm về ReactJS........................................................................21

1.4.2

Đặc trưng của ReactJS.......................................................................21

1.4.3


Ưu và nhược điểm của ReactJS..........................................................23

1.4.4

Sự phát triển của ReactJS...................................................................24

1.5

Tổng quan về ngôn ngữ Golang.............................................................25

1.5.1

Khái niệm Golang..............................................................................25

1.5.2

Lịch sử hình thành ngơn ngữ Golang..................................................25

1.5.3

Đặc điểm của Golang.........................................................................26

1.5.4

Ưu và nhược điểm của Golang...........................................................27

1.5.5

Các lĩnh vực ứng dụng Golang...........................................................28


1.6

Tổng quan về gRPC................................................................................28

1.6.1

Khái niệm gRPC................................................................................28

1.6.2

Các kiểu gRPC APIs..........................................................................30

1.6.3

Ưu và nhược điểm của gRPC.............................................................31

1.7

Tổng quan về GraphQL..........................................................................31

1.7.1

Khái niệm GraphQL..........................................................................31

1.7.2

Cấu trúc GraphQL.............................................................................32

1.7.3


Đặc điểm GraphQL............................................................................33

1.7.4

Ưu và nhược điểm GraphQL..............................................................34

1.8

Hệ quản trị cơ sở dữ liệu PostgetQL.......................................................34

1.8.1

Khái niệm về PostgetQL....................................................................34

1.8.2

Tính năng của PostgetQL...................................................................35

1.8.3

Vai trò của PostgetSQL......................................................................36

1.8.4

So sánh PostgetSQL và MySQL.........................................................36

CHƯƠNG II: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG..................................40
2.1


Phân tích u cầu đề tài..........................................................................40

2.1.1

Phát biểu bài toán...............................................................................40

2.1.2

Yêu cầu bài toán................................................................................42

2.2

Nghiên cứu hiện trạng.............................................................................43

2.3

Đặc tả hệ thống.......................................................................................44

2.4

Biểu đồ ca sử dụng..................................................................................44


Báo cáo thực tập tốt nghiệp – Trịnh Nhật Hạ Vy & Nguyễn Đình Toản

2.4.1

Biểu đồ ca sử dụng của hệ thống........................................................46

2.4.2


Biểu đồ ca sử dụng quản lí (dành cho người quản trị)..........................46

2.4.3

Biểu đồ ca sử dụng nhắn tin của hệ thống...........................................47

2.5

Biểu đồ hoạt động...................................................................................47

2.5.1

Biểu đồ hoạt động đăng kí..................................................................49

2.5.2

Biểu đồ hoạt động đăng nhập.............................................................50

2.5.3

Biểu đồ hoạt động khôi phục mật khẩu...............................................50

2.5.4

Biểu đồ hoạt động tạo toà nhà.............................................................51

2.5.5

Biểu đồ hoạt động chỉnh sửa tồ nhà...................................................51


2.5.6

Biểu đồ hoạt động xố tồ nhà............................................................51

2.5.7

Biểu đồ hoạt động thêm phòng...........................................................52

2.5.8

Biểu đồ hoạt động chỉnh sửa phịng....................................................52

2.5.9

Biểu đồ hoạt động xố phịng.............................................................52

2.5.10 Biểu đồ hoạt động tạo hoá đơn...........................................................52
2.5.11 Biểu đồ hoạt động chỉnh sửa hoá đơn.................................................53
2.5.12 Biểu đồ hoạt động xoá hoá đơn..........................................................53
2.5.13 Biểu đồ hoạt động đặt cọc..................................................................53
2.5.14 Biểu đồ hoạt động xác nhận đặt cọc....................................................54
2.5.15 Biểu đồ hoạt động rút lại tiền đặt cọc..................................................54
2.5.16 Biểu đồ hoạt động thanh toán hoá đơn................................................55
2.5.17 Biểu đồ hoạt động xác nhận trạng thái hoá đơn...................................55
2.5.18 Biểu đồ hoạt động tạo cuộc trò chuyện...............................................55
2.5.19 Biểu đồ hoạt động tạo nhóm hội thoại.................................................56
2.5.20 Biểu đồ hoạt động cập nhật cuộc hội thoại nhóm................................56
2.5.21 Biểu đồ hoạt động xoá cuộc hội thoại.................................................56
2.5.22 Biểu đồ hoạt động nhắn tin.................................................................57

2.5.23 Biểu đồ hoạt động gửi hình ảnh..........................................................57
2.5.24 Biểu đồ hoạt động xoá tin nhắn..........................................................57
2.6

Biểu đồ tuần tự........................................................................................57

2.6.1

Biểu đồ tuần tự đăng kí với email.......................................................60

2.6.2

Biểu đồ tuần tự đăng nhập với email...................................................60

2.6.3

Biểu đồ tuần tự tạo toà nhà.................................................................61

2.6.4

Biểu đồ tuần tự chỉnh sửa toà nhà.......................................................61


Báo cáo thực tập tốt nghiệp – Trịnh Nhật Hạ Vy & Nguyễn Đình Toản

2.6.5

Biểu đồ tuần tự xố tồ nhà................................................................62

2.6.6


Biểu đồ tuần tự thêm phòng................................................................62

2.6.7

Biểu đồ tuần tự chỉnh sửa phịng.........................................................63

2.6.8

Biểu đồ tuần tự xố phịng..................................................................63

2.6.9

Biểu đồ tuần tự đặt phịng...................................................................64

2.6.10 Biểu đồ tuần tự tạo hố đơn................................................................65
2.6.11 Biểu đồ tuần tự chỉnh sửa hoá đơn......................................................66
2.6.12 Biểu đồ tuần tự thanh toán hoá đơn.....................................................66
2.7

Thiết kế cơ sở dữ liệu.............................................................................67

2.7.1

Thiết kế bảng dữ liệu..........................................................................67

2.7.2

Thiết kế biểu đồ lớp...........................................................................75


2.7.3

Mơ hình cơ sở dữ liệu........................................................................76

CHƯƠNG III: CÀI ĐẶT CHƯƠNG TRÌNH VÀ KẾT QUẢ......................77
3.1

Cài đặt chương trình...............................................................................77

3.1.1

Cài đặt chương trình hệ thống.............................................................77

3.1.2

Cài đặt ứng dụng................................................................................77

3.1.3

Cài đặt trang web quản lí....................................................................77

3.2

Kết quả chương trình..............................................................................78

3.2.1

Giao diện khởi động...........................................................................78

3.2.2


Giao diện đăng nhập/đăng kí..............................................................78

3.2.3

Giao diện tạo tài khoản doanh nghiệp.................................................79

3.2.4

Giao diện tìm kiếm tồ nhà.................................................................79

3.2.5

Giao diện chi tiết toà nhà....................................................................80

3.2.6

Giao diện chi tiết căn hộ.....................................................................81

3.2.7

Giao diện đặt cọc phịng.....................................................................81

3.2.8

Giao diện rút lại tiền cọc.....................................................................82

3.2.9

Giao diện hố đơn của người dùng.....................................................83


3.2.10 Giao diện thanh toán hoá đơn.............................................................83
3.2.11 Giao diện hợp đồng............................................................................84
3.2.12 Giao diện quản lí tồ nhà....................................................................85
3.2.13 Giao diện quản lí căn hộ.....................................................................85
3.2.14 Giao diện thêm tồ nhà.......................................................................86
3.2.15 Giao diện chỉnh sửa toà nhà................................................................86


Báo cáo thực tập tốt nghiệp – Trịnh Nhật Hạ Vy & Nguyễn Đình Toản

3.2.16 Giao diện xố tồ tồ nhà...................................................................87
3.2.17 Giao diện thêm căn hộ........................................................................88
3.2.18 Giao diện chỉnh sửa căn hộ.................................................................88
3.2.19 Giao diện xoá căn hộ..........................................................................89
3.2.20 Giao diện tài chính.............................................................................89
3.2.21 Giao diện yêu cầu đặt cọc...................................................................90
3.2.22 Giao diện danh sách hợp đồng và hoá đơn..........................................91
3.2.23 Giao diện tạo hoá đơn........................................................................91
3.2.24 Giao diện chỉnh sửa hoá đơn..............................................................92
3.2.25 Giao diện xoá hoá đơn........................................................................93
3.2.26 Giao diện xác nhận thanh toán............................................................93
3.2.27 Giao diện danh sách cuộc trò chuyện..................................................94
3.2.28 Giao diện chi tiết cuộc trị chuyện.......................................................95
3.2.29 Giao diện thơng tin cuộc trị chuyện....................................................95
3.2.30 Giao diện tạo nhóm trị chuyện...........................................................96
3.2.31 Giao diện thêm người dùng vào nhóm trị chuyện...............................96
3.2.32 Giao diện thơng báo của ứng dụng......................................................97
3.2.33 Giao diện tài khoản............................................................................98
3.2.34 Giao diện cập nhật tài khoản...............................................................98

3.2.35 Giao diện đăng nhập (website quản lí)................................................98
3.2.36 Giao diện quản lí người dùng (website quản lí)...................................99
3.2.37 Giao diện quản lí tồ nhà, căn hộ (website quản lí)............................101
3.2.38 Giao diện quản lí hợp đồng (website quản lí)....................................106
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.....................................................109
1.

Kết quả đạt được...................................................................................109

2.

Hạn chế của đề tài.................................................................................110

3.

Hướng phát triển...................................................................................110

TÀI LIỆU THAM KHẢO...............................................................................110


Báo cáo thực tập tốt nghiệp – Trịnh Nhật Hạ Vy & Nguyễn Đình Toản

DANH MỤC BẢNG BIỂU
Bảng 1: So sánh PostgetSQL và MySQL............................................................36
Bảng 2: Đặc tả hệ thống......................................................................................44
Bảng 4: Thực thể USER......................................................................................67
Bảng 5: Thực thể BUILDING.............................................................................68
Bảng 6: Thực thể APARTMENT........................................................................69
Bảng 7: Thực thể CONTRACT...........................................................................69
Bảng 8: Thực thể BILL.......................................................................................70

Bảng 9: Thực thể BUILDING_COMMENT......................................................71
Bảng 10: Thực thể Booking................................................................................71
Bảng 11: Thực thể NOTIFICATION..................................................................72
Bảng 12: Thực thể CHAT_ROOM.....................................................................72
Bảng 13: Thực thể CHAT_MESSAGE...............................................................73
Bảng 14: Thực thể CHAT_MEMBER................................................................73
Bảng 15: Thực thể USER_MESSAGE...............................................................74
Bảng 16: Thực thể USER_CHAT_ROOM.........................................................74
Bảng 17: Thực thể CITY.....................................................................................74
Bảng 18: Thực thể DISTRICT............................................................................75
Bảng 19: Thực thể WARD..................................................................................75


Báo cáo thực tập tốt nghiệp – Trịnh Nhật Hạ Vy & Nguyễn Đình Toản

DANH MỤC HÌNH VẼ

Hình 1: Tính năng của ngơn ngữ Dart...................................................................8
Hình 2: Kiến trúc của Flutter...............................................................................11
Hình 3: Cách hoạt động của Javascript...............................................................18
Hình 4: Thành phần Vitural DOM......................................................................22
Hình 5: Mơ hình giao tiếp client/server trong RPC............................................29
Hình 6: Cấu trúc GraphQL..................................................................................33
Hình 7: Các kí hiệu của biểu đồ ca sử dụng........................................................46
Hình 8: Biểu đồ ca sử dụng của hệ thống............................................................46
Hình 9: Biểu đồ ca sử dụng quản lí (dành cho người quản trị)...........................47
Hình 10: Biểu đồ ca sử dụng nhắn tin.................................................................47
Hình 11: Kí hiệu các hoạt động trong biểu đồ hoạt động...................................48
Hình 12: Kí hiệu đồng hố các hoạt động trong biểu đồ hoạt động....................48
Hình 13: Kí hiệu đồng hố có điều kiện trong biểu đồ hoạt động......................49

Hình 14: Kí hiệu quyết định trong biểu đồ hoạt động.........................................49
Hình 15: Kí hiệu quyết định kết hợp trong biểu đồ hoạt động............................49
Hình 16: Biểu đồ hoạt động đăng kí...................................................................50
Hình 17: Biểu đồ hoạt động đăng nhập...............................................................50
Hình 18: Biểu đồ hoạt động khơi phục mật khẩu................................................51
Hình 19: Biểu đồ hoạt động tạo tồ nhà..............................................................51
Hình 20: Biểu đồ hoạt động chỉnh sửa tồ nhà...................................................51
Hình 21: Biểu đồ hoạt động xố tồ nhà.............................................................52
Hình 22: Biểu đồ hoạt động thêm phịng............................................................52
Hình 23: Biểu đồ hoạt động chỉnh sửa phịng.....................................................52
Hình 24: Biểu đồ hoạt động xố phịng...............................................................52
Hình 25: Biểu đồ hoạt động tạo hố đơn.............................................................53
Hình 26: Biểu đồ hoạt động chỉnh sửa hố đơn..................................................53
Hình 27: Biểu đồ hoạt động xố phịng...............................................................53
Hình 28: Biểu đồ hoạt động đặt cọc....................................................................54
Hình 29: Biểu đồ hoạt động xác nhận đặt cọc.....................................................54
Hình 30: Biểu đồ hoạt động rút lại tiền cọc........................................................55
Hình 31: Biểu đồ hoạt động thanh tốn hố đơn.................................................55


Báo cáo thực tập tốt nghiệp – Trịnh Nhật Hạ Vy & Nguyễn Đình Toản

Hình 32: Biểu đồ hoạt động xác nhận trạng thái hố đơn...................................55
Hình 33: Biểu đồ hoạt động tạo cuộc trị chuyện................................................56
Hình 34: Biểu đồ hoạt động tạo nhóm hội thoại.................................................56
Hình 35: Biểu đồ hoạt động cập nhật cuộc hội thoại nhóm................................56
Hình 36: Biểu đồ hoạt động xố cuộc hội thoại..................................................56
Hình 37: Biểu đồ hoạt động nhắn tin..................................................................57
Hình 38: Biểu đồ hoạt động gửi hình ảnh...........................................................57
Hình 39: Biểu đồ hoạt động xố tin nhắn............................................................57

Hình 40: Kí hiệu đối tượng trong biểu đồ tuần tự...............................................57
Hình 41: Kí hiệu thời gian hoạt động trong biểu đồ tuần tự...............................58
Hình 42: Kí hiệu cách gửi thơng điệp trong biểu đồ tuần tự...............................58
Hình 43: Kí hiệu thơng điệp trả về trong biểu đồ tuần tự...................................58
Hình 44: Kí hiệu thơng điệp gửi trong biểu đồ tuần tự.......................................59
Hình 45: Kí hiệu tạo/huỷ phương thức trong biểu đồ tuần tự.............................59
Hình 46: Kí hiệu lặp thơng điệp trong biểu đồ tuần tự........................................59
Hình 47: Kí hiệu lặp thơng điệp có điều kiện trong biểu đồ tuần tự...................59
Hình 48: Kí hiệu gửi phụ thuộc có điều kiện trong biểu đồ tuần tự....................60
Hình 49: Kí hiệu đệ quy trong biểu đồ tuần tự....................................................60
Hình 50: Biểu đồ tuần tự đăng kí với email........................................................60
Hình 51: Biểu đồ tuần tự đăng nhập với email...................................................61
Hình 52: Biểu đồ tuần tự tạo tồ nhà...................................................................61
Hình 53: Biểu đồ tuần tự chỉnh sửa tồ nhà........................................................62
Hình 54: Biểu đồ tuần tự xố tồ nhà..................................................................62
Hình 55: Biểu đồ tuần tự thêm phịng.................................................................63
Hình 56: Biểu đồ tuần tự chỉnh sửa phịng..........................................................63
Hình 57: Biểu đồ tuần tự xố phịng...................................................................64
Hình 58: Biểu đồ tuần tự đặt phịng....................................................................65
Hình 59: Biểu đồ tuần tự tạo hố đơn.................................................................66
Hình 60: Biểu đồ tuần tự chỉnh sửa hố đơn.......................................................66
Hình 61: Biểu đồ tuần tự thanh tốn hố đơn.....................................................67
Hình 62: Biểu đồ lớp của hệ thống......................................................................76
Hình 63: Sơ đồ quan hệ cơ sở dữ liệu.................................................................76
Hình 64: Giao diện khởi động 1..........................................................................78


Báo cáo thực tập tốt nghiệp – Trịnh Nhật Hạ Vy & Nguyễn Đình Toản

Hình 65: Giao diện khởi động 2..........................................................................78

Hình 66: Giao diện khởi động 3..........................................................................78
Hình 67: Màn hình tạo tài khoản.........................................................................79
Hình 68: Màn hình đăng kí.................................................................................79
Hình 69: Màn hình đăng nhập.............................................................................79
Hình 70: Màn hình tạo tài khoản doanh nghiệp 1...............................................79
Hình 71: Màn hình tạo tài khoản doanh nghiệp 2...............................................79
Hình 72: Màn hình tìm kiếm...............................................................................80
Hình 73: Màn hình tuỳ chỉnh..............................................................................80
Hình 74: Màn hình xem bản đồ...........................................................................80
Hình 75: Màn hình chi tiết..................................................................................80
Hình 76: Màn hình bình luận tồ nhà..................................................................80
Hình 77: Màn hình bản đồ vị trí của tồ nhà.......................................................80
Hình 78: Màn hình chi tiết căn hộ 1....................................................................81
Hình 79: Màn hình chi tiết căn hộ 2....................................................................81
Hình 80: Màn hình chọn phương pháp................................................................82
Hình 81: Màn hình thơng báo.............................................................................82
Hình 82: Màn hình rút lại tiền cọc......................................................................82
Hình 83: Màn hình xác nhận rút lại tiền cọc.......................................................82
Hình 84: Giao diện danh sách hố đơn...............................................................83
Hình 85: Màn hình chi tiết hố đơn....................................................................83
Hình 86: Màn hình chọn phương thức thanh tốn..............................................84
Hình 87: Màn hình xác nhận thanh tốn thành cơng...........................................84
Hình 88: Màn hình chờ xác nhận đã thanh tốn..................................................84
Hình 89: Màn hình danh sách hợp đồng.............................................................84
Hình 90: Màn hình chi tiết hố đơn (của người dùng)............................................84
Hình 91: Màn hình quản lí tồ nhà......................................................................85
Hình 92: Màn hình chi tiết tồ nhà......................................................................85
Hình 93: Màn hình căn hộ...................................................................................85
Hình 94: Màn hình căn hộ (1).................................................................................85
Hình 95: Màn hình căn hộ (2)...............................................................................85

Hình 96: Màn hình thêm tồ nhà (1)......................................................................86
Hình 97: Màn hình thêm toà nhà (2)......................................................................86


Báo cáo thực tập tốt nghiệp – Trịnh Nhật Hạ Vy & Nguyễn Đình Toản

Hình 98: Màn hình ghim vị trí tồ nhà trên bản đồ.................................................86
Hình 99: Màn hình chọn chỉnh sửa.....................................................................87
Hình 100: Màn hình chỉnh sửa tồ nhà (1)..........................................................87
Hình 101: Màn hình chỉnh sửa tồ nhà (2)..........................................................87
Hình 102: Màn hình xố tồ nhà (1)...................................................................87
Hình 103: Màn hình xố tồ nhà (2)...................................................................87
Hình 104: Màn hình thêm phịng mới (1)...........................................................88
Hình 105: Màn hình thêm phịng mới (2)...........................................................88
Hình 106: Màn hình chỉnh sửa phịng (1)...........................................................89
Hình 107: Màn hình chính sửa phịng (2)...........................................................89
Hình 108: Màn hình chỉnh sửa phịng (3)...........................................................89
Hình 109: Màn hình xố phịng (1).....................................................................89
Hình 110: Màn hình xố phịng (2).....................................................................89
Hình 111: Màn hình quản lí tài chính.................................................................90
Hình 112: Màn hình danh sách các yêu cầu đặt cọc...........................................90
Hình 113: Màn hình danh sách các hợp đồng.....................................................91
Hình 114: Màn hình danh sách các hố đơn.......................................................91
Hình 115: Màn hình tạo hố đơn mới (1)............................................................92
Hình 116: Màn hình tạo hố đơn (2)...................................................................92
Hình 117: Màn hình chi tiết hố đơn..................................................................92
Hình 118: Màn hình chỉnh sửa hố đơn (1)........................................................92
Hình 119: Màn hình chỉnh sửa hố đơn (2)........................................................92
Hình 120: Màn hình xố hố đơn........................................................................93
Hình 121: Màn hình xác nhận xố hố đơn........................................................93

Hình 122: Màn hình xác nhận thanh tốn...........................................................94
Hình 123: Màn hình thanh tốn thành cơng........................................................94
Hình 124: Màn hình danh sách các cuộc trị chuyện...........................................94
Hình 125: Màn hình cuộc trị chuyện 1-1...........................................................95
Hình 126: Màn hình cuộc trị chuyện nhóm........................................................95
Hình 127: Màn hình thơng tin người trị chuyện.................................................95
Hình 128: Màn hình thơng tin trị chuyện nhóm.................................................95
Hình 129: Màn hình danh bạ người dùng...........................................................96
Hình 130: Màn hình tạo nhóm trị chuyện..........................................................96


Báo cáo thực tập tốt nghiệp – Trịnh Nhật Hạ Vy & Nguyễn Đình Toản

Hình 131: Màn hình chi tiết nhóm.........................................................................97
Hình 132: Màn hình thêm người dùng................................................................97
Hình 133: Màn hình sau khi thêm thành cơng....................................................97
Hình 134: Màn hình thơng báo (1)......................................................................97
Hình 135: Màn hình thơng báo (2)......................................................................97
Hình 136: Màn hình tài khoản người dùng.........................................................98
Hình 137: Màn hình chỉnh sửa tài khoản............................................................98
Hình 138: Màn hình chỉnh sửa mật khẩu............................................................98
Hình 139: Trang web đăng nhập dành cho người quản lí...................................99
Hình 140: Trang web quản lí người dùng...........................................................99
Hình 141: Thơng tin chi tiết của tài khoản........................................................100
Hình 142: Form thêm mới tài khoản.................................................................100
Hình 143: Form chỉnh sửa tài khoản.................................................................101
Hình 144: Xố tài khoản...................................................................................101
Hình 145: Trang web quản lí tồ nhà................................................................102
Hình 146: Chi tiết tồ nhà.................................................................................102
Hình 147: Form thêm mới tồ nhà....................................................................103

Hình 148: Form chỉnh sửa tồ nhà....................................................................103
Hình 149: Xố tồ nhà......................................................................................104
Hình 150: Chi tiết căn hộ..................................................................................104
Hình 151: Form thêm mới căn hộ.....................................................................105
Hình 152: Form chỉnh sửa căn hộ.....................................................................106
Hình 153: Xố căn hộ........................................................................................106
Hình 154: Trang web quản lí hợp đồng............................................................107
Hình 155: Chi tiết hợp đồng..............................................................................107
Hình 156: Chỉnh sửa hợp đồng.........................................................................108
Hình 157: Xác nhận kết thúc hợp đồng.............................................................108


Báo cáo thực tập tốt nghiệp – Trịnh Nhật Hạ Vy & Nguyễn Đình Toản

LỜI MỞ ĐẦU
1. Lí do chọn đề tài
Ngày nay thuê trọ là vấn đề được nhiều người quan tâm, đặc biệt là Sinh
viên và Người lao động vì cơng việc, học hành mà sống xa nhà, mong muốn tìm
được một nơi ở thích hợp, an ninh, sạch sẽ; đồng thời phải thuận tiện cho việc đến
trường, làm việc là một điều cần thiết. Nhà trọ, phòng trọ thường được xây dựng ở
những nơi mặt tiền đường. Tuy nhiên, với nhu cầu hiện nay thì nhà trọ cũng được
xây dựng ở các hẻm, ngõ, ở những vị trí khác nhau thì chi phí th cũng khác nhau.
Về vấn đề quản lí người thuê trọ, một dãy nhà trọ có quy mơ nhỏ cũng phải
có 10 - 20 phịng. Cịn nhà trọ lớn quy mơ đơi khi lên đến cả trăm phòng trọ. Mỗi
căn phòng trọ lại là một khách hàng, bao nhiêu phịng trọ thì sẽ có bấy nhiêu vấn
đề xảy ra. Đó là chưa kể đối tượng khách hàng mà loại hình này nhắm tới khá
rộng, đủ mọi tầng lớp. Từ sinh viên, người mới đi làm, cơng nhân, hộ gia đình trẻ
chưa có nhà ở, người lao động nhập cư... Bởi sự đa dạng và mỗi người một kiểu
nên việc quản lý người thuê trọ là bài toán khá nan giải với nhiều người kinh
doanh. Bên cạnh đó, khi quản lý 10 - 20 hay cả trăm phịng trọ thì khối lượng

cơng việc cần phải giải quyết sẽ là rất khủng khiếp.  Bởi lẽ, cũng là hình thức kinh
doanh cho thuê nên để giữ chân được khách trọ, người đầu tư cũng cần phải có
biện pháp xử lý các vấn đề, đáp ứng được mong muốn của người thuê. Chẳng hạn
như sửa chữa các hư hỏng phát sinh trong quá trình thuê. Rồi sau một thời một
thời gian cũng phải tiến hành tân trang, sửa sang, nâng cấp lại khu nhà trọ. Hay
chỉ riêng việc quản lý an ninh, đi nhắc nhở các phòng vi phạm quy định. Ghi chỉ
số đồng hồ điện nước, nhắc khách thuê đóng tiền nhà thơi cũng đã đủ đau đầu,
bởi khơng phải vị khách nào cũng có ý thức, cũng chủ động chấp hành các quy
định.
Về vấn đề đi tìm phịng trọ, đối tượng đi tìm trọ có thể là Sinh viên hoặc
Người lao động vì học hành mà sống xa nhà nên khi chọn phịng trọ họ ln cần
quan tâm đến nhiều yếu tố. Về chất lượng phòng ở, các vấn đề như tường có
chắc chắn hay khơng, chất lượng sơn phủ có ổn khơng hay đã bong tróc, nếu có
vấn đề thì chủ nhà trọ có sửa lại ln khơng. Các cửa chính, ổ khóa có đảm bảo
an tồn phịng chống trộm khơng. Trong phịng trọ cần phải có đủ cửa sổ, cửa
thơng gió và có mái che để tránh phịng q bí bức, hay q ẩm thấp. Đường
ống nước, vịi nước liệu có đang bị rị rỉ, hỏng hay tắc khơng… Về vấn đề vị trí


Báo cáo thực tập tốt nghiệp – Trịnh Nhật Hạ Vy & Nguyễn Đình Toản

và an ninh, đây là vấn đế đáng được quan tâm để có một chỗ ở tốt. Người đi
thuê nhà cũng cần thận trọng khi đi giao dịch với người chủ/người môi giới.
Thường xảy ra các trường hợp bị lừa gạt về tiền của hay bị thiệt về lợi ích vì
người chủ/mơi giới có thiếu những giấy tờ liên quan như: giấy tờ sở hữu nhà cho
thuê cùng các giấy tờ pháp lý khác để chứng minh họ có đủ điều kiện quyết định
với nhà. Tiếp theo là về giá cả, giá cả cũng là một tiêu chí được quan tâm hàng
đầu mỗi khi các bạn sinh viên đi thuê nhà. Mỗi quận huyện lại có mức giá thuê
khác nhau, và nó cũng tùy vào dạng căn nhà. Càng về khu vực trung tâm hay
càng ở những khu chung cư chất lượng cao, giá thuê sẽ lại càng cao. Ngồi tiền

th phịng, người th cũng cần biết trước những khoản phí khác như tiền điện,
tiền nước, tiền wifi, tiền gửi xe,… Hiện nay thay vì đi tìm nhà trọ tận nơi một
cách thủ cơng như trước thì người đi thuê đã có thêm nhiều phương pháp đơn
giản hơn như tìm kiếm trên Google, Facebook. Trên những trang này giờ đã có
các hội nhóm chun tìm và cho thuê trọ. Tại đây, người đi thuê sẽ được cung
cấp rõ thơng tin về vị trí nhà, tiện ích, giá thuê cũng như xem được những hình
ảnh trực quan về nhà. Nhưng các vấn đề liên quan đến chi trả, cần bàn bạc, trao
đổi, hợp đồng đều không thể trao đổi qua mạng xã hội mà cần một ứng dụng có
thể quản lí những giao dịch, trao đổi giữa người đi thuê và người cho thuê.
Bên cạnh đó, sự hỗ trợ mạnh mẽ của các ngơn ngữ lập trình, cùng với sự ra
đời của các framework đã thúc đẩy nhóm em chọn đề tài “Nghiên cứu lập trình di
động đa nền tảng và xây dựng ứng dụng cho thuê phòng trọ dựa trên sự kết hợp
Flutter, Golang Và GraphQL” để thực hiện thực tập tốt nghiệp nhằm đáp ứng
theo chương trình đào tạo đồng thời mong muốn ứng dụng công nghệ đó vào việc
tìm hiểu và đưa ra một giải pháp tốt nhằm giải quyết cơng việc cho th phịng trọ
online.
2. Mục tiêu nghiên cứu
Mục tiêu của đồ án là tìm ra giải pháp hiệu quả để giải quyết công cho
thuê phòng trọ. Các mục tiêu cụ thể của đề tài gồm:
- Tìm ra phương pháp hiệu quả trong việc cho th phịng trọ của người cho
th.
- Tìm ra phương pháp hiệu quả trong việc đi tìm phịng trọ của người đi
th.
- Tìm ra phương pháp quản lí hiệu quả các hợp đồng cho thuê, hoá đơn chi
trả điện, nước, tiền thuê hàng tháng,…


Báo cáo thực tập tốt nghiệp – Trịnh Nhật Hạ Vy & Nguyễn Đình Toản

- Ứng dụng ngơn ngữ Dart và công nghệ Flutter vào xây dựng ứng dụng di

động cho th phịng trọ.
- Ứng dụng ngơn ngữ GoLang và công nghệ GraphQL và GRPC vào xây
dựng backend cho ứng dụng.
- Ứng dụng công nghệ React JS vào xây dựng website quản lí cho người quản
trị.
3. Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu gồm:
-

Các chức năng của người cho thuê, người đi thuê.
Thông tin các tỉnh/thành, quận/huyện, phường/xã.
Thông tin liên quan đến hợp đồng cho thuê.
Thông tin liên quan đến hố đơn thanh tốn.
Cổng thanh tốn ví điện tử.
Các chức năng nhắn tin riêng và nhắn tin nhóm.
Giới hạn phạm vi nghiên cứu trong đề tài gồm:

- Tập trung xây dựng hệ thống giúp cho thuê và người đi thuê trọ có thể dễ
dàng tiếp cận nhau. Người cho thuê có thể dễ dàng đăng tải và quản lí thơng tin
phịng mà mình muốn th. Người đi th có thể dễ dàng tìm kiếm được phịng
với giá cả, tiện ích hợp lí. Hai bên có thể quản lí hợp đồng thanh tốn, cho th
một cách tiện lợi.
- Đề tài được xây dựng bởi các ngôn ngữ lập trình như: Dart, Javascript,
Go, HTML, CSS, với cơng nghệ Flutter, GoLang, GraphQL, GRPC và ReactJS.
4. Phương pháp nghiên cứu
- Phương pháp lý thuyết: Nghiên cứu các tài liệu liên quan đến các nội
dung nghiên cứu: Tài liệu về các ngôn ngơn ngữ lập trình, các framework
Flutter, GoLang và ReactJS, các nhu cầu của người cho thuê, người đi thuê.
- Phương pháp thực nghiệm: Nghiên cứu, xây dựng các phương pháp đặt cọc,
th phịng, tìm phịng, trao đổi thơng tin qua lại dưới dạng tin nhắn và quản lí hiệu

quả cho việc thuê phòng trọ. Phát triển ứng dụng thuê phòng trọ và đánh giá kết quả.
5. Ý nghĩa của đề tài
Đề tài đang hướng vào ứng dụng công nghệ thông tin trong lĩnh vực bất
động sản, cụ thể là ứng dụng cho th phịng trọ. Việc ứng dụng cơng nghệ thơng
tin vào lĩnh vực này nhằm đẩy mạnh q trình áp dụng công nghệ thông tin vào


Báo cáo thực tập tốt nghiệp – Trịnh Nhật Hạ Vy & Nguyễn Đình Toản

cuộc sống. Và đề tài hướng đến người sử dụng là tất cả mọi người, đặc biệt có ích
đối với các sinh viên, người lao động sống xa nhà, hay người mơi giới,… Đóng
góp chính của đề tài là đề xuất phương pháp thích hợp cho người đi thuê và người
cho thuê một cách nhanh chóng và rõ ràng, gồm đầy đủ các bản hợp đồng, hoá
đơn thanh toán và các cuộc trao đổi qua tin nhắn.
6. Bố cục của đề tài
Trên cơ sở các nội dung nghiên cứu, để đạt mục tiêu đề ra và đảm bảo tính
logic, ngồi phần mở đầu và phần kết luận, đồ án được tổ chức thành các chương như
sau:
Chương 1. Cơ sở lý thuyết. Chương này trình bày kết quả nghiên cứu về lập
trình đa nền tảng; trình bày các cơ sở lí thuyết về ngơn ngữ lập trình: Dart, GoLang,
Javascript cùng các framework tương ứng Flutter, GraphQL, GRPC, ReactJS được
sử dụng trong việc xây dựng đề tài.
Chương 2: Phân tích và thiết kế hệ thống. Chương này giới thiệu bài tốn
và đưa ra các mơ hình hệ thống; đề xuất các ý tưởng, chức năng cho phần mềm;
trình bày các mơ hình thực thể quan hệ, sơ đồ phân cấp chức năng. Phân tích chi
tiết các chức năng của người sử dụng và người quản lí; thiết kế giao diện người
dùng và thiết dữ liệu, chức năng cho hệ thống.
Chương 3: Cài đặt chương trình và kết quả. Trong chương này, nêu kết
quả thực hiện được của đề tài và trình bày cách cài đặt chương trình.
7. Đóng góp của đồ án

Trong đồ án thực tập tốt nghiệp này, chúng em đã vận dụng linh hoạt
những kiến thức đã được học trên giảng đường để thực hiện đề tài. Bên cạnh đó,
chúng em cũng đã cùng nhau trao đổi, bàn bạc, đưa ra ý tưởng và đề xuất hướng
các tác vụ của người dùng cùng với đơn vị thực tập, nhằm xây dựng một đồ án
thực tập tốt nghiệp hoàn chỉnh cũng như một sản phẩm thân thiện cho người sử
dụng. Những đóng góp chính của đồ án thực tập tốt nghiệp:
Phân tích rõ ràng vai trị của người sử dụng trong hệ thống.
- Đối với người đi th trọ/căn hộ, người dùng có thể tìm kiếm các tồ
nhà/dãy trọ và đặt cọc phịng mà mình muốn th. Người dùng có thể tiến hành
thanh tốn các hố đơn tiền điện, nước, chi phí th phịng và quản lí được mọi
hố đơn trên ứng dụng nhằm đảm bảo tính rõ ràng và chính xác giữa người đi


Báo cáo thực tập tốt nghiệp – Trịnh Nhật Hạ Vy & Nguyễn Đình Toản

thuê và cho thuê. Hợp đồng thuê phòng cũng được thể hiện một cách cụ thể và
đầy đủ các thông tin cần thiết.
- Đối với người cho th trọ/căn hộ, họ có thể đăng tải thơng tin cần tồ
nhà/dãy trọ và các phịng trọ/căn hộ gồm các thơng tin liên quan, tiện ích và giá
đặt cọc, giá thuê. Họ cũng là người xác nhận các yêu cầu đặt cọc phòng cho
người thuê để tạo hợp đồng cho người th. Người chủ có thể tạo các hố đơn
điện, nước, chi phí th ứng với phịng đó và quản lí việc chi trả hố đơn trên
ứng dụng.
- Đối với người quản lí, họ có thể quản lí tồn bộ các thơng tin người dùng,
tồ nhà, căn hộ, hố đơn, hợp đồng của hệ thống
Phân tích và thiết kế chức năng thanh toán hoá đơn trực tuyến
Nghiên cứu và triển khai thực nghiệm chức năng thanh toán hoá đơn trực
tuyến nhằm đáp ứng được sự nhanh chóng, tiện dụng, tiết kiệm thời gian của
người dùng. Bên cạnh đó, khi thanh tốn trực tuyến, người dùng dễ dàng quản lí,
kiểm sốt được tài chính, trạng thái hố đơn của mình. Ngồi ra, việc thanh tốn

trực tuyến làm tăng tính chun nghiệp trong kinh doanh cũng như quy trình
hoạt động của ứng dụng.
Thiết kế chức năng nhắn tin cá nhân và nhắn tin nhóm cho ứng dụng
Việc liên lạc giữa người cho thuê và người đi thuê là thực sự cần thiết để
trao đổi về các vấn đề liên quan đến hợp đồng, hoá đơn, điện nước hay các vấn
đề liên quan đến phòng đang thuê. Chức năng nhắn tin cá nhân hoặc nhắn tin
nhóm nhằm đáp ứng nhu cầu trao đổi một cách thuận tiện cho người dùng mà
không cần phải sử dụng thông qua một ứng dụng khác để trao đổi các vấn đề
liên quan.


Báo cáo thực tập tốt nghiệp – Trịnh Nhật Hạ Vy & Nguyễn Đình Toản

CHƯƠNG I: CƠ SỞ LÝ THUYẾT

1.1 Tổng quan về ngôn ngữ Dart
1.1.1 Khái niệm của Dart
Dart là một ngơn ngữ lập trình hiện đại có mục đích chung, cấp cao, được
phát triển ban đầu bởi Google. Đây là ngơn ngữ lập trình mới xuất hiện vào năm
2011, nhưng phiên bản ổn định của nó đã được phát hành vào tháng 6 năm 2017.
Dart không quá phổ biến vào thời điểm đó, nhưng nó đã trở nên phổ biến khi
được sử dụng bởi Flutter[1].
Dart là một ngôn ngữ lập trình động, dựa trên lớp, hướng đối tượng với
phạm vi đóng và từ vựng. Về mặt cú pháp, nó khá giống với Java, C và JavaScript.
Nếu bạn biết bất kỳ ngơn ngữ lập trình nào trong số này, bạn có thể dễ dàng học
ngơn ngữ lập trình Dart.
Dart là một ngơn ngữ lập trình mã nguồn mở được sử dụng rộng rãi để
phát triển ứng dụng di động, ứng dụng web hiện đại, ứng dụng máy tính để bàn
và Internet of Things (IoT) bằng cách sử dụng khung Flutter. Nó cũng hỗ trợ
một số khái niệm nâng cao như giao diện, mixin, lớp trừu tượng, tổng thể trường

và giao diện kiểu. Nó là một ngơn ngữ biên dịch và hỗ trợ hai loại kỹ thuật biên
dịch[1].
- AOT (Ahead of Time) – Nó chuyển đổi mã Dart sang mã JavaScript được
tối ưu hóa với sự trợ giúp của trình biên dịch dar2js và chạy trên tất cả các trình
duyệt web hiện đại. Nó biên dịch mã tại thời điểm xây dựng[1].
- JOT (Just-In-Time) – Nó chuyển đổi mã byte trong mã máy (mã gốc),
nhưng chỉ mã cần thiết[1].
1.1.2 Lịch sử hình thành ngơn ngữ Dart
Dart được tiết lộ lần đầu tiên trong hội nghị GOTO vào tháng 10 – 12
tháng 10 năm 2011 tại Aarhus, Đan Mạch. Ban đầu nó được thiết kế bởi Lars và
Kespar và được phát triển bởi Google. Phiên bản 1.0 đầu tiên của Dart được
phát hành vào ngày 14 tháng 11 năm 2013, nhằm mục đích thay thế JavaScript.
Vào tháng 7 năm 2014, ấn bản đầu tiên của ngôn ngữ Dart đã được Ecma
International thông qua tại Đại hội đồng lần thứ 107 của tổ chức này. Phiên bản
đầu tiên đã bị chỉ trích do sự cố trên web và kế hoạch này đã bị loại bỏ vào năm
2015 với bản phát hành 1.9 của Dart. Phiên bản thứ hai của Dart 2.0 được phát
hành vào tháng 8, bao gồm một hệ thống âm thanh. Phiên bản gần đây Dart 2.7


Báo cáo thực tập tốt nghiệp – Trịnh Nhật Hạ Vy & Nguyễn Đình Toản

được bổ sung thêm phương thức mở rộng, cho phép người dùng thêm bất kỳ loại
chức năng nào[1].
1.1.3 Tại sao sử dụng ngôn ngữ Dart
Dart là một ngôn ngữ độc lập với nền tảng và hỗ trợ tất cả các hệ điều
hành như Windows, Mac, Linux, v.v. Nó là một ngơn ngữ mã nguồn mở, có
nghĩa là nó có sẵn miễn phí cho tất cả mọi người. Nó đi kèm với giấy phép BSD
và được cơng nhận bởi tiêu chuẩn ECMA. Nó là một ngơn ngữ lập trình hướng
đối tượng và hỗ trợ tất cả các tính năng của oops như kế thừa, giao diện và các
tính năng kiểu tùy chọn. Dart rất hữu ích trong việc xây dựng các ứng dụng thời

gian thực vì tính ổn định của nó. Dart đi kèm với trình biên dịch dar2js để truyền
mã Dart thành mã JavaScript chạy trên tất cả các trình duyệt web hiện đại. Máy
ảo Dart độc lập cho phép mã Dart chạy trong môi trường giao diện dòng lệnh[2].
Mọi thứ trong Dart được coi như một đối tượng bao gồm, số, Boolean,
hàm, v.v. giống như Python. Tất cả các đối tượng kế thừa từ lớp Đối tượng.
Cơng cụ Dart có thể báo cáo hai loại sự cố trong khi mã hóa, cảnh báo và lỗi.
Cảnh báo là dấu hiệu cho thấy mã của bạn có thể có một số vấn đề, nhưng nó
khơng làm gián đoạn quá trình thực thi của mã, ngược lại lỗi có thể ngăn chặn
việc thực thi mã. Dart hỗ trợ gõ âm thanh.
1.1.4 Tính năng của Dart
Dart là một ngơn ngữ lập trình hướng đối tượng, mã nguồn mở, chứa nhiều
tính năng hữu ích. Đây là ngơn ngữ lập trình mới và hỗ trợ một loạt các tiện ích lập
trình như giao diện, bộ sưu tập, lớp, kiểu gõ động và tùy chọn. Nó được phát triển
cho máy chủ cũng như trình duyệt. Dưới đây là danh sách các tính năng quan trọng
của Dart.


×