Đăng ký Đăng nhập
Trang chủ Giáo dục - Đào tạo Cao đẳng - Đại học Xây dựng website bán hàng nội thất...

Tài liệu Xây dựng website bán hàng nội thất

.PDF
99
1
104

Mô tả:

ĐẠI HỌC ĐÀ NẴNG PHÂN HIỆU TẠI KON TUM LÊ VĂN VIỆT TUYẾN CAO THỊ HỒNG HẠNH ĐỒ ÁN TỐT NGHIỆP XÂY DỰNG WEBSITE BÁN HÀNG NỘI THẤT GIẢNG VIÊN HƯỚNG DẪN: ThS. LÊ THỊ BẢO YẾN SINH VIÊN THỰC HIỆN: ĐẶNG BẢO LINH LỚP: K11TT MSSV: 17152480201007 CÁN BỘ HƯỚNG DẪN: ĐÀO THÌ HỒNG ÁNH Kon Tum, tháng 04 năm 2022 ĐẠI HỌC ĐÀ NẴNG PHÂN HIỆU TẠI KON TUM ĐẶNG BẢO LINH CAO THỊ HỒNG HẠNH ĐỒ ÁN TỐT NGHIỆP XÂY DỰNG WEBSITE BÁN HÀNG NỘI THẤT GIẢNG VIÊN HƯỚNG DẪN : TS. ĐỒNG NGỌC NGUYÊN THỊNH SINH VIÊN THỰC HIỆN : LÊ VĂN VIỆT TUYẾN LỚP : K11TT MSSV : 17152480201006 Kon Tum, tháng 04 năm 2022 LỜI CẢM ƠN Trong suốt quá trình học tập tại UDCK, em đã nhận được sự tận tình giúp đỡ, giảng dạy những kiến thức bổ ích của quý thầy cô của trường nói chung và của khoa Công Nghệ nói riêng. Em xin gửi lời cảm ơn chân thành và sâu sắc đến các thầy cô đặc biệt là giảng viên TS Đồng Ngọc Nguyên Thịnh trong thời gian qua đã giúp đỡ em trong việc hoàn thành bài báo cáo đồ án. Mặc dù gặp nhiều khó khăn trong việc hoàn thành bài đồ án này, tuy nhiên em đã cố gắng để thực hiện hoàn chỉnh nhất bài báo cáo. Tuy nhiên, vì chưa có đầy đủ kỹ năng cũng như kinh nghiệm để hoàn thành bài báo cáo đồ án nên em vẫn còn nhiều thiếu sót. Rất mong được sự đóng góp ý kiến và thông cảm từ quý thầy cô để em có thể hoàn thiện báo cáo hơn. Em xin chân thành cảm ơn ! Sinh viên Lê Văn Việt Tuyến MỤC LỤC CHƯƠNG 1. TỔNG QUAN .........................................................................................1 1.1. TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU .......................................................1 1.2. LÝ DO CHỌN ĐỀ TÀI ..........................................................................................1 1.3. MỤC ĐÍCH NGHIÊN CỨU ..................................................................................1 1.4. PHẠM VI NGHIÊN CỨU .....................................................................................2 1.5. PHƯƠNG PHÁP NGHIÊN CỨU .........................................................................2 1.5.1. Lý thuyết ..........................................................................................................2 1.5.2. Khảo sát thực tế ...............................................................................................2 1.5.3. Nghiên cứu thực nghiệm .................................................................................2 1.6. CÁC CHỨC NĂNG CỦA ĐỀ TÀI .......................................................................2 CHƯƠNG 2. CỞ SỞ LÝ THUYẾT .............................................................................3 2.1. NGÔN NGỮ LẬP TRÌNH .....................................................................................3 2.1.1. HTML...............................................................................................................3 2.1.2. CSS ...................................................................................................................3 2.1.3. PHP ...................................................................................................................3 2.1.4. JavaScript ........................................................................................................4 2.1.5. Laravel .............................................................................................................4 2.2. CÔNG NGHỆ .........................................................................................................8 2.2.1. Xampp ..............................................................................................................8 2.2.2. Visual Studio Code ..........................................................................................8 2.3. THƯ VIỆN HỖ TRỢ .............................................................................................8 2.3.1. Bootstrap ..........................................................................................................8 2.3.2. JQuery ..............................................................................................................9 2.4. HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ........................................................................9 2.5. MÔ HÌNH THƯƠNG MẠI ĐIỆN TỬ B2B, B2C .............................................10 2.5.1. Mô hình B2B ..................................................................................................10 2.5.2. Mô hình B2C ..................................................................................................10 CHƯƠNG 3. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG .......................................11 3.1. CHỨC NĂNG CỦA CHƯƠNG TRÌNH ............................................................11 3.1.1. Đối với khách hàng........................................................................................11 3.2.2. Đối với thành viên .........................................................................................12 3.1.2. Đối với người quản trị...................................................................................13 3.3. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG........................................................16 3.3.1. Biểu đồ Usecase tổng quát ............................................................................16 3.3.2. Sơ đồ tuần tự..................................................................................................28 3.3.3. Sơ đồ lớp.........................................................................................................47 3.3.4. Lược đồ quan hệ dữ liệu ...............................................................................49 CHƯƠNG 4. KẾT QUẢ..............................................................................................56 4.1. GIAO DIỆN TRANG KHÁCH HÀNG ..............................................................56 i 4.1.1. Giao diện trang chủ .......................................................................................56 4.1.2. Giao diện shop – sản phẩm...........................................................................59 4.1.3. Giao diện xem chi tiết sản phẩm ..................................................................62 4.1.4. Giao diện giỏ hàng và thanh toán ................................................................65 4.1.5. Giao diện sản phẩm yêu thích ......................................................................69 4.1.6. Giao diện trang so sánh ................................................................................70 4.1.7. Giao diện trang giới thiệu .............................................................................71 4.1.8. Giao diện trang liên hệ ..................................................................................71 4.1.9. Giao diện trang đăng nhập ...........................................................................72 4.1.10. Giao diện trang đăng kí ..............................................................................73 4.1.11. Giao diện trang tìm kiếm sản phẩm ..........................................................74 4.2. GIAO DIỆN TRANG ADMIN ............................................................................74 4.2.1. Giao diện trang đăng nhập ...........................................................................74 4.2.2. Giao diện trang chủ quản lý .........................................................................75 4.2.3. Giao diện trang quản lý danh mục sản phẩm ............................................76 4.2.4. Giao diện quản lý thương hiệu sản phẩm ...................................................78 4.2.5. Giao diện quản lý sản phẩm .........................................................................80 4.2.6. Giao diện quản lý mã khuyến mãi ...............................................................83 4.2.7. Giao diện quản lý đơn hàng .........................................................................84 4.2.8. Giao diện quản lý phí vận chuyển ...............................................................85 4.2.9. Giao diện quản lý Mail .................................................................................86 CHƯƠNG 5. KẾT LUẬN ...........................................................................................87 5.1. ĐÁNH GIÁ KẾT QUẢ ........................................................................................87 5.1.1. Chức năng đã làm được ................................................................................87 5.1.2. Hạn chế của đề tài .........................................................................................87 5.2. HƯỚNG PHÁT TRIỂN .......................................................................................87 DANH MỤC TÀI LIỆU THAM KHẢO ...................................................................88 ii DANH MỤC BẢNG Số hiệu bảng Tên bảng Trang 2.1. Cấu trúc thư mục Laravel 6 3.1. Các tác nhân của sơ đồ Usecase 14 3.2. Đặc tả sơ đồ usecase Đăng ký 16 3.3. Đặc tả sơ đồ usecase Đăng nhập 16 3.4. Đặc tả sơ đồ usecase Tìm kiếm 17 3.5. Đặc tả sơ đồ usecase Xem chi tiết sản phẩm 17 3.6. Đặc tả sơ đồ usecase Yêu thích sản phẩm 18 3.7. Đặc tả sơ đồ usecase Thêm sản phẩm vào giỏ hàng 18 3.8. Đặc tả sơ đồ usecase Đặt hàng 19 3.9. Đặc tả sơ đồ Đăng nhập của admin 19 3.10. Đặc tả sơ đồ usecase Quản lý sản phẩm 20 3.11. Đặc tả sơ đồ usecase Xóa sản phẩm 20 3.12. Đặc tả sơ đồ usecase Quản lý danh mục sản phẩm 21 3.13. Đặc tả sơ đồ usecase Xóa danh mục sản phẩm 22 3.14. Đặc tả sơ đồ usecase Quản lý đơn hàng 22 3.15. Đặc tả sơ đồ usecase Xóa đơn hàng 23 3.16. Đặc tả sơ đồ usecase Thêm phí vận chuyển 23 3.17. Đặc tả sơ đồ usecase Thêm mã khuyến mãi 24 3.18. Đặc tả sơ đồ usecase Xóa mã khuyến mãi 24 3.19. Đặc tả sơ đồ usecase Thống kê 24 3.20. Danh sách các lớp 45 3.21. Dữ liệu về sản phẩm 48 3.22. Dữ liệu về danh mục sản phẩm 48 3.23. Dữ liệu về Wishlist 49 3.24. Dữ liệu về Thông tin vận chuyển 49 3.25. Dữ liệu về Order 50 3.26. Dữ liệu về Khách hàng 50 3.27. Dữ liệu về Admin 51 iii 3.28. Dữ liệu về Bình luận 51 3.29. Dữ liệu về Chi tiết hóa đơn 51 3.30. Dữ liệu về Mã giảm giá 52 3.31. Dữ liệu về Thông tin Feesdhip 52 3.32. Dữ liệu về Thông tin đăng ký 52 3.33. Dữ liệu về Slide 53 3.34. Dữ liệu về Brand 53 iv DANH MỤC HÌNH Số hiệu hình Tên Trang 2.1. Cấu trúc thư mục Larave 6 3.1. Sơ đồ Usecase Tổng quát 17 3.2. Sơ đồ Usecase Đăng ký 18 3.3. Sơ đồ Usecase Đăng nhập 18 3.4. Sơ đồ Usecase Tìm kiếm 19 3.5. Sơ đồ Usecase yêu thích sản phẩm 20 3.6. Sơ đồ Usecase Thêm sản phẩm vào giỏ hàng 20 3.7. Sơ đồ Usecase Đặt hàng 21 3.8. Sơ đồ Usecase Đăng nhập Admin 22 3.9. Sơ đồ Usecase Quản lý sản phẩm 23 3.10. Sơ đồ Usecase Quản lý danh mục sản phẩm 24 3.11. Sơ đồ Usecase Quản lý đơn hàng 25 3.12. Sơ đồ Usecase Quản lý thêm phí vận chuyển 25 3.13. Sơ đồ Usecase Quản lý mã giảm giá 26 3.14. Sơ đồ Usecase Thống kê 27 3.15. Sơ đồ tuần tự Đăng ký 28 3.16. Sơ đồ tuần tự Đăng nhập 29 3.17. Sơ đồ tuần tự Đăng xuất 30 3.18. Sơ đồ tuần tự Tìm kiếm sản phẩm 30 3.19. Sơ đồ tuần tự Xem chi tiết sản phẩm 31 3.20. Sơ đồ tuần tự Thêm sản phẩm vào giỏ hàng 32 3.21. Sơ đồ tuần tự Đặt hàng 33 3.22. Sơ đồ tuần tự Quản lý đơn hàng 34 3.23. Sơ đồ tuần tự Thêm sản phẩm 35 3.24. Sơ đồ tuần tự Sửa sản phẩm 36 3.25. Sơ đồ tuần tự Xóa sản phẩm 37 3.26. Sơ đồ tuần tự Thêm danh mục 38 3.27. Sơ đồ tuần tự Sửa danh mục 39 3.28. Sơ đồ tuần tự Xóa danh mục 40 3.29. Sơ đồ tuần tự Thêm thương hiệu sản phẩm 41 3.30. Sơ đồ tuần tự Sửa thương hiệu sản phẩm 42 v 3.31. Sơ đồ tuần tự Xóa thương hiệu sản phẩm 43 3.32. Sơ đồ tuần tự Thêm mã giảm giá 44 3.33. Sơ đồ tuần tự Xóa mã giảm giá 45 3.34. Sơ đồ tuần tự Thống kê 46 3.35. Sơ đồ tuần tự Thêm phí vận chuyển 47 3.36. Sơ đồ lớp 48 3.37. Lược đồ quan hệ cơ sở dữ liệu 49 4.1. Giao diện trang chủ website 56 4.2. Giao diện trang chủ website 57 4.3. Giao diện trang chủ website 57 4.4. Giao diện trang chủ website 58 4.5. Giao diện trang chủ website 58 4.6. Giao diện shop – sản phẩm 59 4.7. Giao diện sản phẩm theo danh mục 59 4.8. Giao diện trang xem chi tiết sản phẩm 60 4.9. Tìm kiếm theo giá sản phẩm 60 4.10. Giao diện sản phẩm mua nhiều 61 4.11. Giao diện xem chi tiết sản phẩm 62 4.12. Giao diện mô tả chi tiết sản phẩm 62 4.13. Giao diện thông tin sản phẩm 62 4.14. Giao diện xem đánh giá và bình luận sản phẩm 63 4.15. Giao diện đánh giá và bình luận sản phẩm 64 4.16. Giao diện sản phẩm liên qua 64 4.17. Giao diện thêm vào giỏ hàng 65 4.18. Giao diện chi tiết giỏ hàng 66 4.19. Giao diện thanh toán từ giỏ hàng 66 4.20. Giao diện thông tin đơn hàng 67 4.21. Phương thức thanh toán 67 4.22. Đơn hàng đặt mua 68 4.23. Trạng thái đơn hàng 68 4.24. Giao diện xem trước sản phẩm yêu thích 69 4.25. Giao diện sản phẩm yêu thích chi tiết 69 4.26. Giao diện trang so sánh 70 vi 4.27. Giao diện trang giới thiệu 71 4.28. Giao diện trang liên hệ 71 4.29. Giao diện trang liên hệ 72 4.30. Giao diện trang đăng nhập 72 4.31. Giao diện trang đăng ký 73 4.32. Giao diện tìm kiếm sản phẩm 74 4.33. Giao diện trang đăng nhập 74 4.34. Giao diện trang chủ admin 75 4.35. Giao diện quản lý danh mục sản phẩm 76 4.36. Giao diện thêm danh mục sản phẩm 77 4.37. Giao diện sửa danh mục sản phẩm 77 4.38. Giao diện quản lý thương hiệu sản phẩm 78 4.39. Giao diện sửa thương hiệu sản phẩm 79 4.40. Giao diện thêm thương hiệu sản phẩm 79 4.41. Giao diện thêm sản phẩm 80 4.42. Giao diện quản lý sản phẩm 81 4.43. Giao diện sửa sản phẩm 82 4.44. Giao diện quản lý mã khuyến mãi 83 4.45. Giao diện thêm mã khuyến mãi 83 4.46. Giao diện quản lý đơn hàng 84 4.47. Giao diện chi tiết đơn hàng 84 4.48. Giao diện quản lý phí vận chuyển 85 4.49. Giao diện thêm phí vận chuyển 85 4.50. Giao diện quản lý Mail 86 4.51. Giao diện quản lý Mai 86 vii CHƯƠNG 1 TỔNG QUAN 1.1. TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU Hiện nay các công ty tin học hàng đầu thế giới không ngừng đầu tư và cải thiện các giải pháp cũng như các sản phẩm nhằm cho phép tiến hành thương mại hóa trên Internet. Với những thao tác đơn giản trên các thiết bị điện tử có nối mạng Internet bạn sẽ có tận tay những gì mình cần mà không phải mất nhiều thời gian. Bạn chỉ cần vào các trang dịch vụ thương mại điện tử, làm theo hướng dẫn và click vào những gì bạn cần. Các nhà dịch vụ sẽ mang đến tận nhà cho bạn. Ở Việt Nam cũng có rất nhiều doanh nghiệp đang tiến hành thương mại hóa trên Internet nhưng do những khó khăn về cơ sở hạ tầng như viễn thông chưa phát triển mạnh, các dịch vụ thanh toán điện tử qua ngân hàng chưa phổ biến nên chỉ dừng lại ở mức độ giới thiệu sản phẩm và tiếp nhận đơn đặt hàng thông qua website, ứng dụng. Vì vậy việc “Xây dựng website bán hàng nội thất ” cũng đáp ứng các yêu cầu trên, giúp cho người bán và người mua thực hiện một cách dễ dàng, thuận tiện hơn. 1.2. LÝ DO CHỌN ĐỀ TÀI Ngày nay, dịch bệnh hoành hành khiến hầu hết mọi người đều muốn tìm kiếm một website đầy đủ chức năng, mặt hàng và đặt mua, giao hàng một cách nhanh chóng vừa tiết kiệm thời gian và hạn chế ra ngoài tiếp xúc trong lúc tình hình dịch bệnh này thông qua màn hình máy tính, điện thoại, … đang trở thành một làn sóng mới. Mặc dù đang là xu hướng phát triển nhưng website thương mại điện tử cung cấp đủ chức năng như giao diện không thu hút người dùng và ngược lại. Nhu cầu tìm kiếm và mua hàng của người dân đang tăng trưởng khá nhanh và ngày càng đa dạng, đòi hỏi những website mới lạ. Nhưng thực tế các website thiết kế nội thất chỉ cung cấp số lượng rất ít sản phẩm đáp ứng nhu cầu của người sử dụng. Ngoài ra, những nghiên cứu về đồ nội thất rất nhiều nhưng nghiên cứu về sự trải nghiệm đồ nội thất tích hợp nhiều chức năng thì rất khiêm tốn. Nhận thấy được tiềm năng to lớn cho sự phát triển thương mại điện tử, em đã chọn đề tài “Xây dựng website bán hàng nội thất” nhằm giải quyết vấn đề đó. 1.3. MỤC ĐÍCH NGHIÊN CỨU - Nhằm phục vụ những người có sở thích về đồ dùng nột thất, những người muốn sở hữu những sản phẩm ưng ý cho ngôi nhà, cửa hàng, văn phòng… của mình được đẹp hơn, những doanh nghiệp cần quảng bá sản phẩm của họ. Đảm bảo các tính năng dễ sử dụng, gần gũi với mọi lứa tuổi. - Website giúp khách hàng sử dụng một cách dễ dàng hơn, giao diện thân thiện. - Người quản lý trang web có các chức năng cần thiết để thao tác, cũng như tương tác của trang web, quản lý hoạt động của người dùng theo dõi tình hình phát triển của website. 1 1.4. PHẠM VI NGHIÊN CỨU - Cho mọi khách hàng có nhu cầu mua nội thất thông qua internet. - Phạm vi bán hàng và quảng bá trên khắp các tỉnh thành trên cả nước. 1.5. PHƯƠNG PHÁP NGHIÊN CỨU 1.5.1. Lý thuyết - Nghiên cứu, phân tích các chức năng cần thiết cần có của website. - Áp dụng công nghệ mới cho website. - Tìm hiểu cách hoạt động của Client – Server. - Tìm hiểu cách lưu trữ dữ liệu của hệ quản trị cơ sở dữ liệu MySQL Server. 1.5.2. Khảo sát thực tế - Khảo sát và tham khảo những website bán hàng sẵn có (nhadep.com.vn, nhaxinh.com, baya.vn). - Tham khảo theo những ý kiến của khách hàng từ trên internet cũng như khách hàng thực tiễn. 1.5.3. Nghiên cứu thực nghiệm - Lập trình thiết kế, xây dựng website bán hàng nội thất. - Kiểm tra website để thêm các tính năng cần thiết. 1.6. CÁC CHỨC NĂNG CỦA ĐỀ TÀI - Đăng nhập, đăng kí, đăng xuất. - Quản lý sản phẩm, danh mục, thương hiệu. - Xem thông tin sản phẩm. - Xem danh mục sản phẩm, sản phẩm yêu thích, bán chạy… - Đăng tải thông tin về sản phẩm. - Chỉnh sửa thông tin sản phẩm. - So sánh sản phẩm. - Kiểm tra đơn hàng. - Tìm kiếm sản phẩm. 2 CHƯƠNG 2 CỞ SỞ LÝ THUYẾT 2.1. NGÔN NGỮ LẬP TRÌNH 2.1.1. HTML HTML (viết tắt của từ Hypertext Markup Language, hay là "Ngôn ngữ Đánh dấu Siêu văn bản") là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web trên World Wide Web[5]. Cùng với CSS và JavaScript, HTML là một trong những ngôn ngữ quan trọng trong lĩnh vực thiết kế website. HTML được định nghĩa như là một ứng dụng đơn giản của SGML và được sử dụng trong các tổ chức cần đến các yêu cầu xuất bản phức tạp. 2.1.2. CSS CSS là viết tắt của từ Cascading Style Sheets. Với CSS chúng ta có thể thiết kế website bằng cách tùy chỉnh vị trí các phần tử, màu sắc, màu nền, font chữ, thứ tự sắp xếp của các phần tử, hiệu ứng (đổ bóng, bo góc, xoay,..)[5]. 2.1.3. PHP a. Khái niệm PHP: Hypertext Preprocessor, thường được viết tắt thành PHP là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML[6]. Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới. b. Lịch sử phát triển Ngôn ngữ lập trình PHP là một trong các ngôn ngữ lập trình web được biết đến nhiều nhất ngày nay. PHP được phát triển từ một sản phẩm có tên là PHP/FI. PHP/FI do Rasmus Lerdorf tạo ra năm 1994, ban đầu được xem như là một tập con đơn giản của các mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên mạng. Ông đã đặt tên cho bộ mã kịch bản này là 'Personal Home Page Tools'. Khi cần đến các chức năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để có thể truy vấn tới các cơ sở dữ liệu và giúp cho người sử dụng phát triển các ứng dụng web đơn giản. Rasmus đã quyết định công bố mã nguồn của PHP/FI cho mọi người xem, sử dụng cũng như sửa các lỗi có trong nó đồng thời cải tiến mã nguồn[6]. PHP 3.0 được Andi Gutmans và Zeev Suraski tạo ra năm 1997 sau khi viết lại hoàn toàn bộ mã nguồn trước đó. Lý do chính mà họ đã tạo ra phiên bản này là do họ nhận thấy PHP/FI 2.0 hết sức yếu kém trong việc phát triển các ứng dụng thương mại điện tử. PHP 3.0 như là phiên bản thế hệ kế tiếp của PHP/FI 2.0, và chấm dứt phát triển PHP/FI 2.0.PHP 3.0 cung cấp cho người dùng cuối một cơ sở hạ tầng chặt chẽ dùng cho nhiều cơ sở dữ liệu, giao thức và API khác nhau. Cho phép người dùng có thể mở rộng theo 3 modul. Chính điều này làm cho PHP3 thành công so với PHP2. Lúc này họ chính thức đặt tên ngắn gọn là 'PHP' ( Hypertext Preprocessor )[6]. PHP 4: Được công bố năm 2000 tốc độ xử lý được cải thiện rất nhiều, PHP 4.0 đem đến các tính năng chủ yếu khác gồm có sự hỗ trợ nhiều máy chủ Web hơn, hỗ trợ phiên làm việc HTTP, tạo bộ đệm thông tin đầu ra, nhiều cách xử lý thông tin người sử dụng nhập vào bảo mật hơn và cung cấp một vài các cấu trúc ngôn ngữ mới. Với PHP 4, số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn và hàng triệu địa điểm đã công bố cài đặt PHP, chiếm khoảng 20% số tên miền trên mạng Internet. Nhóm phát triển PHP cũng đã lên tới con số hàng nghìn người và nhiều nghìn người khác tham gia vào các dự án có liên quan đến PHP như PEAR, PECL và tài liệu kỹ thuật cho PHP. PHP 5: Bản chính thức đã ra mắt ngày 13 tháng 7 năm 2004 sau một chuỗi khá dài các bản kiểm tra thử bao gồm Beta 4, RC 1, RC2, RC3. Mặc dù coi đây là phiên bản sản xuất đầu tiên nhưng PHP 5.0 vẫn còn một số lỗi trong đó đáng kể là lỗi xác thực HTTP. PHP 6: Hiện nay phiên bản tiếp theo của PHP đang được phát triển, PHP 6 bản sử dụng thử đã có thể được download tại địa chỉ snaps.php.net. Phiên bản PHP 6 được kỳ vọng sẽ lấp đầy những khiếm khuyết của PHP ở phiên bản hiện tại. PHP 7: Với việc sử dụng bộ nhân Zend Engine mới PHPNG cho tốc độ nhanh gấp 2 lần. Ngoài ra ở phiên bản này còn thêm vào rất nhiều cú pháp, tính năng mới giúp cho PHP trở nên mạnh mẽ hơn. Những tính năng mới quan trọng có thể kể đến như: - Khai báo kiểu dữ liệu cho biến. - Xác định kiểu dữ liệu sẽ trả về cho 1 hàm. - Thêm các toán tử mới (??, <=>,...)[6]. 2.1.4. JavaScript Là một ngôn ngữ lập trình của HTML và WEB. Nó là nhẹ và được sử dụng phổ biến nhất như là một phần của các trang web, mà sự thi hành của chúng cho phép ClientSide script tương tác với người sử dụng và tạo các trang web động. Nó là một ngôn ngữ chương trình thông dịch với các khả năng hướng đối tượng[8]. 2.1.5. Laravel a. Khái niệm về Laravel Laravel là một PHP Framework mã nguồn mở miễn phí, được phát triển bởi Taylor Otwell với phiên bản đầu tiên được ra mắt vào tháng 6 năm 2011. Laravel ra đời nhằm mục đích hỗ trợ phát triển các ứng dụng web, dựa trên mô hình MVC (Model – View – Controller)[1]. b. Ưu điểm - Sử dụng các tính năng (feature) mới nhất của PHP. - Sử dụng mô hình MVC (Model – View – Controller). - Có hệ thống tài liệu chi tiết, dễ hiểu. - Hệ thống xác thực (Authentication) và ủy quyền (Authoriztion) tuyệt vời. - Cộng đồng hỗ trợ đông đảo. - Tích hợp công cụ Artisan – Công cụ quản lý dòng lệnh. 4 - Sử dụng composer để quản lý PHP package. - Sử dụng npm để quản lý các gói Javascript, giao diện. - Hỗ trợ Eloquent ORM, Query Builder, Template Engine (Bladde). - Hỗ trợ routing mềm dẻo[1]. c. Mô hình MVC (Model – View _ Controller) của Laravel Mô hình MVC là một kiến trúc phần mềm, đây là mô hình tổ chức code một cách hợp lý và có hệ thống. Mô hình MVC tách biệt phần xử lý dữ liệu ra khỏi phần giao diện, cho phép phát triển, kiểm tra và làm việc theo dự án. Theo đó: Model là thể hiện các cấu trúc dữ liệu. Các lớp thuộc thành phần Model thường thực hiện các tác vụ như truy vấn, thêm, xoá, cập nhật dữ liệu. Khi dữ liệu trong Model thay đổi, thành phần View sẽ được cập nhật lại. Nói đơn giản hơn, Modem là lớp thao tác với database là chính. View là thành phần thể hiện dữ liệu trong Model thành các giao diện tương tác với người sử dụng. Một mô hình có thể có nhiều View phụ thuộc vào các mục đích khác nhau. Nói đơn giản hơn, View là lớp hiển thị dữ liệu ra bên ngoài cho người dùng xem. Controller đóng vai trò trung gian giữa Model và View. Thông tin người dùng từ View được gửi cho Controller xử lý, sau đó Controller tương tác với Model để lấy dữ liệu được yêu cầu, sau cùng Controller trả dữ liệu này về cho View. Nói đơn giản hơn, Controller là lớp điều khiển, có chức năng điều khiển các hành vi, yêu cầu[1]. d. Cấu trúc xử lý của Laravel - Luồng xử lý của Laravel + Laravel được phát triển từ Symfony Framework nên nó thừa kế mô hình MVC của Symfony, tương tự như các PHP Framework khác. + Khi người dùng gửi một yêu cầu lên hệ thống, hệ thống sẽ gửi về cho Controller xử lý các yêu cầu của người dùng. Trong quá trình làm việc đó, Controller sẽ phải thông qua lớp Model nếu muốn làm việc với cơ sở dữ liệu. Sau khi xử lý xong, Model sẽ đưa dữ liệu về cho Controller, Controller tiếp tục đưa sang View và View hiển thị lại cho người dùng kết quả cuối cùng[1]. 5 - Cấu trúc thư mục của Laravel: + Cấu trúc thư mục của Laravel Thành phần App Hình 2.1: Cấu trúc thư mục Laravel Bảng 2.1: Cấu trúc thư mục Laravel Mô tả Nó là thư mục ứng dụng và bao gồm toàn bộ mã nguồn của dự án. Nó chứa các sự kiện (Event), ngoại lệ (Exception) và khai báo Middeware. Trong App lại chứa các thành phần con sau Nơi bạn định nghĩa ra các lệnh của Laravel. • Exceptions: Thư mục này chứa tất cả các phương thức cần thiết để xử lý các ngoại lệ. Nó cũng chứa tệp handle.php xử lý tất cả các trường hợp ngoại lệ. • Http: Thư mục Http này chứa các thư mục con controllers, middleware. Vì Laravel tuân theo mô hình MVC nên thư mục này chứa các xử lý để xử lý request của người dùng. • Models: Chứa các Class định nghĩa các thành phần để thao tác với CSDL • Providers: Chứa tất cả các Service Provider. Khởi động ứng dụng một cách bắt buộc, đăng ký sự kiện hoặc thực hiện bất kỳ • Console: 6 Bootstrap config tác vụ nào khác để chuẩn bị ứng dụng của bạn khi các yêu cầu đến[1]. Thư mục bootstrap chứa tệp app.php khởi động khung. Thư mục này cũng chứa một thư mục bộ đệm chứa các tệp được tạo khung để tối ưu hóa hiệu suất, chẳng hạn như tệp bộ đệm của tuyến đường và dịch vụ. Bạn thường không cần phải sửa đổi bất kỳ tệp nào trong thư mục này[1]. Thư mục này chứa tất cả cấu hình (config) của hệ thống của bạn. Nó chứa sẵn các thông tin mặc định như cấu hình database, cache[1]. Thư mục này chứa các thông tin về database migration, seeders database Pubblic Thư mục public chứa file index.php, là nơi nhận tất cả các request tới ứng dụng. Thư mục này cũng chứa các nội dung của bạn như hình ảnh, JavaScript và CSS[1]. Thư mục tài nguyên chứa các view template của bạn cũng như các nội dung thô (raw), chưa được biên dịch của bạn như CSS hoặc JavaScript. Thư mục này cũng chứa tất cả các tệp ngôn ngữ của bạn[1]. Resoures Routes Storage Thư mục routes chứa tất cả các định nghĩa routing cho ứng dụng của bạn. Mặc định, một số router đươc định nghĩa sẵn bao gồm: web.php, api.php, console.php và channel.php[1]. Thư mục storage chứa các thông tin về log, các views blade đã biên dịch, các file session, file cache và các file khác được tạo bởi framework[1]. 7 Thư mục tests chứa các kiểm tra tự động (Automated Tests). Các mẫu PHPUnit[1]. Tests Thư mục vendor chứa các thư viện PHP phụ thuộc được quản lý bởi Composer[1]. 2.2. CÔNG NGHỆ 2.2.1. Xampp Phần mềm Xampp là một trong những phần mềm sử dụng để thiết lập Website theo ngôn ngữ PHP. Xampp có công dụng thiết lập web server có cài đặt sẵn các công cụ như PHP, Apache, MySQL… Xampp sỡ hữu thiết kế giao diện thân thiện với người dùng, cho phép các lập trình viên có thể đóng mở hoặc reboot các tính năng của server mọi lúc. Ngoài ra, Xampp cũng được xây dựng theo source code mở. Xampp là một trong những phần mềm trọng yếu trong việc xây dựng website dành cho các lập trình viên PHP. 2.2.2. Visual Studio Code Visual Studio Code là một chương trình phần mềm để thiết kế web, về cơ bản là một trình soạn thảo lập hỗ trợ hầu hết các ngôn ngữ như C#, JavaScript, CSS, HTML, PHP, … đặc biệt Visual Studio Code hỗ trợ rất mạnh mẽ về lập trình web vì phần mềm hỗ trợ rất nhiều framework như BOOTSTRAP cũng là một trong những framework rất mạnh của CSS. Chương trình cung cấp giao diện WYSIWYG để tạo và chỉnh sửa các trang web. 2.3. THƯ VIỆN HỖ TRỢ 2.3.1. Bootstrap Bootstrap là front-end framework, là một bộ sưu tập miễn phí các công cụ để tạo ra các trang web và các ứng dụng web. Bootstrap bao gồm HTML và CSS dựa trên các mẫu thiết kế cho kiểu chữ, hình thức, các button và các thành phần giao diện khác, cũng như mở rộng tùy chọn JavaScript. Boostrap định nghĩa sẵn các class CSS giúp người thiết kế giao diện website tiết kiệm rất nhiều thời gian. Các thư viện Bootstrap có những đoạn mã sẵn sàng cho chúng ta áp dùng vào website của mình mà không phải tốn quá nhiều thời gian để tự viết. Với Bootstrap, việc phát triển giao diện website để phù hợp với đa thiết bị trở nên dễ dàng hơn bao giờ hết. Bootstrap cung cấp tính năng responsive và mobile first, nghĩa 8 Vendor là làm cho trang web có thể tự co giãn để tương thích với mọi thiết bị khác nhau, từ điện thoại di động đến máy tính bảng, máy tính xách tay, máy tính để bàn,... Một khía cạnh khác là responsive web design làm cho trang web cung cấp được trải nghiệm tuyệt vời cho người dùng trên nhiều thiết bị, kích thước màn hình khác nhau. Một trang có thể hoạt động tốt bất kể sự biến đổi sẽ cung cấp một trải nghiệm người dùng tốt và nhất quán hơn một trang được thiết kế cho một loại thiết bị và kích thước màn hình cụ thể. 2.3.2. JQuery Là một thư viện JavaScript nhanh, nhỏ và giàu tính năng. Nó làm cho mọi thứ như chuyển đổi và thao tác tài liệu HTML, xử lý sự kiện, hoạt hình và Ajax đơn giản hơn nhiều với API dễ sử dụng, hoạt động trên vô số trình duyệt. Với sự kết hợp giữa tính linh hoạt và khả năng mở rộng, jQuery đã thay đổi cách hàng triệu người viết JavaScript. 2.4. HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU - MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở,gọi tắt là RDBMS ( Relational Database Management System ) hoạt động theo mô hình client – server. Với RDBMS, MySQL được tích hợp apache, PHP. MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng[3]. Vì MySQL 25 là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh. Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet. MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ. Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS. - MySQL là một trong những ví dụ rất cơ bản về Hệ quản trị Cơ sở dữ liệu quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL). - MySQL được sử dụng cho việc bổ trợ NodeJs, PHP, Perl, và nhiều ngôn ngữ khác, làm nơi lưu trữ những thông tin trên các trang web viết bằng NodeJs, PHP hay Perl,..[3]. - Ưu điểm: + Dễ sử dụng: MySQL là cơ sở dữ liệu tốc độ cao, ổn định, dễ sử dụng và hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh. + Đa tính năng: MySQL hỗ trợ nhiều chức năng SQL được mong chờ từ một hệ quản trị cơ sở dữ liệu quan hệ cả trực tiếp lẫn gián tiếp. + Độ bảo mật cao: MySQL thích hợp cho các ứng dụng có truy cập CSDL trên Internet khi sở hữu nhiều tính năng bảo mật thập chí là ở cấp cao. + Khả năng mở rộng mạnh mẽ: MySQL có thể xử lý rất nhiều dữ liệu và hơn thế nữa có thể mở rộng nếu cần thiết. + Nhanh chóng: Việc đưa ra một số tiêu chuẩn cho phép MySQL để làm việc rất hiệu quả và tiết kiệm chi phí, do đó nó làm tăng tốc độ thực thi[3]. - Nhược điểm: 9 + Giới hạn: MySQL không có ý định làm tất cả và nó đi kèm với các hạn chế về chức năng mà một ứng dụng có thể cần. + Độ tin cậy: Các chức năng cụ thể được xử lý với MySQL (ví dụ: tài liệu tham khảo, các giao dịch, kiểm toán,…) lầm cho nó kém tin cậy hơn so với một số hệ quản trị cơ CSDL quan hệ khác. + Dung lượng hạn chế: Nếu số bản ghi lớn dần thì việc truy xuất dữ liệu khá khó khăn, khi đó chúng ta sẽ phải áp dụng nhiều biện pháp để tăng tốc độ truy xuất dữ liệu như là chia tải database này ra nhiều server, hoặc tạo cache MySQL[3]. 2.5. MÔ HÌNH THƯƠNG MẠI ĐIỆN TỬ B2B, B2C 2.5.1. Mô hình B2B - Mô hình kinh doanh B2B (từ viết tắt của cụm từ Business to Business) dùng để chỉ hình thức kinh doanh, buôn bán giữa doanh nghiệp và doanh nghiệp, thông thường là mô hình kinh doanh thương mại điện tử và các giao dịch diễn ra chủ yếu trên các kênh thương mại điện tử hoặc sàn giao dịch điện tử, một số giao dịch phức tạp hơn cũng có thể diễn ra bên ngoài thực tế, từ lập hợp đồng, báo giá cho đến mua bán sản phẩm[2]. - B2B là khái niệm tồn tại từ khá lâu trước đây và được khá nhiều doanh nghiệp ưa chuộng bởi việc giao dịch và hợp tác giữa các doanh nghiệp với nhau thường mang lại lợi ích đa dạng và hiệu quả nhanh hơn, các doanh nghiệp cũng nhanh chóng khẳng định chỗ đứng trên thị trường thông qua hình thức hợp tác và làm việc cùng nhau. 2.5.2. Mô hình B2C - Mô hình kinh doanh B2C (viết tắt của cụm từ Business to Customer) được sử dụng để mô tả giao dịch thương mại giữa doanh nghiệp và người tiêu dùng cuối cùng. Theo truyền thống, thuật ngữ này dùng để chỉ quá trình bán sản phẩm trực tiếp cho người tiêu dùng, bao gồm mua sắm tại cửa hàng hoặc ăn trong nhà hàng[2]. Ngày nay nó mô tả các giao dịch giữa các nhà bán lẻ trực tuyến và khách hàng của họ. Hầu hết các doanh nghiệp bán trực tiếp cho người tiêu dùng có thể được gọi là các doanh nghiệp B2C. - B2C là một khái niệm được rất nhiều doanh nghiệp, cá nhân ưa chuộng bởi việc giao dịch và hợp tác giữa các chủ thể tham gia mua bán với nhau thường mang lại lợi ích đa dạng và hiệu quả hơn, các doanh nghiệp cũng nhanh chóng vừa khẳng định vị trí trên thị trường, vừa xây dựng thành công thương hiệu đối với khách hàng khi hợp tác và làm việc cùng nhau. - Theo dòng phát triển của Internet, B2C ngày nay là mô hình bán hàng rất phổ biến và được biết đến rộng rãi trên phạm vi toàn thế giới. Thay vì sử dụng mô hình B2C theo cách truyền thống là mua sắm tại các trung tâm thương mại, trả tiền cho việc xem phim, ăn uống tại nhà hàng,...thì B2C mới đã hoàn toàn chuyển sang hình thức Thương mại điện tử hay Bán hàng online qua Internet. 10
- Xem thêm -

Tài liệu liên quan