Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 59 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
59
Dung lượng
2,43 MB
Nội dung
TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN - a ó h k n ê i N u ậ Đ u ậ Đ n ă u ấ n c ứ h t g n ô c ẻ s a i h c g n ụ d g n ứ v e t i s b e w g n ự d y â X PHẠM TIẾN HÙNG NGUYỄN BÁ THÁI XÂY DỰNG WEBSITE VÀ ỨNG DỤNG CHIA SẺ CƠNG THỨC NẤU ĂN ĐẬU ĐẬU Chun ngành: Cơng nghệ thông tin ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HÀ NỘI – Năm 2019 TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN PHẠM TIẾN HÙNG NGUYỄN BÁ THÁI XÂY DỰNG WEBSITE VÀ ỨNG DỤNG CHIA SẺ CÔNG THỨC NẤU ĂN ĐẬU ĐẬU Chuyên ngành: Công nghệ thông tin Giảng viên hướng dẫn: ThS Nguyễn Thành Huy ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Hà Nội - Năm 2019 TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI KHOA Độc lập – Tự – Hạnh phúc CƠNG NGHỆ THƠNG TIN CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM Hà Nội, ngày 28 tháng 11 năm 2019 NHIỆM VỤ CỦA ĐỒ ÁN TỐT NGHIỆP Họ tên: Phạm Tiến Hùng Giới tính: Nam Ngày sinh: 10/12/1997 Nơi sinh: Quảng Ninh Chuyên ngành: Công nghệ phần mềm Mã số: 15A10010121 Lớp hành chính: 1510A06 Họ tên: Nguyễn Bá Thái Giới tính: Nam Ngày sinh: 11/03/1997 Nơi sinh: Hà Nội Chuyên ngành: Công nghệ phần mềm Mã số: 15A10010031 Lớp hành chính: 1510A02 TÊN ĐỀ TÀI Xây dựng website ứng dụng chia sẻ công thức nấu ăn Đậu Đậu NHIỆM VỤ CỦA ĐỀ TÀI Nhiệm vụ cụ thể đồ án tốt nghiệp: − Nghiên cứu tìm hiểu ứng dụng PHP Phalcon − Nghiên cứu tìm hiểu ứng dụng Hệ quản trị Cơ sở liệu PostgreSQL − Nghiên cứu tìm hiểu ứng dụng thư viện đồ họa android − Phân tích thiết kế hệ thống − Xây dựng hệ thống bao gồm: + Ứng dụng mobile chia sẻ công thức nấu ăn Đậu Đậu: ứng dụng dành cho người dùng cuối Đọc liệu từ website trả về, giúp lưu trữ công thức nấu ăn máy cục bộ, hỗ trợ hệ điều hành android + Website chia sẻ công thức nấu ăn - quản lý: Tạo website chia sẻ công thức nấu ăn Đậu Đậu dành cho người dùng, website quản lý dành cho quản trị viên, services dành cho ứng dụng mobile NGÀY GIAO NHIỆM VỤ 12 - 09 - 2019 NGÀY HOÀN THÀNH NHIỆM VỤ 28 - 11 - 1019 PHÂN CƠNG CƠNG VIỆC Phân tích & thiết kế hệ thống Phạm Tiến Hùng nấu ăn Đậu Đậu Xây dựng ứng dụng android chia sẻ công thức Nguyễn Bá Thái Phân tích & thiết kế hệ thống Xây dựng website chia sẻ công thức nấu ăn Đậu Đậu GIẢNG VIÊN HƯỚNG DẪN: ThS Nguyễn Thành Huy Nội dung đề cương Đồ án Hội đồng chuyên ngành thông qua Ngày 28 tháng 11 năm 2019 GIẢNG VIÊN HƯỚNG DẪN KHOA CÔNG NGHỆ THÔNG TIN MỤC LỤC CHƯƠNG 1:TỔNG TÀI .1 QUAN 1.1 Lý chọn ĐỀ đề tài 1.2 Mô tả hệ thống 1.3 Xác định yêu cầu hệ thống 1.3.1 Yêu cầu chức 1.3.2 Yêu cầu phi chức CHƯƠNG 2:PHÂN TÍCH HỆ THỐNG 2.1 Xác định chức 2.2 Sơ đồ phân rã chức 2.3 Sơ đồ luồng liệu .9 2.3.1 Ký hiệu sử dụng 2.3.2 DFD mức ngữ cảnh 2.3.3 DFD mức đỉnh 10 2.3.4 DFD mức đỉnh .11 2.4 Đặc tả chức 17 2.4.1 Đăng ký tài khoản 17 2.4.2 Đăng nhập tài khoản .18 2.4.3 Đăng xuất tài khoản 19 2.4.4 Lấy lại mật tài khoản 20 2.4.5 Thay đổi mật tài khoản 21 2.4.6 Cập nhập thông tin tài khoản .22 2.4.7 Tạo công thức 23 2.4.8 Sửa công thức 24 2.4.9 Xóa cơng thức .25 2.4.10 Đánh dấu công thức 26 2.4.11 Bỏ đánh dấu công thức 27 2.4.12 u thích cơng thức 28 2.4.13 Bỏ u thích cơng 2.4.14 thức 29 Bình luận cơng thức 30 2.4.15 Xem danh sách công thức yêu thích 31 2.4.16 Xem danh sách công thức lưu trữ 31 2.4.17 Xem danh sách người dùng theo dõi 32 2.4.18 Theo dõi 2.4.19 người dùng 33 Bỏ theo dõi người dùng 34 2.4.20 Tìm kiếm cơng thức 35 2.4.21 Tìm kiếm người dùng 36 2.4.22 Thêm tài khoản người dùng 37 2.4.23 Vô hiệu hóa tài khoản người dùng .38 2.4.24 Phê duyệt công thức .39 2.4.25 Yêu cầu sửa công thức 40 2.4.26 Thêm nhóm cơng thức 41 2.4.27 Xóa nhóm cơng thức 42 2.4.28 Đánh giá người dùng 43 2.4.29 Báo cáo công thức cho quản trị viên .44 CHƯƠNG 3:THIẾT KẾ HỆ THỐNG 45 3.1 Thiết kế sở liệu 45 3.1.1 Xác định thực thể 45 3.1.2 Xác định liên kết 47 3.1.3 Mơ hình ER 49 3.1.4 Các bảng sở liệu 50 3.1.5 Mô hình quan hệ 64 CHƯƠNG 4:CƠ SỞ LÝ THUYẾT 65 4.1 Ngôn ngữ lập trình JAVA 65 4.2 Ngơn ngữ lập trình PHP .66 4.3 Hệ quản trị sở liệu PostgreSQL .67 CHƯƠNG 5:XÂY DỰNG CHƯƠNG TRÌNH 69 5.1 Xây dựng ứng dụng điện thoại android 69 5.1.1 Giao diện đăng nhập .69 5.1.2 Giao diện đăng ký 70 5.1.3 Giao diện trang chủ 71 5.1.4 Giao diện chi tiết công thức 72 5.1.5 Giao diện phân loại công thức .73 5.1.6 Giao diện trang thông tin cá nhân 74 5.1.7 Giao diện trang danh sách công thức 75 5.1.8 Giao diện thông tin người dùng khác 76 5.1.9 Giao diện trang danh sách người dùng theo dõi 77 5.1.10 Giao diện trang danh sách công thức bạn .78 5.1.11 Giao diện trang đổi mật .79 5.1.12 Giao diện trang tìm kiếm công thức 80 5.2 Xây dựng website 81 5.2.1 Giao diện trang đăng nhập 81 5.2.2 Giao diện trang đăng ký 81 5.2.3 Giao diện trang chủ 82 5.2.4 Giao diện đăng công thức 83 5.2.1 Giao diện trang thông tin chi tiết công thức 85 5.2.2 Giao diện công thức tài khoản 86 5.2.3 Giao diện trang menu tài khoản 86 5.2.4 Giao diện công thức xem 87 5.2.5 Giao diện công thức lưu 87 CHƯƠNG 3: THIẾT KẾ HỆ THỐNG 3.1 Thiết kế sở liệu Để dễ dàng cho việc xây dựng sở liệu, chúng em sử dung tên thực thể tiếng anh 3.1.1 Xác định thực thể − Thực thể USER gồm thuộc tính: mã người dùng, email, tên tài khoản, mật khẩu, số điện thoại, trạng thái, quyền, token, thời gian tạo, thời gian sửa đổi, mã ảnh − Thực thể ROLE gồm thuộc tính: mã quyền, tên quyền, mã số quyền, trạng thái, thời gian tạo, thời gian sửa đổi − Thực thể STEP gồm thuộc tính: mã bước, tên bước, mã số bước, mã công thức, thứ tự bước công thức, mô tả, trạng thái, thời gian tạo, thời gian sửa đổi − Thực thể RECIPE_COOK gồm thuộc tính: mã cơng thức, tên công thức, mã số công thức, mã người dùng, trạng thái, mã ảnh, thời gian tạo, thời gian sửa đổi, tổng theo dõi, link video, link chia sẻ, tổng số lượt xem, tổng số lượt đánh dấu − Thực thể RAW_MATERIALgồm thuộc tính: mã nguyên liệu, tên nguyên liệu, mã số nguyên liệu, mã số rút gọn nguyên liệu, trạng thái, mã định lượng, thời gian tạo, thời gian sửa đổi − Thực thểQUANTITATIVEgồm thuộc tính: mã định lượng, tên định lượng, mã số định lượng, mã số rút gọn định lượng, trạng thái, thời gian tạo, thời gian sửa đổi − Thực thể STATUS gồm thuộc tính: mã trạng thái, tên trạng thái, mã số trạng thái, mô tả trạng thái, thời gian tạo, thời gian sửa đổi 46 − Thực thể BOOKMARKgồm thuộc tính: mã theo dõi cơng thức, mã người dùng, mã công thức, trạng thái, thời gian tạo, thời gian sửa đổi, thể loại đánh dấu − Thực thểCATEROGY gồm thuộc tính: mã nhóm cơng thức, tên nhóm cơng thức, mã số nhóm cơng thức, mã thể loại nhóm, trạng thái, thời gian tạo, thời gian sửa đổi − Thực thể CATEGORY_TYPE gồm thuộc tính: mã thể loại nhóm, tên thể loại nhóm, mã số thể loại nhóm, trạng thái, thời gian tạo, thời gian sửa đổi − Thực thể BOOKMARK_USER gồm thuộc tính: mã theo dõi người dùng, mã người dùng, mã người theo dõi, trạng thái, thời gian tạo, thời gian sửa, thể loại, điểm − Thực thể COMMENT gồm thuộc tính: mã bình luận, mã người dùng, mã cơng thức, bình luận, thời gian tạo, thời gian sửa đổi − Thức thể IMAGE gồm thuộc tính: mã ảnh, mã số ảnh, nội dung ảnh, thời gian tạo, thời gian sửa đổi, link ảnh, link ảnh đổi kích thước, số thứ tự, mã công thức, trạng thái − Thức thể SPAM_RECIPE gồm thuộc tính: mã phản hồi cơng thức, mã người dùng, mã cơng thức, bình luận, thời gian tạo, thời gian sửa đổi,thể loại, điểm − Thức thể SEEN_RECIPE gồm thuộc tính: mã xem cơng thức, mã người dùng, mã công thức, thời gian tạo, thời gian sửa đổi,ip − Thực thể USER_CATEGORY gồm thuộc tính: mã phân loại nhóm cơng thức với người dùng, mã người dung, mã nhóm cơng thức, mã trạng thái, thời gian tạo, thời gian sửa đổi 47 3.1.2 Xác định liên kết − RECIPE_COOK có CATEGORY: n-n cơng thức thuộc nhiều nhóm cơng thức khác − RECIPE_COOK có RAW_MATERIAL: n-n cơng thức có nhiểu nguyên liệu khác − RECIPE_COOK có COMMENT: 1-n cơng thức có nhiều đánh giá khác − RECIPE_COOK có IMAGE: 1-1 cơng thức có ảnh đại diện − RECIPE_COOK có BOOKMARK: 1-n cơng thức có nhiều theo dõi khác − RECIEP_COOK có SEEN_REICPE: 1-n cơng thức xem nhiều người dùng khác − RECIEP_COOK có SPAM_REICPE: 1-n cơng thức bị spam nhiều người dùng khác − USER có IMAGE: 1-1 người dùng có ảnh đại diện − USER có RECIPE_COOK: 1-n người có nhiều cơng thức khác − USER có BOOKMARK: 1-n người dùng theo dõi cơng thức − USER có SEEN_REICPE: 1-n người dùng có xem nhiều cơng thức khác − USER có SPAM_REICPE: 1-n người dùng spam nhiều cơng thức khác − USER có CATEGORY: n-n người dùng phân vào nhiều nhóm cơng thức khác ngược lại 48 − STATUS có ROLE: 1-n trạng thái có thểở nhiều quyền khác − STATUS có USER :1-n trạng thái nhiều người dùng khác − STATUS có STEP:1-n trạng thái nhiều bước cơng thức khác − STATUS có RECIPE_COOK: 1-n trạng thái nhiều cơng thức khác − STATUS có RAW_MATERIAL: 1-n trạng thái nhiều nguyên liệu khác − STATUS có QUANTITATIVE: 1-n trạng thái nhiều định lượng khác − STATUS có BOOKMARK: 1-n trạng thái có thểở nhiều đánh dấu khác − STATUS có CATEGORY: 1-n trạng thái nhiều nhóm cơng thức khác − STATUS có CATEGORY_TYPE: 1-n trạng thái nhiều thể loại nhóm cơng thức khác − STATUS có BOOKMARK_USER: 1-n trạng thái nhiều đánh dấu người dùng khác − STEP có IMGAE:1- n bước cơng thức có nhiều ảnh khác − ROLE có USER: 1-n quyền có nhiều người dùng khác − CATEGORY_TYPE có CATEGORY: 1-n thể loại nhóm cơng thức có nhiều nhóm cơng thức khác 49 3.1.3 Mơ hình ER Hình 3.1 Mơ hình ER 50 3.1.4 Các bảng sở liệu 3.1.4.1 Bảng Quyền (ROLE) Bảng 3.1 Bảng Quyền (ROLE) Thuộc tính Kiểu liệu Ràng buộc Null Mơ tả id int Khóa Not Mã quyền name varchar(255) Not Tên quyền code varchar(255) Not Mã số quyền status_id int Khóa ngoại Not Mã trạng thái created_time datetime Not Thời gian tạo Thời gian sửa modified_time datetime Not đổi 51 3.1.4.2 Bảng người dùng (USER) Bảng 3.2 Bảng người dùng (USER) Thuộc tính Kiểu liệu Ràng buộc Null Mơ tả id int Khóa Not Mã người dùng username varchar(255) Not Tên đăng nhập email varchar(255) Not Email password varchar(255) Not Mật phone varchar(255) Số điện thoại status_id int Khóa ngoại Not Mã trạng thái role_id int Khóa ngoại Not Mã quyền Token người token varchar(255) Not dùng created_time datetime Not Thời gian tạo modified_time datetime Not Thời gian sửa đổi Image_id int Khóa ngoại Not Mã ảnh 52 3.1.4.3 Bảng bước nấu ăn (STEP) Bảng 3.3 Bảng bước nấu ăn (STEP) Thuộc tính Kiểu liệu Ràng buộc Null Mơ tả id int Khóa Not Mã bước name varchar(255) Not Tên bước code varchar(255) Not Mã số bước counter int Not Số thứ tự reciper_cook_id int Khóa ngoại Not Mã cơng thức description varchar(255) Not Mơ tả status_id int Khóa ngoại Not Mã trạng thái created_time datetime Not Thời gian tạo Thời gian sửa modified_time datetime Not đổi 53 3.1.4.4 Bảng công thức nấu ăn (RECIPE_COOK) Bảng 3.4 Bảng công thức nấu ăn (RECIPE_COOK) Thuộc tính Kiểu liệu Ràng buộc Null Mơ tả Khóa id int Not Mã cơng thức name varchar(255) Not Tên công thức code varchar(255) Not Mã số cơng thức Tổng số đánh total_bookmark int Khóa status_id int image_id int dấu Khóa ngoại Not Mã ảnh ngoại Not Mã trang thái created_time datetime Not Thời gian tạo Thời gian sửa modified_time datetime Not đổi link_video varchar(255) Link video link_share varchar(255) Link share level varchar(255) Độ khó time_do varchar(255) Thời gian làm 54 3.1.4.5 Bảng nguyên liệu (RAW_MATERIAL) Bảng 3.5 Bảng nguyên liệu (RAW_MATERIAL) Thuộc tính Kiểu liệu Ràng buộc Null Mơ tả id int Khóa Not Mã nguyên liệu name varchar(255) Not Tên nguyên liệu Mã số nguyên code varchar(255) Not liệu short_code varchar(255) Mã số rút gọn status_id int Khóa ngoại Not Mã trạng thái created_time datetime Not Thời gian tạo modified_time datetime Not Thời gian sửa đổi 55 3.1.4.6 Bảng định lượng (QUANTITATIVE) Bảng 3.6 Bảng định lượng (QUANTITATIVE) Thuộc tính Kiểu liệu Ràng buộc Null Mơ tả id int Khóa Not Mã định lượng name varchar(255) Not Tên định lượng code varchar(255) Not Mã số định lượng short_code varchar(255) Mã rút gọn status_id int Khóa ngoại Not Mã trạng thái created_time datetime Not Thời gian tạo modified_time datetime Not Thời gian sửa đổi 56 3.1.4.7 Bảng trạng thái (STATUS) Bảng 3.7 Bảng trạng thái (STATUS) Thuộc tính Kiểu liệu Ràng buộc Null Mơ tả id int Khóa Not Mã trạng thái name varchar(255) Not Tên trạng thái code varchar(255) Not Mã số trạng thái description varchar(255) Mô tả created_time datetime Not Thời gian tạo Thời gian sửa modified_time datetime Not đổi 57 3.1.4.8 Bảng đánh dấu (BOOKMARK) Bảng 3.8 Bảng đánh dấu (BOOKMARK) Thuộc tính Kiểu liệu Ràng buộc Null Mơ tả id int Khóa Not Mã đánh dấu user_id int Khóa ngoại Not Mã người dùng recipe_cook_id int Khóa ngoại Not Mã cơng thức status_id int Khóa ngoại Not Mã trạng thái created_time datetime Not Thời gian tạo Thời gian sửa modified_time datetime Not đổi 58 3.1.4.9 Bảng nhóm cơng thức (CATEGORY) Bảng 3.9 Bảng nhóm cơng thức (CATEGORY) Thuộc tính Kiểu liệu Ràng buộc Null Mơ tả Mã nhóm cơng id int Khóa Not thức name varchar(255) Not Tên nhóm code varchar(255) Not Mã số nhóm type_id int Khóa ngoại Not Mã thể loại nhóm status_id int Khóa ngoại Not Mã trạng thái created_time datetime Not Thời gian tạo modified_time datetime Thời gian sửa đổi 59 3.1.4.10 Bảng đánh dấu người dùng (BOOKMARK_USER) Bảng 3.10 Bảng đánh dấu người dùng (BOOKMARK_USER) Thuộc tính Kiểu liệu Ràng buộc Null Mô tả Mã đánh dấu id int Khóa Not user_id int Khóa ngoại bookmark_user_id int Not người dùng Not Mã người dùng Mã người dùng đánh dấu status_id int Khóa ngoại Not Mã trạng thái created_time datetime Not Thời gian tạo Thời gian sửa modified_time datetime Not đổi type Varchar(255) Loại point float Đáng giá 60 3.1.4.11 Bảng bình luận (COMMENT) Bảng 3.11 Bảng bình luận (COMMENT) Thuộc tính Kiểu liệu Ràng buộc Null Mơ tả id int Khóa Not Mã bình luận user_id int Khóa ngoại Not Mã người dùng Nội dung bình comment varchar(255) Not luận recipe_cook_id int Khóa ngoại Not Mã cơng thức create_time datetime Not Thời gian tạo modified_time datetime Not Thời gian sửa đổi 61 3.1.4.12 Bảng hỉnh ảnh (IMAGE) Bảng 3.12 Bảng hỉnh ảnh (IMAGE) Thuộc tính Kiểu liệu Ràng buộc Null Mơ tả id int Khóa Not Mã ảnh code varchar(255) Not Mã số ảnh Nội dung ảnh image_base text Not mã hóa created_time datetime Not Thời gian tạo modified_time datetime Not Thời gian sửa đổi step_id int Khóa ngoại Not Mã bước status_id int Khóa ngoại Not Mã trạng thái recipe_cook_id int Not Mã công thức 62 3.1.4.13 Bảng bình luận (SPAM_RECIPE) Bảng 3.13 Bảng bình luận (SPAM_RECIPE) Thuộc tính Kiểu liệu Ràng buộc Null Mơ tả id int Khóa Not Mã bình luận user_id int Khóa ngoại Not Mã người dùng description varchar(255) Not Nội dung bình luận recipe_cook_id int Khóa ngoại Not Mã cơng thức create_time datetime Not Thời gian tạo modified_time datetime Not Thời gian sửa đổi point float Điểm type varchar(255) Thể loại 63 3.1.4.14 Bảng bình luận (SEEN_RECIPE) Bảng 3.14 Bảng bình luận (SEEN_RECIPE) Thuộc tính Kiểu liệu Ràng buộc Null Mơ tả id int Khóa Not Mã bình luận user_id int Khóa ngoại Not Mã người dùng recipe_cook_id int Khóa ngoại Not Mã cơng thức create_time datetime Not Thời gian tạo modified_time datetime Not Thời gian sửa đổi 3.1.4.15 Bảng phân loại nhóm cơng thức (CATEGORY_TYPE) Bảng 3.15 Bảng phân loại nhóm cơng thức (CATEGORY_TYPE) Thuộc tính Kiểu liệu Ràng buộc Null Mơ tả id int Khóa Not Mã phân loại name varchar(255) Tên phân loại code varchar(255) Mã số phân loại status_id int Khóa ngoại Not Mã trạng thái create_time datetime Not Thời gian tạo modified_time datetime Not Thời gian sửa đổi 64 3.1.5 Mô hình quan hệ Hình 3.2 Mơ hình quan hệ 65 CHƯƠNG 4: CƠ SỞ LÝ THUYẾT 4.1 Ngôn ngữ lập trình JAVA Để xây dựng ứng dụng giáo dục học lúc, nơi sử dụng nhóm chúng em lựa chọn tảng Android Smartphone – điện thoại thơng minh ngày thiết bị sở hữu ai, từ người giàu đến người nghèo, người già đến người trẻ Chính vậy, ứng dụng viết cho hệ điều hành Android cách tiếp cận tới nhiều người tiện lợi Để tạo ứng dụng hoạt động tảng Android bên cạnh sử dụng ngơn ngữlập trình Java [2] , cịn số cách khác sử dụng ngôn ngữ tạo ứng dụng đa tảng Xamarin, React Native… Tuy nhiên có ứng dụng viết Java tận dụng tối đa mà hệ điều hành mang lại hoạt động ổn định hầu hết thiết bị Android Với lịch sử phát triển sử dụng 20 năm, ngôn ngữ Java ngơn ngữ lập trình phổ biến sử dụng rộng rãi tồn cầu với ước tính khoảng triệu nhà phát triển Vì vậy, ngôn ngữ thân thiện, gần lập trình viên biết sử dụng Android Java khơng hồn tồn giống với Java mang đặc điểm cốt lõi ngơn ngữ Java nên với người thành thạo Java thêm nhiều thời gian để quen với Android Java Hơn nữa, với cộng đồng nhà phát triển đơng đảo, có nhiều thư viện phát triển chia sẻ sử dụng miễn phí Điều vừa giúp cho thời gian phát triển ngắn hơn, nâng cao hiệu ứng dụng hạn chế tối đa lỗi phát sinh người dùng sử dụng 66 4.2 Ngơn ngữ lập trình PHP PHP [5] (viết tắt PHP: Hypertext Preprocessor) ngơn ngữlập trình kịch mã nguồn mở chủ yếu dùng để phát triển ứng dụng viết cho máy chủ PHP thích hợp với web dễ dàng nhúng vào trang HTML Do tối ưu hóa cho ứng dụng web, tốc độ nhanh, nhỏ gọn Cú pháp PHP giống C Java, dễ học thời gian xây dựng sản phẩm tương đối ngắn so với ngôn ngữ khác nên PHP nhanh chóng trở thành ngơn ngữ lập trình web phổ biến giới PHP hỗ trợ nhiều hệ quản trị sở liệu như: MySQL, Informix, Oracle, Sybase, Solid, PostgreSQL, Generic ODBC… Phiên PHP mà ứng dụng sử dụng PHP 7.2 khắc phục điểm yếu phiên PHP trước đặc biệt với khả lập trình hướng đối tượng (OOP), xử lý XML hỗ trợ giao thức máy khách PostgresQL Frameword lập trình PHP phalcon [3] : Phalcon Framework mã nguồn mở, full-stack viết C-extension Nhưng chức có sẵn biểu diễn dạng lớp PHP để sử dụng cho ứng dụng Phalcon không giúp tăng tốc độ thực thi mà làm giảm việc sử dụng tài ngun Nó đóng gói nhiều tính auto-loader, query language, template engine… với phong phú ví dụ mẫu tài liệu hướng dẫn rõ ràng giúp dễ dàngtiếp cận học tập cách nhanh chóng, thuận tiện Phalcon khơng riêng performance mà cịn mạnh mẽ, giàu tính dễ dàng sử dụng