TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬTKHOA CÔNG NGHỆ SỐ ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN ĐỀ TÀI: XÂY DỰNG WEBSITE QUẢN LÝ TIÊM CHỦNG TẠI TR
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA CÔNG NGHỆ SỐ
ĐỒ ÁN TỐT NGHIỆP
ĐẠI HỌC NGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI:
XÂY DỰNG WEBSITE QUẢN LÝ TIÊM CHỦNG
TẠI TRUNG TÂM TIÊM CHỦNG
QUẢNG NAM VACCINE
Người hướng dẫn : TS Hoàng Thị Mỹ Lệ Sinh viên thực hiện: Trần Quang Đăng
Trang 2KHOA CÔNG NGHỆ SỐ
ĐỒ ÁN TỐT NGHIỆP
ĐẠI HỌC NGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI:
XÂY DỰNG WEBSITE QUẢN LÝ TIÊM CHỦNG
TẠI TRUNG TÂM TIÊM CHỦNG
QUẢNG NAM VACCINE
Người hướng dẫn : TS Hoàng Thị Mỹ Lệ Sinh viên thực hiện: Trần Quang Đăng
Mã sinh viên : 1811505310202
Đà Nẵng, 06/2022
Trang 3Tên đề tài: XÂY DỰNG WEBSITE QUẢN LÝ TIÊM CHỦNG TẠI TRUNG TÂM
TIÊM CHỦNG QUẢNG NAM VACCINE
Sinh viên thực hiện: Trần Quang Đăng
Mã SV: 1811505310202 Lớp: 18T2
Website tiêm chủng Quảng Nam Vaccine (QNVC) giúp khách hàng có nhu cầu tiêm chủng tại trung tâm tiêm chủng QNVC dễ dàng tra cứu thông tin và đăng ký tiêm chủng trực tuyến qua website Đồng thời giúp nhân viên tại trung tâm tiêm chủngQNVC tiết kiệm thời gian trong việc quản lý tiêm chủng
Trang 4KHOA CÔNG NGHỆ SỐ NAM
Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Giảng viên hướng dẫn: TS HOÀNG THỊ MỸ LỆ
Sinh viên thực hiện: TRẦN QUANG ĐĂNG Mã SV: 1811505310202
1 Tên đề tài:
Xây dựng website quản lý tiêm chủng tại trung tâm tiêm chủng Quảng Nam Vaccine
2 Nội dung chính của đồ án:
Website tiêm chủng Quảng Nam Vaccine giúp khách hàng có nhu cầu tiêm chủng dễ
dàng tra cứu thông tin và đăng ký tiêm chủng qua website Giúp nhân viên tiết kiệmthời gian trong việc quản lý thông tin tiêm chủng và tự động thông báo lịch tiêm qua tinnhắn cho khách hàng
3 Các sản phẩm dự kiến
- Báo cáo hoàn chỉnh.
- Tạo ra website quản lý tiêm chủng phù hợp cho các đối tượng sử dụng khác
nhau một cách thực tế và hiệu quả nhất
Trang 5Với sự hướng dẫn tận tình của cô Hoàng Thị Mỹ Lệ em đã hoàn thành đồ án tốt nghiệp này Em xin gửi lời cảm ơn chân thành và sâu sắc tới cô Hoàng Thị Mỹ Lệ đã hướng dẫn, giúp đỡ em trong suốt thời gian thực hiện đề tài.
Em xin chân thành cảm ơn cô cô bộ môn đã tận tình giảng dạy, truyền đạt kiến thức cho em trong các kỳ học vừa qua.
Em xin gửi lời cảm ơn tất cả bạn bè đã động viên, giúp đỡ em trong thời gian học tập và hoàn thành đồ án.
Mặc dù đã cố gắng nhiều nhưng sẽ không thể tránh khỏi những thiếu sót Em kính mong nhận được sự góp ý của quý thầy cô và các bạn để hoàn thành tốt hơn nữa.
Em xin chân thành cảm ơn!
Sinh viên:
Trần Quang Đăng
Trang 6Em xin cam đoan:
1 Những nội dung trong đồ án này do chúng em thực hiện dưới sự hướng dẫn của cô Hoàng Thị Mỹ Lệ
2 Mọi tham khảo trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố.
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá,
em xin chịu hoàn toàn trách nhiệm.
Sinh viên:
Trần Quang Đăng
Trang 7Tóm tắt
Nhiệm vụ đồ án
Lời cảm ơn i
Lời cam đoan ii
Mục lục iii
Danh sách các bảng biểu, hình vẽ vi
Danh sách các chữ viết tắt vii
MỞ ĐẦU 15
1 Mục tiêu đề tài 15
2 Đối tượng nghiên cứu và phạm vi nghiên cứu 15
3 Phương pháp nghiên cứu 15
4 Giải pháp công nghệ 15
5 Cấu trúc đồ án 16
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 17
1 Hệ quản trị cơ sở dữ liệu MySQL 17
2 Ngôn ngữ lập trình 20
1.2.1 Javascript 20
1.2.2 NodeJS 20
1.2.3 Express 21
1.2.4 ReactJS 22
1.2.5 Material UI 22
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 23
1 Tác nhân hệ thống 23
2 Đặc tả yêu cầu phần mềm 23
2.2.1 Khách hàng 23
2.2.2 Nhân viên kỹ thuật 23
2.2.3 Nhân viên y tế 23
Trang 83 Sơ đồ Use-case 25
4 Sơ đồ hoạt động 26
2.4.1 Đăng ký tiêm chủng 26
2.4.2 Tra cứu phiếu đăng ký tiêm chủng 27
2.4.3 Khám sàng lọc 28
2.4.4 Đặt hẹn 29
2.4.5 Cập nhật phản ứng sau khi tiêm 30
2.4.6 Duyệt phiếu đăng ký tiêm chủng 31
5 Phát thảo giao diện cho các bảng có lưu trữ dữ liệu 32
2.5.1 Khách hàng 32
2.5.2 Quản trị viên 35
2.5.3 Nhân viên y tế 37
2.5.4 Nhân viên hành chính – kinh doanh 39
2.5.5 Nhân viên chăm sóc khách hàng 43
6 Sơ đồ ERD 44
7 Yêu cầu phi chức năng 45
CHƯƠNG 3 DEMO CHƯƠNG TRÌNH 46
1 Công cụ xây dựng chương trình 46
3.1.1 Windows Subsystem for Linux 46
3.1.2 Visual Studio Code 46
3.1.3 MySQL Workbench 47
3.1.4 Postman 47
2 Giao diện chương trình 48
3.2.1 Giao diện khách hàng 48
3.2.2 Giao diện tran quản trị viên 57
KẾT LUẬN & HƯỚNG PHÁT TRIỂN 68
Kết luận 68
Hướng phát triển 68
PHỤ LỤC 69
Trang 9DANH MỤC HÌNH ẢNHY
Hình 1.1 Hệ quản trị cơ sở dữ liệu MySQL 17
Hình 1.2 Ngôn ngữ Javascript 20
Hình 1.3 NodeJS 20
Hình 1.4 Express 21
Hình 1.5 ReactJS 22
Hình 1.6 Material - UI 22
Hình 2.1 Use-case Diagram 25
Hình 2.2 Sơ đồ hoạt động nhập đăng ký tiêm chủng 26
Hình 2.3 Sơ đồ hoạt động tra cứu phiếu đăng ký tiêm chủng 27
Hình 2.4 Sơ đồ hoạt động khám sàng lọc 28
Hình 2.5 Sơ đồ hoạt động đặt hẹn 29
Hình 2.6 Sơ đồ hoạt động cập nhật phản ứng sau khi tiêm 30
Hình 2.7 Sơ đồ hoạt động duyệt phiếu đăng ký tiêm chủng 31
Hình 2.8 Giao diện đăng ký tiêm chủng cho bản thân 32
Hình 2.9 Giao diện đăng ký tiêm chủng cho người khác 32
Hình 2.10 Giao diện đăng ký tiêm chủng cho gói tiêm 33
Hình 2.11 Giao diện đăng ký tiêm chủng cho tiêm lẻ 33
Hình 2.12 Giao diện cập nhật phòng ban 35
Hình 2.13 Giao diện cập nhật thông tin nhân viên 36
Hình 2.14 Giao diện khám sàng lọc 37
Hình 2.15 Giao diện cập nhậ phảm ứng sau khi tiêm 38
Hình 2.16 Giao diện đặt hẹn cho mũi tiêm tiếp theo 38
Hình 2.17 Giao diện cập nhật thông tin chỉ định 39
Hình 2.18 Giao diện cập nhật thông tin vắc-xin 40
Hình 2.19 Giao diện cập nhật thông tin gói tiêm 41
Hình 2.20 Giao diện cập nhật thông tin chi tiết gói tiêm 42
Hình 2.21 Giao diện cập nhật thông tin tin tức 43
Hình 2.22 Sơ đồ ERD 44
Trang 10Hình 3.2 Visual Studio Code 46
Hình 3.3 MySQL Workbench 47
Hình 3.4 Postman 47
Hình 3.5 Giao diện trang chủ 48
Hình 3.6 Giao diện trang đăng ký tiêm chủng (Điền thông tin cá nhân) 49
Hình 3.7 Giao diện đăng ký tiêm chủng (Chọn gói tiêm) 50
Hình 3.8 Giao diện đăng ký tiêm chủng (Đăng ký) 51
Hình 3.9 Giao diện đăng ký tiêm chủng (Đăng ký thành công) 52
Hình 3.10 Giao diện danh sách sản phẩm 53
Hình 3.11 Giao diện chi tiết sản phẩm 54
Hình 3.12 Giao diện nhập thông tin để tra cứu 55
Hình 3.13 Giao diện danh sách khách hàng trùng với số điện thoại tra cứu 55
Hình 3.14 Giao diện xem phiếu đăng ký tiêm chủng của khách hàng 55
Hình 3.15 Giao diện chi tiết phiếu đăng ký tiêm chủng 56
Hình 3.16 Giao diện tran đăng nhập 57
Hình 3.17 Giao diện tran tổng quan 58
Hình 3.18 Giao diện trang danh sách khách hàng 59
Hình 3.19 Giao diện trang chi tiết khách hàng 59
Hình 3.20 Giao diện trang cập nhật thông tin khách hàng 60
Hình 3.21 Giao diện trang duyệt phiếu đăng ký 60
Hình 3.22 Giao diện trang khám sàng lọc 61
Hình 3.23 Giao diện trang chi tiết phiếu đăng ký tiêm chủng 61
Hình 3.24 Giao diện trang mũi tiêm 62
Hình 3.25 Giao diện trang sản phẩm 62
Hình 3.26 Giao diện trang chi tiết sản phẩm 63
Hình 3.27 Giao diện trang cập nhật sản phẩm 63
Hình 3.28 Giao diện trang gói tiêm 64
Hình 3.29 Giao diện trang chi tiết gói tiêm 64
Hình 3.30 Giao diện trang cập nhật gói tiêm 65
Hình 3.31 Giao diện trang nhân viên 65
Hình 3.32 Giao diện trang chi tiết nhân viên 66
Hình 3.33 Giao diện trang cập nhật nhân viên 66
Trang 11Hình 3.34 Giao diện trang tin tức 66 Hình 3.35 Giao diện trang chi tiết tin tức 67 Hình 3.36 Giao diện trang cập nhật tin tức 67
Trang 12DANH MỤC CÁC BẢNG
Bảng 1.1 So sánh SQL với MySQL 19
Bảng 2.1 Bảng KhachHang 34
Bảng 2.2 Bảng PhieuDangKyTiemChung 34
Bảng 2.3 Bảng ChiTietPhieuDK 35
Bảng 2.4 Bảng PhongBan 36
Bảng 2.5 Bảng NhanVien 36
Bảng 2.6 Bảng ChiTietNhanVien 37
Bảng 2.7 Bảng ThongTinKhamSangLoc 38
Bảng 2.8 Bảng MuiTiem 39
Bảng 2.9 Bảng ChiDinh 40
Bảng 2.10 Bảng Vaccines 41
Bảng 2.11 Bảng GoiTiem 42
Bảng 2.12 Bảng ChiTietGoiTiem 42
Bảng 2.13 Bảng TinTuc 43
Trang 13DANH MỤC CHỮ VIẾT TẮT TIẾNG VIỆT
DANH MỤC CHỮ VIẾT TẮT TIẾNG ANH Stt Chữ viết tắt Giải nghĩa Nghĩa tiếng Việt
1 HTML Hyper Text Markup Language Ngôn ngữ đánh dấu siêu văn bản
2 CSS Cascading Style Sheets Ngôn ngữ tạo phong cách cho trang web
3 ERD Entity Relationship
4 SQL Structured Query Language Ngôn ngữ truy vấn có cấu trúc
5 RDBMS Relational Database
Management System Hệ quản trị cơ sỡ dữ liệu quan hệ
6 API Application Programming
Interface
Giao diện lập trình ứng dụng
7 HTTP Hyper Text Transfer Protocol Giao thức truyền tải siêu văn bản
9 RAM Random Access Memory Bộ nhớ truy cập ngẫu nhiên
Trang 14MỞ ĐẦU
Ngày nay, công nghệ thông tin vô cùng phát triển thì hầu như mọi người điều sửdụng máy vi tính để làm việc Và Công Nghệ Tin cũng đã được ứng dụng trong rấtnhiều lĩnh vực mà điển hình là lĩnh vực quản lý Việc quản lý tiêm chủng vẫn còn rấtthủ công, việc ghi chép, tìm kiếm thông qua sổ sách gặp rất nhiều trở ngại, gây khókhăn cho nhân viên quản lý gặp nhiều bất cập khi muốn thông báo cho khách hàng quatin nhắn, tìm kiếm, cập nhật, gói tiêm, vắc-xin,… Từ thực tế đó, việc xây dựng đượcwebsite tiêm chủng cho Trung tâm tiêm chủng QNVC là rất cần thiết
1 Mục tiêu đề tài
Website tiêm chủng Quảng Nam Vaccine giúp khách hàng có nhu cầu tiêm chủng
dễ dàng tra cứu thông tin và đăng ký tiêm chủng qua website Giúp nhân viên tiết kiệmthời gian trong việc quản lý thông tin tiêm chủng và tự động thông báo lịch tiêm qua tinnhắn cho khách hàng
2 Đối tượng nghiên cứu và phạm vi nghiên cứu
a) Đối tượng nghiên cứu
Vắc-xin, gói tiêm chủng, phiếu đăng ký tiêm chủng và nghiệp vụ của nhân viên tạiTrung tâm tiêm chủng QNVC
b) Phạm vi nghiên cứu
Trung tâm tiêm chủng Quảng Nam Vaccine, tỉnh Quảng Nam
3 Phương pháp nghiên cứu
Phương pháp nghiên cứu thống kê:
- Thu nhập các tài liệu, số liệu liên quan đến đề tài
- Sàng lọc và tổng hợp các tài liệu
Phương pháp xử lý dữ liệu: Sử dụng excel để tổng hợp và xử lý dữ liệu
4 Giải pháp công nghệ
- Sử dụng ReactJS, Material UI để xây dựng giao diện người dùng
- Sử dụng NodeJS & Express để xây dựng máy chủ
- Sử dụng MySQL làm cơ sở dữ liệu
Trang 155 Cấu trúc đồ án
- Mở đầu
- Chương I: Cơ sở lý thuyết
- Chương II: Phân tích thiết kế hệ thống
- Chương III: Xây dựng chương trình
- Kết luận và hướng phát triển
- Tài liệu tham khảo
Trang 16CHƯƠNG 1 CƠ SỞ LÝ THUYẾT
6 Hệ quản trị cơ sở dữ liệu MySQL
MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ mã nguồn mở (RDBMS) dựatrên ngôn ngữ truy vấn có cấu trúc (SQL) được phát triển, phân phối và hỗ trợ bởi tậpđoàn Oracle MySQL chạy trên hầu hết tất cả các nền tảng, bao gồm cả Linux , UNIX
và Windows MySQL thường được kết hợp với các ứng dụng web
Hình 1.1 Hệ quản trị cơ sở dữ liệu MySQL
MySQL dựa trên mô hình client-server Cốt lõi của MySQL là máy chủ MySQL, xử
lý tất cả các hướng dẫn cơ sở dữ liệu (hoặc các lệnh) Máy chủ MySQL có sẵn như làmột chương trình riêng biệt để sử dụng trong môi trường mạng client-server và như mộtthư viện có thể được nhúng (hoặc liên kết) vào các ứng dụng riêng biệt
MySQL hoạt động cùng với một số chương trình tiện ích hỗ trợ quản trị cơ sở dữliệu MySQL Các lệnh được gửi đến MySQLServer thông qua máy khách MySQL,được cài đặt trên máy tính
MySQL ban đầu được phát triển để xử lý cơ sở dữ liệu lớn một cách nhanh chóng.Mặc dù MySQL thường chỉ được cài đặt trên một máy, nhưng nó có thể gửi cơ sở dữliệu đến nhiều vị trí, vì người dùng có thể truy cập thông qua các giao diện máy kháchMySQL khác nhau Các giao diện này gửi các câu lệnh SQL đến máy chủ và sau đóhiển thị kết quả
MySQL cho phép dữ liệu được lưu trữ và truy cập trên nhiều công cụ lưu trữ, baogồm InnoDB, CSV và NDB MySQL cũng có khả năng sao chép dữ liệu và phân vùngbảng để có hiệu suất và độ bền tốt hơn Người dùng MySQL không bắt buộc phải họccác lệnh mới; họ có thể truy cập dữ liệu của mình bằng các lệnh SQL tiêu chuẩn
Trang 17MySQL được viết bằng C và C++ và có thể truy cập và có sẵn trên hơn 20 nền tảng,bao gồm Mac, Windows, Linux và Unix RDBMS hỗ trợ cơ sở dữ liệu lớn với hàngtriệu bản ghi và hỗ trợ nhiều loại dữ liệu bao gồm các số nguyên có chữ ký hoặc khôngdấu có độ dài 1, 2, 3, 4 và 8 byte(s); FLOAT; DOUBLE; CHAR; VARCHAR;BINARY; VARBINARY; TEXT; BLOB; DATE; TIME; DATETIME; TIMESTAMP;YEAR; SET; ENUM; và các kiểu OpenGIS Các loại chuỗi có độ dài cố định và biếnđổi cũng được hỗ trợ.
Để bảo mật, MySQL sử dụng một đặc quyền truy cập và hệ thống mật khẩu được
mã hóa cho phép xác minh dựa trên máy chủ Các máy khách MySQL có thể kết nốivới Máy chủ MySQL bằng một số giao thức, bao gồm cả giao thức TCP/IP trên bất kỳnền tảng nào MySQL cũng hỗ trợ một số chương trình máy khách và tiện ích, chươngtrình dòng lệnh và công cụ quản trị như MySQL Workbench
Các nhánh của MySQL bao gồm:
- Drijection: một hệ thống quản lý cơ sở dữ liệu nguồn mở nhẹ được phát triển
dựa trên MySQL 6.0
- MariaDB: một sự thay thế phổ biến do cộng đồng phát triển cho MySQL sử
dụng các lệnh và API của MySQL
- Percona Server với XtraDB: một phiên bản nâng cao của MySQL được biết
đến với khả năng mở rộng theo chiều ngang
Trang 18Tiêu chí SQL MYSQL
Định nghĩa SQL là một ngôn ngữ truy
vấn có cấu trúc(Structured QueryLanguage) Nó rất hữu ích
để quản lý cơ sở dữ liệuquan hệ
MySQL là một RDBMS
để lưu trữ, truy xuất, sửađổi và quản trị cơ sở dữliệu bằng cách sử dụngMySQL
Kiểu SQL là một ngôn ngữ truy
vấn
MySQL là phần mềm cơ
sở dữ liệu Nó đã sử dụngngôn ngữ "SQL" để truyvấn cơ sở dữ liệu
Hỗ trợ kết nối SQL không cung cấp trình
kết nối
MySQL cung cấp mộtcông cụ tích hợp được gọi
là 'MySQL workbench' đểthiết kế và phát triển cơ sở
dữ liệu
Mục đích Để truy vấn và vận hành
hệ thống cơ sở dữ liệu
Cho phép xử lý dữ liệu,lưu trữ, sửa đổi, xóa theođịnh dạng bảng
Sử dụng Mã và lệnh SQL được sử
dụng trong các hệ thốngDBMS và RDMS khácnhau bao gồm MYSQL
MYSQL được sử dụnglàm cơ sở dữ liệuRDBMS
Cập nhật Ngôn ngữ là cố định, và
lệnh vẫn giữ nguyên
Nhận cập nhật thườngxuyên
Bảng 1.1 So sánh SQL với MySQL
Trang 197 Ngôn ngữ lập trình
1.7.1 Javascript
Hình 1.2 Ngôn ngữ Javascript
Javascript là một ngôn ngữ lập trình website, được tích hợp và nhúng trong HTML
và giúp cho website trở nên sống động hơn Đây là dạng ngôn ngữ theo kịch bản, đượchình thành dựa trên chính đối tượng phát triển có sẵn hoặc đơn giản là tự định nghĩa ra.Javascript cho phép bạn kiểm soát các hành vi của trang web tốt hơn so với việc chỉ sửdụng mỗi HTML
1.7.2 NodeJS
Hình 1.3 NodeJS
Nodejs là một nền tảng (Platform) phát triển độc lập được xây dựng trên V8JavaScript Engine – trình thông dịch thực thi mã JavaScript NodeJS cung cấp các thưviện phong phú ở dạng Javascript Module khác nhau giúp đơn giản hóa việc lập trình
và giảm thời gian ở mức thấp nhất
Các đặc tính của NodeJS:
Không đồng bộ: Tất cả các API của NodeJS đều không đồng bộ blocking), nó chủ yếu dựa trên nền của NodeJS Server và chờ đợi Server trả dữliệu về Việc di chuyển máy chủ đến các API tiếp theo sau khi gọi và cơ chế
Trang 20(none-thông báo các sự kiện của Node.js giúp máy chủ để có được một phản ứng từ cáccuộc gọi API trước (Realtime).
Chạy rất nhanh: Phần Core bên dưới của Nodejs được viết hầu hết bằng C++ nêncho tốc độ xử lý và hiệu năng khá cao
Đơn luồng nhưng khả năng mở rộng cao: Node.js sử dụng một mô hình luồngduy nhất với sự kiện lặp cơ chế tổ chức sự kiện giúp các máy chủ để đáp ứngmột cách không ngăn chặn và làm cho máy chủ cao khả năng mở rộng như tráingược với các máy chủ truyền thống mà tạo đề hạn chế để xử lý yêu cầu.Node.js sử dụng một chương trình đơn luồng và các chương trình tương tự cóthể cung cấp dịch vụ cho một số lượng lớn hơn nhiều so với yêu cầu máy chủtruyền thống như Apache HTTP Server
Không đệm: NodeJS không đệm bất kì một dữ liệu nào và các ứng dụng này chủyếu là đầu ra dữ liệu
Có giấy phép: NodeJS đã được cấp giấy phép bởi MIT License
Ý tưởng chính của Node js là sử dụng non-blocking, hướng sự vào ra dữ liệu thôngqua các tác vụ thời gian thực một cách nhanh chóng Bởi vì, Node js có khả năng mởrộng nhanh chóng, khả năng xử lý một số lượng lớn các kết nối đồng thời bằng thônglượng cao
Nếu như các ứng dụng web truyền thống, các request tạo ra một luồng xử lý yêu cầumới và chiếm RAM của hệ thống thì việc tài nguyên của hệ thống sẽ được sử dụngkhông hiệu quả Chính vì lẽ đó giải pháp mà Node js đưa ra là sử dụng luồng đơn(Single-Threaded), kết hợp với non-blocking I/O để thực thi các request, cho phép hỗtrợ hàng chục ngàn kết nối đồng thời
1.7.3 Express
Hình 1.4 Express
Trang 21Express.js, hay đơn giản là Express, là một khung ứng dụng web back end choNode.js, được phát hành dưới dạng phần mềm mã nguồn mở và miễn phí theo Giấyphép MIT Nó được thiết kế để xây dựng các ứng dụng web và API Nó đã được gọi làkhung máy chủ tiêu chuẩn trên thực tế cho Node.js.
1.7.4 ReactJS
Hình 1.5 ReactJS
ReactJS là một thư viện JavaScript được phát triển bởi Facebook React được tạo ra
để xây dựng giao diện người dùng có khả năng tương tác tốt và nhanh chóng cho cácứng dụng web và di động Nó là một thư viện mã nguồn mở, xây dựng dựa trên cáccomponent, giao diện người dùng chỉ chịu trách nhiệm cho tầng view của ứng dụng
1.7.5 Material UI
Hình 1.6 Material - UI
Material UI là một framework giao diện người dùng, mã nguồn mở cho các thànhphần React Nó được xây dựng bằng cách sử dụng Less Less (viết tắt của Leaner StyleSheets), là một phần mở rộng ngôn ngữ tương thích ngược cho CSS Giao diện ngườidùng Material dựa trên Google’s Material Design để cung cấp trải nghiệm và chấtlượng một cách tốt nhất trong khi phát triển đồ họa giao diện người dùng
Trang 22CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG
1 Tác nhân hệ thống
Khách hàng
Nhân viên hành chính - kinh doanh
Nhân viên chăm sóc khách hàng
Nhân viên y tế
Quản trị viên (Nhân viên kỹ thuật)
2 Đặc tả yêu cầu phần mềm
2.2.1 Khách hàng
Xem thông tin vắc-xin
Xem thông tin gói tiêm
Xem các tin tức tiêm chủng
Đăng ký tiêm chủng
Tra cứu thông tin tiêm chủng
2.2.2 Nhân viên kỹ thuật
Đăng nhập/Đăng xuất
Xem thông tin nhân viên
Cập nhật thông tin nhân viên
Cập nhật thông tin phòng ban
Xem thông tin khách hàng
Xem danh sách phiếu tiêm chủng
Xem thông tin phiếu tiêm chủng
Xem thông tin mũi tiêm
Cập nhật trạng phản ứng sau khi tiêm
Trang 23 Đặt lịch hẹn (cho lần tiêm mũi tiếp theo - thông báo qua sms)
1.1.1 Nhân viên hành chính – kinh doanh
Đăng nhập/Đăng xuất
Tìm kiếm thông tin vắc-xin
Xem thông tin vắc-xin
Cập nhật thông tin vắc-xin
Tìm kiếm thông tin gói tiêm
Xem thông tin gói tiêm
Cập nhật thông tin gói tiêm
Duyệt phiếu đăng ký tiêm chủng (thông báo qua sms)
Xác nhận thanh toán phiếu đăng ký tiêm chủng
1.1.2 Nhân viên chăm sóc khách hàng
Đăng nhập/Đăng xuất
Tìm kiếm khách hàng
Xem thông tin khách hàng
Xem danh sách phiếu đăng ký tiêm chủng
Xem tin tức tiêm chủng
Cập nhật tin tức tiêm chủng
Trang 243 Sơ đồ Use-case
Hình 2.7 Use-case Diagram
Trang 254 Sơ đồ hoạt động
2.4.1 Đăng ký tiêm chủng
Hình 2.8 Sơ đồ hoạt động nhập đăng ký tiêm chủng
Trang 262.4.2 Tra cứu phiếu đăng ký tiêm chủng
Hình 2.9 Sơ đồ hoạt động tra cứu phiếu đăng ký tiêm chủng
Trang 272.4.3 Khám sàng lọc
Hình 2.10 Sơ đồ hoạt động khám sàng lọc
Trang 282.4.4 Đặt hẹn
Hình 2.11 Sơ đồ hoạt động đặt hẹn
Trang 292.4.5 Cập nhật phản ứng sau khi tiêm
Hình 2.12 Sơ đồ hoạt động cập nhật phản ứng sau khi tiêm
Trang 302.4.6 Duyệt phiếu đăng ký tiêm chủng
Hình 2.13 Sơ đồ hoạt động duyệt phiếu đăng ký tiêm chủng
Trang 315 Phát thảo giao diện cho các bảng có lưu trữ dữ liệu
2.5.1 Khách hàng
Hình 2.14 Giao diện đăng ký tiêm chủng cho bản thân
Hình 2.15 Giao diện đăng ký tiêm chủng cho người khác
Trang 32Hình 2.16 Giao diện đăng ký tiêm chủng cho gói tiêm
Hình 2.17 Giao diện đăng ký tiêm chủng cho tiêm lẻ
Dữ liệu sau khi đăng ký sẽ được lưu vào bảng KhachHang,
PhieuDangKyTiemChung, ChiTietPhieuDK
KhachHang
khách hàng
Là nam hoặc nữ
năm sinh củakhách hàng
của khách hàng
10 kí tự, từ 0 9
Trang 33-(hoặc người liênhệ)
của khách hàng
liên hệ
Không bắt buộc
của người liên hệvới khách hàng
Không bắt buộc
Bảng 2.2 Bảng KhachHang
PhieuDangKyTiemChung
theo gói tiêm
tạo phiếu đăng ký tiêm chủng
hẹn đến
Sau ngày yêu cầu
và không quá 2 tháng kể từ ngày yêu cầu
đến lấy phiếu và thanh toán
loại vắc-xin đã chọn
Lớn hơn hoặc bằng0
duyệt, giá trị = 1:
đã duyệt, giá trị = 2: từ chối
Mặc định là 0
Bảng 2.3 Bảng PhieuDangKyTiemChung
ChiTietPhieuDK
Trang 34ký tiêm chủng
Khóa ngoại (PhieuDangKyTiemChung)
vắc-xin tại thời điểmđăng ký
Lớn hơn hoặc bằng 0
tiêm, đang tiêm hay chưa tiêm loại vắc-xin đó