ĐẠI HỌC QUỐC GIA TP.HCM
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
ASSET APP - XÂY DỰNG NỀN TẢNG QUẢN LÝ
CẤP PHÁT VÀ SỬ DỤNG TÀI SẢN THIẾT BỊ
NGÀNH: KHOA HỌC MÁY TÍNH
HỘI ĐỒNG: KHOA HỌC MÁY TÍNH 4
GVHD 1: ThS. Trần Thị Quế Nguyệt
GVHD 2: ThS. Trương Quỳnh Chi
GVPB: TS. Phan Trọng Nhân
---o0o--SVTH 1: Tô Phú Quý (1712892)
SVTH 2: Đinh Hoàng Kim (1711872)
TP. HỒ CHÍ MINH, THÁNG 12 NĂM 2021
ĈҤ,+Ӑ&48Ӕ&*,$73+&0
----------ĈӝFOұS- 7ӵGR- +ҥQKSK~F
75ѬӠ1*ĈҤ,+Ӑ&%È&+.+2$
KHOA:KH & KT Máy tính
%Ӝ0Ð1KHMT
&Ӝ1*+Ñ$;+Ӝ,&+Ӫ1*+Ƭ$9,ӊ71$0
1+,ӊ09Ө/8Ұ1È17Ӕ71*+,ӊ3
&K~ê6LQKYLrQSK̫LGiQWͥQj\YjRWUDQJQK̭WFͯDE̫QWKX\͇WWUuQK
+Ӑ9¬7Ç10
+Ӑ9¬7Ç1Tô Phú Quý
NGÀNH:
MSSV: 1711872
MSSV: 1712892
/Ӟ3
ĈҫXÿӅOXұQiQ
ዠýǡ
ኸዞዙȀዅዋ
1KLӋPYө\rXFҫXYӅQӝLGXQJYjVӕOLӋXEDQÿҫX
Ɣ
Ɣ
Ɣ
Ɣ
Ɣ
Ɣ
¿ዅï
Øዉዠዜዙ
¿
À
ዘ¯ኹ
ዎዔዅዋȋዖዒȌ
¿
ኺዉዎ²
À
ǡዅዅǡዠǡ¯ዉዎng
¿
À
ዘዛዞØǡዞኽǡǡǤ
0¯ኸǤ
1Jj\JLDRQKLӋPYөOXұQiQ01/03/2021
1Jj\KRjQWKjQKQKLӋPYө8/12/2021
+ӑWrQJLҧQJYLrQKѭӟQJGүQ
Ǥኹዋዅዉ
3KҫQKѭӟQJGүQ
1ӝLGXQJYj\rXFҫX/971ÿmÿѭӧFWK{QJTXD%ӝP{Q
1Jj\WKiQJQăP
&+Ӫ1+,ӊ0%Ӝ0Ð1
.êYjJKLU}K͕WrQ
ǤǤኋ
3+̮1'¬1+&+2.+2$%͠0Ð1
1JѭӡLGX\ӋWFKҩPVѫEӝ
ĈѫQYӏ
1Jj\EҧRYӋ
ĈLӇPWәQJNӃW
1ѫLOѭXWUӳOXұQiQ
*,Ҧ1*9,Ç1+ѬӞ1*'Ү1&+Ë1+
.êYjJKLU}K͕WrQ
THS. ኋኝኗ
ኛ
ЎЈ
0ϩϿ
KHOA KH & KT MÁY TÍNH
---------------------------ͻͷ£Ͷͷ
ኤ
U!ኤኬ
Cኛ
0ዒ
ኼ- ዠ- ï
ϸϫϪϼ
ȋ
ркрйРȀМЮȌ
1. ዌ²ǣ0- Tô Phú Quý
MSSV: 1711872 - 1712892
Ngành (chuyên ngành):
ʹǤ0ǣсЧИИýǡ
ЙпкИȀЦЬ
͵Ǥዌ²ዛዕ меМ: ThS. КЬЦЪt
ͶǤዐዅǣ
ዎǣ
ዎ
ዛዓǣ
ዎዎዉ
ዎ¿ዄǣ
ዎዉǣ
ኹÀǣ
ዉኼȋኺȌ
ͷǤዐ
ዄǣ
- ዎዄǣ
ͳǣ
ʹǣ
ዐ
ǣ
- ዎዄዄ
ዎዄ²Àh:
Ǥዟዛ¯
À
ዚǣ
- ²¯ ¿ዎዅï
¯ዉዎኹý
ዋ
ዙ
ዛዕîǡዔዑዛዕî¯ዛዘ
ዛዟ
ዓዖዟዉዖ
ዛዘ
¯ዏ
²ǡወ
¯ዐ
ǡዉ
ኹዞዙ²ዉዎ
- ዉዎ
±ዛዕî
ǡý
ዙǡ
Ö
¯ዒዝ
ኸ¯ዒ
ǡýØǡዝ¯ዎዛዘ
ǡዖዒዒ
À
î
ኹዛዕî
-
¿ዠ
ዉዎዛኼØ
ዉዟǡ
ዎ
ǡýǡ
ኸǡዏዝ
²ǡውǡኸǡý¿ǡýዘ¯ዏǡý
¿Ǥ±²¯ኸ
ኸǡዉ
ኸ
ዌ¯
ኸ
²ዝ
Ǥ
- ዉዎ¯ዛዘ
²Øዛዕ
ኸ¿
ñዛዠ
ዉ
ዎዛ¯ኸ
ዚ
¯
×ዅ¯ዎ
-
Øዉ¿ኼዙዎǤ
Ǥዟዅ×
À
ዚǣ
- ዜ
£Øǡ
ዎ²
Ö
ዓǡ
ዛÀ¯ዛዘ
ኸ
ý
À²
- ዛÀ
ዘ¯ዛዘ
ኸኼዝ
- ¿
Ø
ዙዞዠ
ዉዞዖ
ዒዎÀ£
ዚዅǤ
ͺǤ0ዋǣ0ዛዘ
ዉx
ዐ²¯ዉප
ͻǤ͵
ውዕዛዔ
ዒ¯ዏǣ
ͳͲǤ0
ȋኾ
ዟǣውǡǡȌǣ
ው
ኹዋዅዉ
دዛዘ
ዉප
0ǣͺǡͷȀͳͲ
75ѬӠ1*ĈҤ,+Ӑ&%È&+.+2$
KHOA KH & KT MÁY TÍNH
&Ӝ1*+Ñ$;+Ӝ,&+Ӫ1*+Ƭ$9,ӊ71$0
ĈӝFOұS- 7ӵGR- +ҥQKSK~F
---------------------------Ngày 21 tháng 12 QăP 2021
3+,ӂ8&+Ҩ0%Ҧ29ӊ/971
'jQKFKRQJ˱ͥLSK̫QEL͏Q
+ӑYjWrQ69 ĈLQK+oàng Kim
MSSV: 1711872
Ngành (chuyên ngành): Khoa hӑF0áy tính
+ӑYjWrQ69 Tô Phú Quý
MSSV: 1712892
Ngành (chuyên ngành): Khoa hӑF0áy tính
ĈӅWjL ;k\GӵQJQӅQWҧQJTXҧQOêFҩSSKiWYjVӱGөQJWjLVҧQWKLӃWEӏ
+ӑWrQQJѭӡLSKҧQELӋQ TS. Phan TrӑQJ1Kân
47ә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ұWVҧQSKҭP
7әQJTXiWYӅFiFEҧQYӁ
- 6ӕEҧQYӁ
%ҧQ$
%ҧQ$
.KәNKiF
- 6ӕEҧQYӁYӁWD\
6ӕEҧQYӁWUrQPi\WtQK
61KӳQJѭXÿLӇPFKtQKFӫD/971
- Nhóm sinh viên ÿã tìm hiӇXFác chӭFQăQJcѫEҧQFӫDPӝWKӋWKӕQJTXҧQOý tài sҧQ/thiӃWEӏWURQJ
ÿó các thuӝFWính tài sҧQ ÿѭӧF thiӃWOұS tùy biӃQ ÿHPOҥLVӵOLQKÿӝQJFDRkhi lѭXWUӳÿDGҥQJFác
lRҥLWài sҧQWKLӃWEӏ
- Nhóm sinh viên ÿã sӱGөQJFác công nghӋKLӋQÿҥL hiӋQWKӵFKӋWKӕQJYӟLQKLӅXFKӭFQăQJKӛWUӧ
quҧQOý, cҩSSKát và sӱGөQJFác tài sҧQ/thiӃWEӏ, triӇQNKDLKӋWhӕQJWUên hҥWҫQJ$:6, và hiӋQWKӵF
bҧRPұW$3,
- Nhóm sinh viên cNJQJÿã dùng các công cөNLӇPthӱQKѭ Selenium, Google Lighthouse ÿӇÿánh
giá sѫEӝKӋWKӕQJYà có nhӳQJFҧL thiӋQ sau ÿó vӅ các chӍVӕÿánh giá thiӃWNӃFKR trang web.
1KӳQJWKLӃXVyWFKtQKFӫD/971
- ChѭDÿҧPEҧRWính nhҩWquán trong thiӃWNӃWhuӝFWính tài sҧQ/thiӃWEӏ, nhұSWKông tin tài sҧQ/thiӃW
bӏ còn thӫ Fông. MӝW Vӕ FhӭF QăQJ quҧQ Oý chѭD Koàn thiӋQ QKѭ TXҧQ Oý tài sҧQWKLӃW Eӏ EҵQJ
QRCode, chѭDFó chӭFQăQJWKông báo (ví dөkhi tài sҧQquá hҥQWKXKӗL hay trong quy trình xét
duyӋW yêu cҫX), chѭD có trang quҧQOý khách hàng.
- MӝWVӕchӭFQăQJ còn giӟLKҥQYà chѭDÿѭӧF phân tích và thiӃWNӃKӧSOý ÿӇ phù hӧSYӟLthӵFWLӉQ
hѫQ (ví dө dashboards quҧQOý tài sҧQFòn sѫVài, chѭDFó chӭFQăQJNLӇPNê tài sҧQ/thiӃWbӏ quҧQOý
gán khu vӵFFKRWài sҧQtheo lô chѭDOLQKKRҥWWKHRQhóm tài sҧQFKRFác khu vӵFNKác nhau trong
cùng mӝWOô, cҩSSKát tài sҧQ hҥQFKӃ cho trѭӣQJKRһFÿҥLGLӋQSKòng ban, chѭDFó lѭXOҥLOӏFKVӱ
cӫDtài sҧQWKLӃWEӏ hoһFTXҧQOý các tài sҧQWKLӃWEӏNKLthӵF hiӋQFKӭFQăQJ[óa, chѭDFó phân biӋW
ngày thu hӗL tài sҧQWKLӃWEӏEDQÿҫX vӟL ngày thu hӗLWKDRWác thұWVӵ trên hӋWKӕQJ).
- HӋWKӕQJNhi demo còn mӝWsӕOӛL
- Báo cáo luұQYăQFҫQEәVXQJFác trích dүQWKDPNKҧR và kiӇPWKӱ ÿánh giá.
ĈӅQJKӏĈѭӧFEҧRYӋ;
%әVXQJWKrPÿӇEҧRYӋ
.K{QJÿѭӧFEҧRYӋ
FkXKӓL69SKҧLWUҧOӡLWUѭӟF+ӝLÿӗQJ
ĈiQKJLiFKXQJEҵQJFKӳJLӓLNKi7% Khá GiӓL
ĈLӇP8.3/10
.êWrQJKLU}KӑWrQ
Phan TrӑQJ1Kân
LỜI CAM ĐOAN
Chúng tôi xin cam đoan đây là hệ thống do nhóm chúng tôi tự tìm hiểu, nghiên
cứu và phát triển dưới sự hướng dẫn của ThS. Trần Thị Quế Nguyệt. Các nội dung của
đề tài được trình bày trong báo cáo này đều là trung thực, không gian lận, không sao
chép các ý tưởng và kết quả của các đề tài khác.
Nếu có phát hiện bất kỳ sự gian lận nào, chúng tôi xin hoàn toàn chịu trách nhiệm
về nội dung luận văn của mình và chấp nhận mọi hình thức kỷ luật trước Ban chủ nhiệm
Khoa Khoa học và Kỹ thuật Máy tính và Ban giám hiệu Trường Đại học Bách Khoa,
ĐHQG Thành Phố Hồ Chí Minh.
2
LỜI CẢM ƠN
Lời đầu tiên, chúng tôi xin gửi một lời cảm ơn chân thành đến cô Trần Thị Quế
Nguyệt, người đã dẫn dắt và hỗ trợ chúng tôi trong suốt thời gian thực hiện đề tài. Nhờ
những định hướng, ý tưởng ngay từ những bước thiết kế ban đầu, cô đã giúp đề tài sớm
bắt kịp tiến độ, đồng thời trong những buổi gặp mặt hàng tuần, sự góp ý kịp thời của cô
đã giúp hệ thống phát triển đúng hướng, ngày càng hoàn thiện hơn.
Tiếp theo, chúng tôi xin chân thành cảm ơn đến quý thầy cô trong trường Đại học
Bách Khoa và đặc biệt là các thầy cô trong Khoa Khoa học và Kỹ thuật Máy tính đã tận
tình chỉ dạy và truyền đạt những kiến thức quý giá và bổ ích trong những năm tháng vừa
qua, để từ đó chúng tôi có thể áp dụng trong việc hoàn thành luận văn này, và hơn nữa
nó sẽ là nền tảng, là hành trang trong suốt đoạn đường tương lai sau này của chúng tôi.
Và thêm nữa, cảm ơn bạn bè, những người đã đồng hành cùng chúng tôi trong suốt
quãng đời sinh viên, cùng nhau vượt qua những khó khăn và gian nan để có được kết
quả hiện tại. Cảm ơn gia đình, cảm ơn cha mẹ đã luôn đồng hành và ủng hộ con trong
suốt chặng đường bốn năm đại học.
Cuối cùng, chúng tôi xin gửi một lời cảm ơn sâu sắc đến những quý thầy cô trong
hội đồng luận văn đã dành thời gian để đánh giá và nhận xét đề tài của chúng tôi. Do
còn những hạn chế về kiến thức và kinh nghiệm thực tiễn nên chúng tôi khó lòng tránh
khỏi những sai sót trong quá trình thực hiện luận văn, rất mong nhận được những ý kiến
đóng góp từ quý thầy cô.
Một lần nữa chúng tôi xin chân thành cảm ơn!
Trân trọng.
Nhóm thực hiện đề tài
3
TÓM TẮT ĐỀ TÀI
ASSET APP là hệ thống cho phép các cá nhân, cơ sở, doanh nghiệp, trường học,…
có thể thực hiện quản lý tài sản của mình ở nhiều khu vực hay nhiều chi nhánh khác
nhau thông qua một ứng dụng web.
Người dùng cá nhân hay doanh nghiệp có thể sử dụng hệ thống để quản lý việc
cấp phát và thu hồi tài sản; luân chuyển tài sản ở các khu vực, chi nhánh; bảo trì và thanh
lý tài sản; nhập mua và cho thuê tài sản. Người dùng và doanh nghiệp còn có thể quản
lý thông tin các đối tác như nhà cung cấp và khách hàng. Hệ thống đảm bảo toàn bộ tài
sản được quản lý một cách chặt chẽ với các quy trình và phân quyền linh hoạt. Nhờ đó
giúp hạn chế tối đa sự thất thoát tài sản, dễ dàng cho việc kiểm kê, quản lý. Bên cạnh
đó, quá trình tiếp cận thông tin tài sản, yêu cầu cấp phát, đề xuất mua mới tài sản của
các thành viên cũng được đơn giản hóa hơn rất nhiều.
Để lên ý tưởng và hiện thực đề tài, chúng tôi đã tìm hiểu những khó khăn trong
việc quản lý tài sản của từng doanh nghiệp hay sự bất tiện của các nhân viên khi cần
mượn một tài sản. Từ đó chúng tôi tiến hành khảo sát các hệ thống liên quan và lần lượt
đưa ra những ý tưởng thiết kế và danh sách chức năng cần thiết cho hệ thống của mình.
Để hiện thực đề tài này, chúng tôi đã tiến hành thực hiện những công việc sau:
• Tìm hiểu các quy trình nghiệp vụ trong quản lý tài sản của các doanh nghiệp,
tổ chức.
• Nghiên cứu, khảo sát các hệ thống có liên quan, rút ra được những ưu điểm
của mỗi hệ thống và từ đó lên ý tưởng cho hệ thống của mình.
• Thiết kế hệ thống theo những mục tiêu và chức năng đã đề ra.
• Tìm hiểu những công nghệ phổ biến hiện nay và chọn ra những công nghệ
phù hợp để áp dụng vào hệ thống như ReactJS, Redux, ASP.NET Core, …
• Tiến hành hiện thực hệ thống theo thiết kế và công nghệ đã chọn.
• Kiểm thử, triển khai và đánh giá hệ thống, viết báo cáo cho đề tài.
4
TÓM TẮT CHƯƠNG
Chương 1. Giới thiệu đề tài
Giới thiệu tổng quan đề tài, nội dung cần thực hiện, nêu ra những ý nghĩa về mặt
khoa học, kỹ thuật và thực tiễn của đề tài, kèm theo đó là giới hạn của đề tài.
Chương 2. Kiến thức nền tảng
Trình bày về những công nghệ (các framework, thư viện và dịch vụ) mà chúng tôi
sử dụng để hiện thực và triển khai hệ thống.
Chương 3. Phân tích hệ thống
Đưa ra những thông tin khảo sát từ những hệ thống có liên quan đang có trên thị
trường, từ đó phân tích các tính năng cần có trong hệ thống và lập sơ đồ Use Case cho
hệ thống.
Chương 4. Thiết kế hệ thống
Trình bày về thiết kế cơ sở dữ liệu của hệ thống và kiến trúc tổng thể của hệ thống.
Chương 5. Hiện thực hệ thống
Trình bày giao diện đã hiện thực của hệ thống, các thư viện hỗ trợ đã sử dụng.
Chương 6. Kiểm thử hệ thống
Trình bày về khía cạnh kiểm thử trong quá trình phát triển một hệ thống
Chương 7. Triển khai và đánh giá hệ thống
Trình bày về các quy trình triển khai hệ thống và các cấu hình cho hệ thống.
Chương 8. Tổng kết và hướng phát triển
Tổng kết lại những kết quả mà chúng tôi đã đạt được từ đề tài theo kế hoạch và
nhiệm vụ đã đề ra. Từ đó, đưa ra những ưu điểm, nhược điểm và hệ thống và hướng
phát triển đề tài trong tương lai.
5
MỤC LỤC
LỜI CAM ĐOAN ..................................................................................................................... 2
LỜI CẢM ƠN ........................................................................................................................... 3
TÓM TẮT ĐỀ TÀI ................................................................................................................... 4
TÓM TẮT CHƯƠNG .............................................................................................................. 5
MỤC LỤC ................................................................................................................................. 6
DANH SÁCH BẢNG BIỂU ..................................................................................................... 9
DANH SÁCH HÌNH ẢNH ..................................................................................................... 12
NỘI DUNG .............................................................................................................................. 16
1.
GIỚI THIỆU ĐỀ TÀI ..................................................................................................... 16
1.1.Tổng quan...................................................................................................................... 16
1.2.Nội dung thực hiện ....................................................................................................... 16
1.3.Ý nghĩa đề tài................................................................................................................. 17
1.3.1.
Ý nghĩa về thực tiễn............................................................................................ 17
1.3.2.
Ý nghĩa về khoa học, kỹ thuật ............................................................................ 18
1.4.Giới hạn đề tài ............................................................................................................... 18
2.
KIẾN THỨC NỀN TẢNG .............................................................................................. 19
2.1.Mô hình MVC ............................................................................................................... 19
2.2.Front-end ....................................................................................................................... 20
2.2.1.
ReactJS ............................................................................................................... 20
2.2.2.
React Hooks ........................................................................................................ 21
2.2.3.
Redux .................................................................................................................. 22
2.3.Back-end ........................................................................................................................ 24
2.4.Cơ sở dữ liệu.................................................................................................................. 24
2.5.Các dịch vụ tích hợp...................................................................................................... 25
2.5.1.
3.
Amazon Web Service ......................................................................................... 25
PHÂN TÍCH HỆ THỐNG .............................................................................................. 26
3.1.Khảo sát các hệ thống liên quan .................................................................................. 26
3.2.Use Case Diagram ......................................................................................................... 29
3.3.Các quy trình trong hệ thống........................................................................................ 31
4.
THIẾT KẾ HỆ THỐNG ................................................................................................. 59
4.1.Kiến trúc hệ thống ......................................................................................................... 59
4.2.Thiết kế cơ sở dữ liệu .................................................................................................... 60
6
5.
4.2.1.
Cơ sở dữ liệu dùng chung (Public Schema) ....................................................... 61
4.2.2.
Cơ sở dữ liệu cho khách hàng (Tenant Schema) ................................................ 63
HIỆN THỰC HỆ THỐNG ............................................................................................. 73
5.1.Các thư viện đã sử dụng ............................................................................................... 73
5.1.1.
Phía Front-end .................................................................................................... 73
5.1.2.
Phía Back-end ..................................................................................................... 74
5.2.Lưu trữ và quản lý mã nguồn với Git và GitLab ......................................................... 74
5.3.Cấu trúc mã nguồn ....................................................................................................... 75
5.3.1.
Front-end ............................................................................................................ 75
5.3.2.
Back-end ............................................................................................................. 77
5.4.Giao diện của hệ thống ................................................................................................. 79
5.4.1.
Giao diện trang tiếp thị khách hàng (Landing Page) .......................................... 79
5.4.2.
Giao diện đăng ký, đăng nhập thành viên tổ chức.............................................. 82
5.4.3.
Giao diện báo cáo tài sản .................................................................................... 83
5.4.4.
Giao diện khu vực............................................................................................... 84
5.4.5.
Giao diện quản lý thành viên .............................................................................. 85
5.4.6.
Giao diện danh mục tài sản................................................................................. 88
5.4.7.
Giao diện quản lý lô tài sản ................................................................................ 92
5.4.8.
Giao diện quản lý tài sản .................................................................................... 96
5.4.9.
Giao diện quản lý yêu cầu thành viên................................................................. 99
5.4.10. Giao diện lịch sử cấp phát ................................................................................ 100
5.4.11. Giao diện quản lý giao dịch .............................................................................. 102
5.4.12. Giao diện đối tác ............................................................................................... 113
5.4.13. Giao diện phân quyền ....................................................................................... 115
5.4.14. Giao diện tài sản được cấp phát ........................................................................ 118
5.4.15. Giao diện xin cấp phát ...................................................................................... 120
5.4.16. Giao diện các yêu cầu đã gửi ............................................................................ 122
5.4.17. Giao diện thông tin tài khoản ........................................................................... 124
5.4.18. Giao diện thay đổi mật khẩu ............................................................................. 125
6.
KIỂM THỬ HỆ THỐNG ............................................................................................. 126
7.
TRIỂN KHAI VÀ ĐÁNH GIÁ HỆ THỐNG .............................................................. 130
7.1.Triển khai hệ thống ..................................................................................................... 130
7.1.1.
Amazon Web Service ....................................................................................... 130
7.1.2.
Namecheap ....................................................................................................... 131
7.1.3.
Docker .............................................................................................................. 132
7.1.4.
Cấu hình Ngnix................................................................................................. 133
7
7.2.Đánh giá hệ thống ....................................................................................................... 134
8.
7.2.1.
Đánh giá hiệu suất bằng PageSpeed Insights và Lighthouse............................ 134
7.2.2.
Cải thiện hiệu suất hệ thống ............................................................................. 135
TỔNG KẾT VÀ HƯỚNG PHÁT TRIỂN ................................................................... 138
8.1.Tổng kết kết quả đạt được........................................................................................... 138
8.1.1.
Đối với nhiệm vụ đề tài .................................................................................... 138
8.1.2.
Đối với cơ sở lý thuyết và công nghệ ............................................................... 138
8.1.3.
Đối với quy trình phát triển phần mềm ............................................................ 139
8.1.4.
Đối với lợi ích thực tế ....................................................................................... 139
8.2.Đánh giá kết quả đạt được .......................................................................................... 139
8.2.1.
Ưu điểm ............................................................................................................ 139
8.2.2.
Nhược điểm ...................................................................................................... 140
8.3.Hướng phát triển đề tài ............................................................................................... 140
TÀI LIỆU THAM KHẢO .................................................................................................... 141
8
DANH SÁCH BẢNG BIỂU
Bảng 1: Khảo sát các hệ thống liên quan ..............................................................27
Bảng 2: Những tiêu chí cho hệ thống ASSETAPP...............................................28
Bảng 3: Ussecase đăng ký tổ chức........................................................................ 31
Bảng 4: Usecase đăng ký tài khoản ...................................................................... 32
Bảng 5: Usecase đăng nhập, đăng xuất ................................................................ 32
Bảng 6: Usecase xem thông tin tài khoản ............................................................. 33
Bảng 7: Usecase cập nhật thông tin tài khoản ...................................................... 33
Bảng 8: Usecase đổi mật khẩu .............................................................................. 34
Bảng 9: Usecase xem thông tin khu vực ..............................................................34
Bảng 10: Usecase thêm khu vực ........................................................................... 35
Bảng 11: Usecase cập nhật thông tin khu vực ...................................................... 35
Bảng 12: Usecase xóa khu vực ............................................................................. 36
Bảng 13: Usecase xem thông tin lô tài sản ...........................................................36
Bảng 14: Usecase thêm mới lô tài sản ..................................................................37
Bảng 15: Usecase cập nhật lô tài sản .................................................................... 37
Bảng 16: Usecase xóa lô tài sản ...........................................................................38
Bảng 17: Usecase xem danh sách tài sản.............................................................. 38
Bảng 18: Usecase cập nhật thông tin tài sản......................................................... 39
Bảng 19: Usecase xóa tài sản................................................................................39
Bảng 20: Usecase cấp phát tài sản ........................................................................ 40
Bảng 21: Usecase xem danh sách yêu cầu............................................................40
Bảng 22: Usecase phản hồi yêu cầu .....................................................................41
Bảng 23: Usecase xem lịch sử cấp phát ................................................................ 41
Bảng 24: Usecase gia hạn cấp phát ....................................................................... 41
Bảng 25: Usecase thu hồi tài sản .......................................................................... 42
Bảng 26: Usecase xem thông tin mẫu tài sản ....................................................... 42
Bảng 27: Usecase xem danh sách mẫu tài sản...................................................... 42
Bảng 28: Usecase tạo mẫu tài sản.........................................................................43
Bảng 29: Usecase cập nhật thông tin mẫu tài sản................................................. 43
Bảng 30: Usecase Xóa loại tài sản ........................................................................ 44
Bảng 31: Usecase xem danh sách loại tài sản....................................................... 44
9
Bảng 32: Usecase Tạo loại tài sản ........................................................................44
Bảng 33: Usecase Cập nhật thông tin loại tài sản................................................. 45
Bảng 34: Usecase Xóa loại tài sản ........................................................................ 45
Bảng 35: Usecase Xem danh sách thuộc tính tài sản ........................................... 46
Bảng 36: Usecase Tạo thuộc tính tài sản .............................................................. 46
Bảng 37: Usecase Cập nhật thông tin thuộc tính tài sản ...................................... 47
Bảng 38: Usecase xóa thuộc tính tài sản ..............................................................47
Bảng 39: Usecase xem chi tiết hóa đơn nhập mua ............................................... 47
Bảng 40: Usecase cập nhật hóa đơn nhập mua ..................................................... 48
Bảng 41: Usecase tạo hóa đơn nhập mua .............................................................48
Bảng 42: Usecase xóa hóa đơn nhập mua ............................................................ 49
Bảng 43: Usecase quản lý hóa đơn thanh lý, hợp đồng cho thuê, hợp đồng bảo trì
....................................................................................................................................... 49
Bảng 44: Usecase xem thông tin đối tác ............................................................... 49
Bảng 45: Usecase Thêm đối tác ............................................................................ 50
Bảng 46: Usecase Cập nhật thông tin đối tác ....................................................... 50
Bảng 47: Usecase xóa đối tác ............................................................................... 51
Bảng 48: Usecase Xem thông tin thành viên ........................................................ 51
Bảng 49: Usecase thêm thành viên ....................................................................... 52
Bảng 50: Usecase Cập nhật thông tin thành viên ................................................. 52
Bảng 51: Usecase Xóa thành viên ........................................................................ 53
Bảng 52: Usecase Xem danh sách vai trò ............................................................. 53
Bảng 53: Usecase Tạo vai trò ............................................................................... 53
Bảng 54: Usecase Cập nhật vai trò ....................................................................... 54
Bảng 55: Usecase xóa vai trò ................................................................................ 54
Bảng 56: Usecase xem thông tin tài sản được cấp phát.......................................55
Bảng 57: Usecase báo hỏng mất tài sản................................................................ 55
Bảng 58: Usecase Chia sẻ tài sản được cấp phát .................................................. 56
Bảng 59: Usecase yêu cầu gia hạn thời gian cấp phát .......................................... 56
Bảng 60: Usecase Xem danh sách tài sản được phép mượn ................................ 57
Bảng 61: Usecase Gửi yêu cầu cấp phát tài sản ................................................... 57
Bảng 62: Usecase gửi yêu cầu cấp phát tài sản ....................................................57
10
Bảng 63: Usecase xem yêu cầu đã gửi ................................................................. 58
Bảng 64: Usecase xóa yêu cầu đã gửi...................................................................58
Bảng 65: Thực tể tổ chức ......................................................................................62
Bảng 66: Thực thể tỉnh/thành phố ........................................................................ 62
Bảng 67: Thực thể huyện/quận ............................................................................. 62
Bảng 68: Thực thể xã/phường .............................................................................. 62
Bảng 69: Thực thể khu vực.................................................................................. 64
Bảng 70: Thực thể thành viên ............................................................................... 65
Bảng 71: Thực thể vai trò ..................................................................................... 65
Bảng 72: Thực thể quyền ......................................................................................65
Bảng 73: Thực thể thành viên thuộc khu vực ....................................................... 66
Bảng 74: Thực thể đối tác ..................................................................................... 66
Bảng 75: Thực thể lô tài sản ................................................................................. 67
Bảng 76: Thực thể tài sản .....................................................................................67
Bảng 77: Thực thể giao dịch .................................................................................68
Bảng 78: Thực thể hóa đơn nhập mua .................................................................. 68
Bảng 79: Thực thể hóa đơn thanh lý ..................................................................... 68
Bảng 80: Thực thể hợp đồng giao dịch .................................................................69
Bảng 81: Thực thể loại tài sản .............................................................................. 69
Bảng 82: Thực thể thuộc tính tài sản .................................................................... 69
Bảng 83: Thực thể mẫu tài sản ............................................................................. 70
Bảng 84: Thực thể đơn vị thuộc tính ....................................................................70
Bảng 85: Thực thể thương hiệu ............................................................................70
Bảng 86: Thực thể quốc gia .................................................................................. 70
Bảng 87: Thực thể yêu cầu ................................................................................... 71
Bảng 88: Thực thể yêu cầu mượn .........................................................................71
Bảng 89: Thực thể yêu cầu báo hỏng ...................................................................71
Bảng 90: Thực thể đề xuất mua ............................................................................72
Bảng 91: Thực thể cấp phát .................................................................................. 72
Bảng 92: Các thư viện được sử dụng ở Front-end ................................................74
Bảng 93: Các thư viện được sử dụng ở Back-end ................................................74
11
DANH SÁCH HÌNH ẢNH
Hình 1: Sơ đồ tương tác trong mô hình MVC ...................................................... 19
Hình 2: Sơ đồ giải thích lifecycle trong React Hooks ..........................................21
Hình 3: Nguyên lý của Redux .............................................................................. 22
Hình 4: Sơ đồ cách thức vận hành của Redux ...................................................... 23
Hình 5: Bản vẽ Usecase (phần 1/2) ...................................................................... 29
Hình 6: Bản vẽ Usecase (phần 2/2) ...................................................................... 30
Hình 7: Kiến trúc tổng thể của hệ thống ............................................................... 59
Hình 8: Lược đồ quan hệ thực thể của các thực thể dùng chung ......................... 61
Hình 9: Lược đồ quan hệ thực thể của mỗi khách hàng (tenant) .......................... 64
Hình 10: Cây thư mục của front-end .................................................................... 75
Hình 11: Cây thư mục src chi tiết của front-end ..................................................76
Hình 12: Cây thư mục của Back-end .................................................................... 77
Hình 13: Giao diện trang tiếp thị khách hàng .......................................................79
Hình 14: Giao diện trang tiếp thị khách hàng .......................................................79
Hình 15: Giao diện trang tiếp thị khách hàng .......................................................80
Hình 16: Giao diện trang tiếp thị khách hàng .......................................................80
Hình 17: Pop-up đăng ký mua ứng dụng .............................................................. 81
Hình 18: Thông báo đăng ký thành công ..............................................................81
Hình 19: Email xác thực được gửi đến người dùng ............................................. 82
Hình 20: Giao diện đăng nhập vào tổ chức .......................................................... 82
Hình 21: Giao diện đăng ký tài khoản thành viên ................................................83
Hình 22: Giao diện báo cáo, thống kê tài sản ....................................................... 83
Hình 23: Giao diện danh sách khu vực ................................................................. 84
Hình 24: Giao diện thêm khu vực.........................................................................84
Hình 25: Giao diện danh sách thành viên .............................................................85
Hình 26: Giao diện thêm thành viên .....................................................................85
Hình 27: Giao diện gán khu vực và vai trò thành viên ......................................... 86
Hình 28: Giao diện xem chi tiết thành viên .......................................................... 86
Hình 29: Giao diện cập nhật thông tin thành viên ................................................ 87
Hình 30: Cập nhật khu vực và vai trò thành viên .................................................87
Hình 31: Giao diện danh sách thuộc tính.............................................................. 88
12
Hình 32: Giao diện thêm thuộc tính tài sản .......................................................... 88
Hình 33: Giao diện chỉnh sửa thuộc tính ..............................................................89
Hình 34: Giao diện danh sách loại tài sản ............................................................ 89
Hình 35: Giao diện xem chi tiết loại tài sản ......................................................... 90
Hình 36: Giao diện thêm loại tài sản .................................................................... 90
Hình 37: Giao diện danh sách mẫu tài sản ...........................................................91
Hình 38: Giao diện thêm mẫu tài sản ................................................................... 91
Hình 39: Giao diện xem thông tin mẫu tài sản .....................................................92
Hình 40: Giao diện cập nhật mẫu tài sản .............................................................. 92
Hình 41: Giao diện danh sách lô tài sản ............................................................... 93
Hình 42: Giao diện thêm mới lô tài sản ................................................................ 93
Hình 43: Giao diện nhập tài sản bằng mã QR ......................................................94
Hình 44: Giao diện thông tin chi tiết lô tài sản .....................................................94
Hình 45: Giao diện xem danh sách các tài sản thuộc lô .......................................95
Hình 46: Giao diện thêm tài sản cho lô ................................................................ 95
Hình 47: Giao diện xem chi tiết tài sản trong lô ................................................... 96
Hình 48: Giao diện danh sách tài sản ................................................................... 96
Hình 49: Giao diện thông tin chi tiết tài sản ......................................................... 97
Hình 50: Giao diện cấp phát tài sản ...................................................................... 97
Hình 51: Giao diện chọn thành viên để cấp phát .................................................. 98
Hình 52: Giao diện cập nhật thông tin tài sản ...................................................... 98
Hình 53: Giao diện danh sách yêu cầu ................................................................. 99
Hình 54: Giao diện chi tiết của một đề xuất mua .................................................99
Hình 55: Giao diện pop-up phản hồi yêu cầu .....................................................100
Hình 56: Giao diện lịch sử cấp phát ...................................................................100
Hình 57: Giao diện xác nhận thu hồi tài sản.......................................................101
Hình 58: Giao diện xem chi tiết cấp phát ...........................................................101
Hình 59: Giao diện pop-up gia hạn cấp phát ......................................................102
Hình 60: Giao diện danh sách hóa đơn nhập mua ..............................................102
Hình 61: Giao diện khôi phục hóa đơn đã xóa ...................................................103
Hình 62: Giao diện tạo hóa đơn nhập mua .........................................................103
Hình 63: Giao diện pop-up tạo đối tác................................................................ 104
13
Hình 64: Giao diện pop-up thêm lô tài sản vào hóa đơn ....................................104
Hình 65: Giao diện xem chi tiết hóa đơn nhập mua ...........................................105
Hình 66: Giao diện cập nhật thông tin hóa đơn nhập mua .................................105
Hình 67: Giao diện danh sách hóa đơn thanh lý .................................................106
Hình 68: Giao diện tạo hóa đơn thanh lý ............................................................106
Hình 69: Giao diện pop-up chọn tài sản để thanh lý ..........................................107
Hình 70: Giao diện pop-up nhập thông tin thanh lý tài sản ................................ 107
Hình 71: Giao diện xem hóa đơn thanh lý ..........................................................108
Hình 72: Giao diện cập nhật hóa đơn thanh lý ...................................................108
Hình 73: Giao diện danh sách hợp đồng cho thuê ..............................................109
Hình 74: Giao diện tạo hợp đồng cho thuê .........................................................109
Hình 75: Giao diện chọn tài sản cho thuê ...........................................................110
Hình 76: Giao diện điền thông tin cho thuê tài sản ............................................110
Hình 77: Giao diện chi tiết hợp đồng cho thuê ...................................................111
Hình 78: Giao diện cập nhật hợp đồng cho thuê ................................................111
Hình 79: Giao diện danh sách hợp đồng bảo trì .................................................112
Hình 80: Giao diện tạo hợp đồng bảo trì ............................................................112
Hình 81: Giao diện chi tiết hợp đồng bảo trì ......................................................113
Hình 82: Giao diện cập nhật hợp đồng bảo trì ....................................................113
Hình 83: Giao diện danh sách đối tác .................................................................114
Hình 84: Giao diện xem chi tiết đối tác ..............................................................114
Hình 85: Giao diện thêm đối tác .........................................................................115
Hình 86: Giao diện cập nhật thông tin đối tác ....................................................115
Hình 87: Giao diện danh sách vai trò .................................................................116
Hình 88: Giao diện xem chi tiết vai trò ..............................................................116
Hình 89: Giao diện chỉnh sửa vai trò ..................................................................117
Hình 90: Giao diện tạo mới vai trò .....................................................................117
Hình 91: Giao diện danh sách tài sản được cấp phát ..........................................118
Hình 92: Giao diện chi tiết cấp phát ...................................................................119
Hình 93: Giao diện pop-up báo hỏng, mất tài sản ..............................................119
Hình 94: Giao diện pop-up yêu cầu gia hạn .......................................................120
Hình 95: Giao diện danh sách tài sản có thể mượn ............................................120
14
Hình 96: Giao diện pop-up yêu cầu cấp phát .....................................................121
Hình 97: Giao diện thông tin chi tiết tài sản .......................................................121
Hình 98: Giao diện đề xuất mua tài sản ..............................................................122
Hình 99: Giao diện danh sách các yêu cầu đã gửi ..............................................122
Hình 100: Giao diện chi tiết yêu cầu ..................................................................123
Hình 101: Giao diện chỉnh sửa yêu cầu ..............................................................123
Hình 102: Dropdown tài khoản ..........................................................................124
Hình 103: Giao diện thông tin tài khoản (profile) ..............................................124
Hình 104: Giao diện cập nhật thông tin tài khoản ..............................................125
Hình 105: Giao diện thay đổi mật khẩu đăng nhập ............................................125
Hình 106: Giao diện người dùng Swagger giúp kiểm thử API ..........................126
Hình 107: Giao diện và các thao tác chính trong Selenium IDE ........................127
Hình 108: Bộ test suite đăng nhập ......................................................................127
Hình 109: Kiểm thử quy trình tạo mới lô tài sản ................................................128
Hình 110: Kiểm thử quy trình cấp phát tài sản cho thành viên ..........................128
Hình 111: Kiểm thử quy trình thu hồi tài sản .....................................................129
Hình 112: Địa chỉ IP để kết nối tới server EC2 ..................................................130
Hình 113: Tìm kiếm tên miền trên Namecheap..................................................131
Hình 114: Trỏ tên miền tới địa chỉ IP .................................................................132
Hình 115: Dockerfile ..........................................................................................132
Hình 116: docker-compose.yml ..........................................................................133
Hình 117: Cấu hình Ngnix để chuyển hướng các request tới service tương ứng
.....................................................................................................................................134
Hình 118: Điểm đánh giá trên PageSpeed Insights lần đầu tiên ........................134
Hình 119: Điểm đánh giá trên Google Lighthouse lần đầu tiên ........................135
Hình 120: Điểm đánh giá trên PageSpeep Insights sau khi cải thiện .................136
Hình 121: Điểm đánh giá trên Lighthouse sau khi cải thiện ..............................137
15
CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI
NỘI DUNG
1. GIỚI THIỆU ĐỀ TÀI
1.1.
Tổng quan
Tài sản, thiết bị là một yếu tố quan trọng của một cá nhân, một doanh nghiệp ngay
cả trong lĩnh vực kinh doanh hay các lĩnh vực khác, nó mang một giá trị rất lớn về mặt
tài chính. Tuy nhiên, số lượng các tài sản thiết bị của một doanh nghiệp tư nhân nhỏ lẻ
đến các doanh nghiệp lớn hay các công ty là quá nhiều, đa dạng các loại và mang giá trị
khác nhau, do đó nếu chỉ quản lý thông qua tài liệu thì sẽ không đạt được tính chặt chẽ
và không theo một quy trình rành mạch, rất dễ xảy ra sự thất thoát và phạm phải những
lỗi lầm “đắt giá”.
Ở nhiều công ty hiện nay, việc nhân viên muốn yêu cầu được cấp phát một tài sản
hay muốn đề xuất mua một tài sản phải thông qua sự xét duyệt bởi nhiều nơi. Việc phải
suy nghĩ viết một email tường trình trang trọng và còn phải trao đổi email giữa nhiều
nhân viên và cấp trên khiến cho việc cấp phát rất bất tiện, làm chậm đi tiến trình công
việc. Thêm nữa, việc truy cập thông tin tài sản hay luân chuyển tài sản giữa các chi
nhánh, khu vực cần phải truy cập và chỉnh sửa nhiều tài liệu khiến cho quá trình trở nên
phức tạp và không đạt được tính chặt chẽ, nhất quán. Ngoài ra, còn rất nhiều những vẫn
đề và khó khăn khác nữa mà các doanh nghiệp, công ty gặp phải.
Do đó, chúng tôi đã lên kế hoạch và hiện thực một hệ thống mang tên ASSETAPP
nhằm mục đích khắc phục những vấn đề mà những cá nhân, doanh nghiệp hay các công
ty gặp phải trong trong quá trình quản lý tài sản thiết bị của mình. ASSETAPP cung cấp
các giải pháp và các tính năng trong việc kiểm soát tài sản khi tài sản thiết bị được di
chuyển trong tổ chức hoặc chuyển giao giữa các phòng ban, khu vực. Hệ thống còn giúp
doanh nghiệp dễ dàng trong việc quản lý tốt việc cho thuê và nhập mua tài sản. Nó tạo
ra một quá trình nhập mua, khai báo, sử dụng, bảo trì và thanh lý một cách có hiệu quả,
được lưu trữ và quản lý chặt chẽ trên một hệ thống duy nhất giúp cho quá trình chia sẻ,
lập tài liệu, thống kê dễ dàng, tránh thất thoát tối đa có thể.
1.2.
Nội dung thực hiện
ASSETAPP là một hệ thống webapp cho phép cá nhân, tổ chức quản lý toàn bộ tài
sản, thiết bị thông các tính năng thiết yếu sau đây:
• Khai báo, nhập mua tài sản
16
CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI
• Quản lý lô tài sản
• Quản lý danh sách thông tin tài sản
• Cấp phát, thu hồi và báo hỏng tài sản
• Luân chuyển tài sản giữa các khu vực
• Quản lý các hóa đơn nhập mua, thanh lý
• Quản lý các hợp đồng cho thuê, bảo trì tài sản
• Quản lý đối tác khách hàng và nhà cung cấp
• Đề xuất mua mới tài sản
• Quản lý phân loại, mẫu tài sản và thuộc tính tài sản
• Quản lý tài sản cá nhân bao gồm: các tài sản được cấp phát, gửi yêu cầu và
quản lý danh sách các yêu cầu
1.3.
Ý nghĩa đề tài
1.3.1. Ý nghĩa về thực tiễn
Khi các chủ tổ chức, các nhà lãnh đạo sử dụng hệ thống ASSETAPP để quản lý tài
sản thiết bị cho tổ chức của mình sẽ giúp kiểm soát tối ưu được các dòng di chuyển, sự
chuyển giao tài sản bên trong tổ chức, giữa các phòng ban, chi nhánh, khu vực và sự
chuyển giao bên ngoài tổ chức đối với các đối tác muốn thuê, mua tài sản. Những mục
tiêu và lợi ích mà ASSETAPP hướng tới cho người dùng là:
• Kiểm soát mọi tài sản hiện đang có trong doanh nghiệp
• Nắm rõ tài sản đang ở trạng thái nào (có sẵn, đã được cấp phát, đang bảo trì,
cần thanh lý), thuộc chi nhánh nào, ai thuộc phòng ban nào đang sử dụng.
• Tối ưu hóa được thời gian để thống kê, kiểm kê tài sản.
• Tra cứu thông tin tài sản nhanh chóng và đơn giản hơn theo mã tài sản, mã lô
tài sản, tên tài sản,…
• Nhân viên, người có nhu cầu dễ dàng yêu cầu cấp phát hay đề xuất mua mới
tài sản thông các cái mẫu thông tin đã có sẵn, không cần phải trực tiếp gặp
mặt sếp hay nhân sự.
• Người đang sử dụng tài sản có thể báo cáo tình trạng tài sản (hỏng, mất) hoặc
chia sẻ tài sản với người khác đơn giản chỉ cần vài cái nhấp chuột.
17
- Xem thêm -