Chương 1 Cơ sở lý thuyết 1.1 Cơ sở lý luận và thực tiễn 1.1 Website là gì? Website hay còn gọi là trang web, là một tập hợp trang web, thường chỉ nằm trong một tên miền hoặc tên miền phụ trên World Wide Web của Internet. Một trang web là tập tin HTML hoặc XHTML có thể truy nhập dùng giao thức HTTP. Trang mạng có thể được xây dựng từ các tệp tin HTML (trang mạng tĩnh) hoặc vận hành bằng các CMS chạy trên máy chủ (trang mạng động). Trang mạng có thể được xây dựng bằng nhiều ngôn ngữ lập trình khác nhau (PHP, Java,.
Để một website hoạt động cần 3 yếu tố: Cần có tên miền (domain) Nơi lưu trữ website (server) Nội dung các trang web hoặc cơ sở dữ liệu thông tin 1.2 Lợi ích của Website - Tăng khả năng tiếp cận khách hàng. - Tăng phạm vi khách hàng - Tăng tính tương tác - Xúc tiến kinh doanh hiệu quả - Dịch vụ khách hàng hiệu quả - Nền tảng cho sản phẩm bán hàng - Xây dựng thương hiệu - Xác định khách hàng tiềm năng - Dễ dàng tuyển dụng. 3 - Tăng năng lực cạnh tranh - Cập nhật thông tin một cách nhanh chóng - Dễ dàng lấy ý kiến phản hồi từ khách hàng - Phân tích sản phẩm 1.3 Tổng quan 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. 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.
- Hiện nay, phiên bản mới nhất của ngôn ngữ này là HTML5. Hình 1 – Logo HTML 1.4 Tổng quan CSS - CSS là chữ viết tắt của Cascading Style Sheets, nó là một ngôn ngữ được sử dụng để tìm và định dạng lại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu (ví dụ như HTML). - Có thể hiểu đơn giản rằng, nếu HTML đóng vai trò định dạng các phần tử trên website như việc tạo ra các đoạn văn bản, các tiêu đề, bảng,…thì CSS sẽ giúp chúng ta có thể thêm một chút 4 “phong cách” vào các phần tử HTML đó như đổi màu sắc trang, đổi màu chữ, thay đổi cấu trúc, …rất nhiều. Hình 2 – Logo CSS 1.4 Tổng quan về ngôn ngữ lập trình JavaScript - JavaScript là một ngôn ngữ lập trình dựa trên nguyên mẫu với cú pháp phát triển từ C.
Giống như C, JavaScript có khái niệm từ khóa, do đó, JavaScript gần như không thể được mở rộng. Cũng giống như C, JavaScript không có bộ xử lý xuất/nhập (input/output) riêng. - Thư viện Javascript nổi tiếng: Bộ khung Prototype kết hợp với thư viện Scriptaculous. Thư viện jQuery, tiết kiệm thời gian viết mã lệnh cũng như cung cấp các hàm tương tác với DOM trên các trình duyệt khác nhau.
Nodejs, hệ thống chương trình giúp chạy Javascript ngoài trình duyệt. Hình 3 – Logo Javascript 5 1.2 Tổng quan về công nghệ chính 1.1 Tổng quan về ngôn ngữ lập trình PHP Hình 4 – Logo PHP - PHP (viết tắt của cụm từ Personal Home Page) là ngôn ngữ lập trình kịch bản (scripting language) mã nguồn mở được dùng phổ biến để ra tạo các ứng dụng web chạy trên máy chủ. Mã lệnh PHP có thể được nhúng vào trong trang HTML nhờ sử dụng cặp thẻ PHP. - Ưu điểm của PHP: + Việc PHP được sử dụng miễn phí, vì thế nó là yếu tố vô cùng tuyệt vời cho những ai muốn học về ngôn ngữ lập trình.
+ Cấu trúc của PHP cực đơn giản, thế nên không bị mất quá nhiều thời gian để học. Đây chính là một ưu điểm, khiến cho PHP luôn đón nhận được sự quan tâm hàng đầu từ những người yêu thích về công nghệ thông tin. + Thư viện mà PHP tạo ra thì có sự phong phú, cũng như được cộng đồng hỗ trợ một cách mạnh mẽ. Vậy nên, nếu như các bạn có nhu cầu tìm nguồn tài liệu thì có thể dễ dàng, cũng như gặp khó khăn thì được hỗ trợ một cách đắc lực nhất.
+ Cơ hội về việc làm là rất lớn, mức lương của nó cũng khá cao. Áp dụng được lượng công việc lớn khác nhau, cũng như tại nhiều công ty. + PHP không chỉ dừng lại ở những tính năng hiện tại, trong tương lai thì nó còn phát triển mạnh mẽ hơn nữa để khẳng định được vị trí của mình luôn là cao ở trong bảng danh sách thực hiện điều tra, khảo sát mỗi năm về ngôn ngữ lập trình trong công nghệ thông tin. - Nhược điểm của PHP: + PHP có hạn chế về cấu trúc của ngữ pháp, bởi nó không được thiết kế gọn gàng và có phần đẹp mắt như những ngôn ngữ trong lập trình khác.
6 + PHP chỉ có thể hoạt động và sử dụng được trên các ứng dụng trong web. Đó chính là lý do khiến cho ngôn ngữ này khó có thể cạnh tranh được với những ngôn ngữ lập trình khác, nếu như muốn phát triển và nhân rộng hơn nữa trong lập trình. - Lý do nên dùng PHP: + Để thiết kế Web động có rất nhiều ngôn ngữ lập trình khác nhau để lựa chọn, mặc dù cấu hình và tính năng khác nhau nhưng chúng vẵn đưa ra những kết quả giống nhau. Chúng ta có thể lựa chọn cho mình một ngôn ngữ: ASP, PHP, Java, Perl.
và một số loại khác nữa. Vậy tại sao chúng ta lại nên chọn PHP. Rất đơn giản, có những lí do sau mà khi lập trình Web chúng ta không nên bỏ qua sự lựa chọn tuyệt vời này. + PHP được sử dụng làm Web động vì nó nhanh, dễ dàng, tốt hơn so với các giải pháp khác.
+ PHP có khả năng thực hiện và tích hợp chặt chẽ với hầu hết các cơ sở dữ liệu có sẵn, tính linh động, bền vững và khả năng phát triển không giới hạn. + Đặc biệt PHP là mã nguồn mở do đó tất cả các đặc tính trên đều miễn phí, và chính vì mã nguồn mở sẵn có nên cộng đồng các nhà phát triển Web luôn có ý thức cải tiến nó, nâng cao để khắc phục các lỗi trong các chương trình này. + PHP vừa dễ với người mới sử dụng vừa có thể đáp ứng mọi yêu cầu của các lập trình viên chuyên nghiệp, mọi ý tuởng của các bạn PHP có thể đáp ứng một cách xuất sắc. + Cách đây không lâu ASP vốn được xem là ngôn ngữ kịch bản phổ biến nhất, vậy mà bây giờ PHP đã bắt kịp ASP, bằng chứng là nó đã có mặt trên 12 triệu Website.2 Laravel PHP Framework là gì? - Laravel là PHP Web Framework miễn phí, mã nguồn mở, được tạo bởi Taylor Otwell và dành cho việc phát triển các ứng dụng web theo mô hình kiến trúc mô hình MVC và dựa trên Symfony PHP Framework.
Một số tính năng của Laravel như là sử dụng hệ thống đóng gói module, quản lý package (Composer), hỗ trợ nhiều hệ quản trị CSDL quan hệ (MySQL, MariaDB, SQLite, PostgreSQL,…), các tiện ích hỗ trợ triển khai và bảo trì ứng dụng. - Ưu điểm của Laravel PHP Framework: + Sử dụng các tính năng mới nhất của PHP. + Sử dụng mô hình MVC. 7 + Hệ thống xác thực và ủy quyền tuyệt vời.
+ Có hệ thống tài liệu chi tiết, dễ hiểu. + 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. + 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 (Blade). + Hỗ trợ routing mềm dẻo. - Mô hình MVC (Model – View – Controller) của Laravel: Hình 5 – Mô hình MVC của Laravel + Model: gồm những Class, tạo ra các table của Database, nơi mà Eloquent ORM thao tác với CSDL.
+ View: chứa các template được thiết kế ra và được xử lý để output ra mã html/css cho trang web. + Controller: Chứa các class, function để xử lý các request từ người dùng. 8 Chương 2 Phân tích thiết kế hệ thống 2.1 Yêu cầu hệ thống và mô hình hóa yêu cầu hệ thống 2.1 Danh sách các tác nhân STT Actor Ý nghĩa - Người quản lý là người có toàn quyền tương tác với hệ thống, quyền sử dụng tất cả các chức năng mà website 1 Admin xây dựng, điều khiển và kiểm soát mọi hoạt động của website. - Người dùng ở đây là những người truy cập vào website, có thể đăng ký làm thành viên hoặc không.
2 Người dùng - Người dùng chỉ có một số quyền nhất định đối với website do Admin cung cấp. Bảng 2 – Liệt kê các tác nhân 2.2 Yêu cầu phi chức năng - Hệ thống phải đáp ứng được những nhu cầu sau: + Hạn chế tối thiểu việc xử lý thủ công. + Cho phép cập nhật thông tin kịp thời và nhanh chóng. + Các yêu cầu được cập nhật và xử lý trong vòng 2 giây.
+ Hiển thị kết quả tìm kiếm trong vòng 3 giây. + Lưu giữ được thông tin trong một thời gian dài (1 năm, sau đó có hệ thống backup). - Hệ thống sử dụng giao diện đồ họa và màu sắc tương đồng với hệ thống website và nhận diện thương hiệu của Cửa hàng VKU LAPTOP. - Hệ thống phải đảm bảo tính bảo mật và an toàn thông tin cho người dùng hệ thống.3 Yêu cầu chức năng 9 * Đối với người dùng (khách hàng): STT Chức năng Mô tả - Tạo tài khoản khách hàng bằng cách điền thông tin cá 1 Đăng ký nhân.
- Sử dùng tài khoản đã tạo để đăng nhập vào hệ thống để sử dụng đầy đủ các tính năng dành cho khách hàng. 2 Đăng nhập - Quên mật khẩu: người dùng lấy lại mật khẩu qua email của tài khoản đã đăng ký. - Xem sản phẩm mới nhất. - Xem sản phẩm theo danh mục.
- Xem sản phẩm theo thương hiệu. - Xem chi tiết sản phẩm. - Xem nhanh sản phẩm. 3 Xem sản phẩm - Thêm sản phẩm vào danh sách yêu thích.
- Xem danh sách sản phẩm yêu thích. - Xem danh sách sản phẩm đã xem. - Tìm kiếm theo tên sản phẩm. - Tìm kiếm bằng tags từ khóa.
- Tìm kiếm theo khoảng giá - Lọc sản phẩm: + Theo giá: từ thấp đến cao. 4 Tìm kiếm sản phẩm + Theo giá: từ cao đến thấp. + Theo sản phẩm được mua nhiều. - Bình luận đánh giá sản phẩm.
5 Bình luận đánh giá sản phẩm - Thêm sản phẩm vào giỏ hàng. - Cập nhật số lượng từng sản phẩm trong giỏ hàng. - Xóa sản phẩm khỏi giỏ hàng: + Xóa từng sản phẩm. 6 Quản lý giỏ hàng + Xóa tất cả sản phẩm.
- Nhập thông tin để đặt hàng. - QL Phí vận chuyển: + Tính phí vận chuyển. + Xóa phí vận chuyển.