Kinh Doanh - Tiếp Thị - Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Công nghệ thông tin 1 UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA CÔNG NGHỆ THÔNG TIN ---------- KHÓA LUẬN TỐT NGHIỆP TÌM HIỂU LARAVEL FRAMEWORK VÀ XÂY DỤNG WEBSITE KINH DOANH THỰC PHẨM SẠCH Sinh viên thực hiện NOUTSADA MATMANEEVONG MSSV: 2116100122 CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN KHÓA 2016 – 2019 Cán bộ hướng dẫn ThS. NGUYỄN THỊ MINH CHÂU MSCB: ……… Quảng Nam, tháng 05 năm 2020 2 ĐỀ CƯƠNG CHI TIẾT ĐỀ TÀI KHÓA LUẬN TỐT NGHIỆP I. THÔNG TIN CHUNG 1. Thông tin về sinh viên 1.1) Họ và tên: NOUTSADA MATTMANEEVONG ............................................... 1.2) Mã số SV: 2116100122 ...................................................................................... 1.3) Ngành đào tạo: CÔNG NGHỆ THÔNG TIN ..................................................... 1.4) Khóa học:2019-2020........................................................................................... 1.5) Lớp học:DT16CTT01 ......................................................................................... 1.6) Địa chỉ liên lạc: KÝ TÚC XÁ ĐẠI HỌC QUẢNG NAM ................................. 1.7) Số điện thoại:0832632517 .................................................................................. 1.8) Email:Kien.sanaphanhgmail.com ................................................................... 2. Đề tài Tên đề tài: “TÌM HIỂU LARAVEL FRAMEWORK VÀ XÂY DỤNG WEBSITE KINH DOANH THỰC PHẨM SẠCH” 3. Cán bộ hướng dẫn 3.1) Họ tên: ThS. Nguyễn Thị Minh Châu................................................................. 3.2) Chức vụ: giảng viên ............................................................................................ 3.4) Học hàm, học vị: Thạc sỹ ................................................................................... 3.5) Nơi công tác: CNTT-Trường ĐHQN ................................................................. 3.6) Số điện thoại:0917986867 .................................................................................. 3.7) Email: mchaudhqnamgmail.com..................................................................... 3 LỜI CẢM ƠN Trước tiên, em xin phép gửi lời mời cảm ơn sâu sắc tới cô Nguyễn Thị Minh Châu, cô đã nhiệt tình giúp đỡ và hướng dẫn em trong quá trình thực hiện khóa luận này. Em cũng xin gửi đến quý thầy cô đang giảng dạy tại trường Đại học Quảng Nam nói chung và thầy cô trong khoa Công Nghệ Thông tin nói riêng lời biết ơn chân thành, cảm ơn thầy cô vì đã hết lòng truyền đạt cho em những kiến thức trong những năm tháng ngồi trên ghế nhà trường. Kính chúc quý thầy cô luôn mạnh khỏe, gặt hái được nhiều thành công trong sự nghiệp. Dù đã cố gắng hết sức thực hiện đề tài nhưng cũng khó tránh khỏi những thiếu sót, em rất mong nhận được sự góp ý của quý thầy cô, các anh chị và các bạn để bản thân em khắc phục và tiến bộ hơn. Quảng Nam, tháng 4 năm 2020 Sinh viên thực hiện Noutsada Matmaneevong 4 MỤC LỤC LỜI CẢM ƠN ................................................................................................................. 3 DANH MỤC CÁC THUẬT NGỮ VIẾT TẮT ............................................................ 7 Phần 1. MỞ ĐẦU ........................................................................................................... 8 Lý do chọn đề tài .......................................................................................................... 8 1.2. Mục tiêu của đề tài ................................................................................................ 8 1.3. Đối tượng và phạm vi nghiên cứu ......................................................................... 9 1.4. Phương pháp nghiên cứu ....................................................................................... 9 1.5. Lịch sử nghiên cứu ................................................................................................ 9 1.6. Đóng góp của đề tài ............................................................................................... 9 1.7. Cấu trúc đề tài ...................................................................................................... 10 Phần 2. NỘI DUNG NGHIÊN CỨU .......................................................................... 11 Chương 1: TÌM HIỂU LARAVEL FRAMEWORK VÀ MỘT SỐ CÔNG CỤ HỔ TRỢ ............................................................................................................................... 11 1.1. Giới thiệu Laravel ................................................................................................ 11 1.1.1. Giới thiệu .......................................................................................................... 11 1.1.2. Cài đặc Laravel ................................................................................................. 13 1.1.3. Một số đặc điểm Laravel .................................................................................. 16 1.1.4. Cấu trúc............................................................................................................. 18 1.2. Giới thiệu ngôn ngữ HTML, CSS, PHP, JAVASCRIPT .................................... 19 1.3. Giới thiệu co sơ dữ liệu MySQL ......................................................................... 21 1.3.1. Giới thiệu .......................................................................................................... 21 1.3.2. Cài đặc MySQL ................................................................................................ 24 Chương 2 PHẦN TÍCH VÀ THIẾT KẾ HỆ THỐNG THỰ PHẨM SẠCH .......... 28 2.1. MÔ TẢ TỔNG QUAN ........................................................................................ 28 2.1.1. Các chức năng của hệ thống ............................................................................. 28 2.1.2. Nhóm người sử dụng ........................................................................................ 29 2.2. CÁC YÊU CẦU GIAO TIẾP BÊN NGOÀI ....................................................... 29 2.2.1. Giao diện phần cứng ......................................................................................... 29 5 2.2.2. Giao tiếp phần mềm.......................................................................................... 30 2.3. CÁC TÍNH NĂNG CHÍNH CỦA HỆ THỐNG ................................................. 30 2.3.1. Đăng nhập ......................................................................................................... 30 2.3.2. Đăng xuất .......................................................................................................... 30 2.3.3. Đăng ký............................................................................................................. 31 2.3.4. Quản lý khách hàng .......................................................................................... 32 2.3.5. Quản lý sản phẩn .............................................................................................. 33 2.3.6. Quản lý đơn hàng ............................................................................................. 36 2.3.7. Quản lý giỏ hàng .............................................................................................. 37 2.3.8. Tìm kiếm sản phẩm .......................................................................................... 39 2.4. PHẦN TÍCH HỆ THỐNG THEO HƯỚNG ĐỐI TƯỢNG ................................ 40 2.4.1. Phân tích ........................................................................................................... 40 2.4.1.1. Sơ đồ UseCase ............................................................................................... 40 2.4.1.2. Sơ đồ trạng thái.............................................................................................. 40 2.4.1.3. Sơ đồ lớp ........................................................................................................ 45 2.4.2. Mô tả sự phân rã ............................................................................................... 45 2.5. THIẾT KẾ DỮ LIỆU .......................................................................................... 46 2.5.1. Thiết kế bảng dữ liệu ........................................................................................ 46 Chương 3 XÂY DỤNG WEBSITE ............................................................................. 47 3.1. GIAO DIỆN PHÍA QUẢN TRỊ .......................................................................... 47 3.1.1. Giao diện trang quản trị .................................................................................... 47 3.1.2. Giao diện trang đăng nhập ................................................................................ 47 3.1.3. Giao diện quản lý sản phẩm ............................................................................. 48 3.1.4. Giao diện quản lý đơn hàng .............................................................................. 48 3.2. GIAO DIỆN PHÍA KHÁCH HÀNG .................................................................. 48 3.2.1. Giao diện trang chủ .......................................................................................... 48 3.2.2. Giao diện đăng nhập trang người dụng ............................................................ 49 3.2.3. Giao diện trang đăng ký tài khoản .................................................................... 50 3.2.4. Giao diện trang sản phẩm ................................................................................. 50 3.2.5. Giao diện giỏ hàng............................................................................................ 51 6 3.2.6. Giao diện thành toán ......................................................................................... 51 Phần 3. KẾT LUẬN VÀ KIẾN NGHỊ ....................................................................... 52 1. Kết luận................................................................................................................... 52 2. Kiến nghị ................................................................................................................ 52 Phần 4. TÀI LIỆU THAM KHẢO ............................................................................. 53 7 DANH MỤC CÁC THUẬT NGỮ VIẾT TẮT Từ viết tắt Tiếng Việt Tiếng Anh CSDL Cơ sở dữ liệu Database MVC Chế độ xem bộ diều khiển mô hình Model Controller View GD Giao diện Display CNTT Công nghệ thông tin Information Technology Admin Quản trị viên Administrator 8 Phần 1. MỞ ĐẦU Lý do chọn đề tài Sự phát triển của công nghệ thông tin và việc ứng dụng của công nghệ thông tin trong các lĩnh vực của đợi sống, kinh tế, xã hội trong nhiều năm qua đặc biệt là trong thương mại đã thôi thúc các doanh nghiệp các sự đầu tư lớn vào trong lĩnh vực thương mai điện tử. Sự tiện ích luôn đặc lên hàng đầu nên giao diện và nội dung của trang Web phải thật nổi bật để có thể thu hút được khách hàng. Bên cạnh đó tính bảo mật cũng là một vấn đề đối với khách hàng trực tuyến. Với sự phát triển mạnh mẽ công nghệ thông tin như ngày này thì vấn đề trên có thể được giải quyết dễ dàng. Chỉ với một chiếc máy tính được kết nối internet khách hàng có thể lựa chọn và mua sắm mọi lúc, mọi nơi chỉ với một vài thao tác đơn giản họ sẽ có được một sản phẩm ưng nhất. Bên cạnh đó còn giúp cửa hàng quản lý được việc mua bán hiệu quả của hơn so với việc quản lý trên giấy tờ dễ gây sai sót hay mất mác thông tin, các dữ lieu và sản phẩm, khách hàng được lưu trữ một các an toàn. Chính vì những lý do trên, tôi đã chọn đề tài: “TÌM HIỂU LARAVEL FRAMEWORK VÀ XÂY DỰNG WEBSITE KINH DOANH THỰC PHẨM SẠCH” để làm khóa luật tốt nghiệp. 1.2. Mục tiêu của đề tài Với những lý do nêu trên, đề tài: “Tìm hiểu Laravel framework và xây dựng website kinh doanh thực phẩm sạch” ra đời nhắm phục vụ các mục tiêu đã đề ra giúp cho việc hoạt động của website diễn ra tiện lợi và nhanh chóng nhất. Các chức năng được hoàn thiện, bổ sung cho website bao gồm: - Giao diện dễ sử dụng, có tính thẩm mỹ cao và có thể co giản phù hợp với mọi thiết bị và trên mọi màn hình. - Cho phép khách hàng đăng ký thành viên và đảm bảo bí mật thông tin. - Thông tin sản phẩm phong phú, đa dạng. - Luôn cập nhật, giới thiệu các sản phẩm mới nhất. 9 1.3. Đối tượng và phạm vi nghiên cứu Về lý thuyết: - Tìm hiểu quy trình mua. - Bán thực tế ở các cửa hàng thực phẩm sạch, Lưu ý những khó khăn, hạn chế của việc mua. - Bán thủ công; Thống kế các mặt hàng có trong cửa hàng, tập trung nghiên cứu các công nghệ mới nhằm giải quyết vấn đề một cách tốt nhất có thể. - Tìm hiểu về Laravel framework. - Tìm hiểu các công cụ hổ trợ để xây dụng Website. Về ứng dụng: Xây dựng các chức năng cơ bản cần thiết cho một web bán thực phẩm sạch kết hợp phát triển thêm các chức năng mà website bán thực phẩm sạch hiện này còn đang thiếu hoặc đã có nhưng chưa hoàn thiện. 1.4. Phương pháp nghiên cứu Về lý thuyết: - Nắm vững kiến thức về phân tích và thiết kế hệ thống thông tin. - Có kiến thức vững về CSDL: Tổ chức dữ liệu, phân tích, thiết kế CSDL. - Nắm vững và có khả năng sử dụng thành thạo PHP, HTML, CSS, Javascript… - Nắm vững, sử dụng kết hợp một cách hợp lý các kỹ thuật lập trình. - Nghiên cứu và tìm hiểu sâu về Laravel PHP Framework. Về ứng dụng: Khi hoàn thành khắc phục những hạn chế mà các website bán thực phẩm sạch hiện nay còn mắc phải, quản lý sản phẩm, đơn hàng một cách linh hoạt, tương tác được với người bán và khách hàng. 1.5. Lịch sử nghiên cứu - Nội dung đã được dạy và học ở học phần phân tích thiết kế Website-Có nhiều người cũng như các nhóm nghiên cứu đã chọn kiến thức này làm nội dung cho đề tài nghiên cứu của họ. 1.6. Đóng góp của đề tài - Cung cấp một các ứng dụng Laravel framework vào việc xây dụng trang Web. - Xây dụng hoàn chỉnh một trang Web kinh doanh thực phẩm sạch. 10 1.7. Cấu trúc đề tài - Phần 1. Mở đầu - Phần 2. Nội dung Chương 1: Tìm hiểu Laravel framework và một số công cụ hỗ trợ Chuong 2: Phân tích và thiết kế website kinh doanh thực phẩm sạch Chương 3: Xây dụng Website - Phần 4. Tài liệu tham khảo 11 Phần 2. NỘI DUNG NGHIÊN CỨU Chương 1: TÌM HIỂU LARAVEL FRAMEWORK VÀ MỘT SỐ CÔNG CỤ HỔ TRỢ 1.1. Giới thiệu Laravel 1.1.1. Giới thiệu ➢ Lịch sử cửa Laravel Hình 1.1: Logo Laravel - Developer(s): Taylor Otwell. - Phát hành lần đầu: June 2011; 7 years ago1 - Phiên bản ổn định: 5.7.2 September 6, 2018 - Repository: https:github.comlaravelframework - Viết bởi: PHP 7 - Loại: Web framework - License: MIT License - Website: laravel.com Đối với mỗi developer, đặc biệt là các PHP developer chắc hẳn ai cũng biết đến Laravel một open source framework đứng đầu về số lượt download trên Packagist cũng như số lượng sao đạt được trên Github. Laravel được tạo ra 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. Từ đó cho đến này, Laravel đã phát triển một cách mạnh mẽ, vượt qua những framework khác và vươn lên trở thành framework PHP có thể nói được ưa chuộc và được cộng đồng sử dụng nhiều nhất khi phát triển web với PHP. 12 ➢ Khái niệm Laravel Laravel là 1 open source, là một framework dùng để xây dựng web application, được thiết kế dựa trên mô hình MVC (Model, Controller, View ), toàn bộ source code được đặt trên github. Theo kết qủa khảo sát của các Developer vào tháng 12 năm 2013, thì Laravel Framework đứng top 1 một trong những framework phổ biến nhất, tiếp sau là Phalcon, Symfony2, CodeIgniter và các framework khác. Tháng 8 năm 2014, Laravel Framework được xem như là một dự án PHP phổ biến nhất trên Github - Framework chính là một thư viện với các tài nguyên có sẵn cho từng lĩnh vực để lập trình viên sử dụng thay vì phải tự thiết kế. Có Framework, lập trình viên chỉ tìm hiểu và khai thác những tài nguyên đó, gắn kết chúng lại với nhau và hoàn chỉnh sản phẩm của mình. Đối với lập trình viên trong mỗi một lĩnh vực, họ cần phải xây dựng các lớp chương trình để xây dựng nên những phần mềm, ứng dụng thành phẩm. - PHP framework PHP framework là thư viện làm cho sự phát triển của những ứng dụng web viết bằng ngôn ngữ PHP trở nên trôi chảy hơn. Bằng cách cung cấp 1 cấu trúc cơ bản để xây dựng những ứng dụng đó. Hay nói cách khác, PHP framework giúp bạn thúc đẩy nhanh chóng quá trình phát triển ứng dụng. Giúp bạn tiết kiệm được thời gian, tăng sự ổn định cho ứng dụng. Giảm thiểu số lần phải viết lại code cho lập trình viên. - MVC (Model-View-Controller) MVC (Model-Viwe-Controller) là mẫu kiến trúc phần mềm trên máy tính nhằm mục đích tạo lập giao diện cho người dùng. Theo đó, hệ thống MVC được chia thành ba phần có khả năng tương tác với nhau và tách biệt các nguyên tắc nghiệp vụ với giao diện người dùng. Ba thánh phần ấy bao gồm: - Controller: Giữ nhiệm vụ nhận điều hướng các yêu cầu từ người dùng và gọi đúng những phương thức xử lý chúng. - Model: Là thành phần chứa tất cả các nghiệp vụ logic, phương thức xử lý, truy xuất database, đối tượng mô tả dữ liệu như các Class, hàm xử lý… 13 - View: Đảm nhận việc hiển thị thông tin, tương tác với người dùng, nơi chứa tất cả các đối tượng GUI như textbox, images… Bằng cách này, thông tin nội hàm được xử lý tách biệt với phần thông tin xuất hiện trong giao diện người dùng. Bảo đảm các nguyên tắc nghề nghiệp của lập trình viên. ➢ Những tính năng hữu ích của Laravel Những tính năng tuyệt vời có thể kể đến của Laravel là: - Composer: sử dụng để nâng cấp, cài đặt… - Eloquent ORM: thao tác với cú pháp đẹp mắt và đơn giản. - Restful API: hỗ trợ biến Laravel thành một web service API. - Artisan: cung cấp các lệnh cần thiết để phát triển ứng dụng. - View: giúp code sạch sẽ hơn rất nhiều. - Migrations: hỗ trợ tạo các trường trong cơ sở dữ liệu, thêm các cột trong bảng, tạo mối quan hệ giữa các bảng, hỗ trợ quản lý cơ sở dữ liệu. - Authentication: cung cấp sẵn các tính năng đăng nhập, đăng ký, quên mật khẩu. - Unit Testing: hỗ trợ test lỗi để sửa chữa. 1.1.2. Cài đặc Laravel ➢ Cấu hình yêu cầu khi cài đặt Laravel - PHP >= 5.6.4 - OpenSSL PHP Extension - PDO PHP Extension - Mbstring PHP Extension - Tokenizer PHP Extension - XML PHP Extension. ➢ Download và cài đặt Laravel - Đầu tiên các bạn cần phải cài đặt biến môi trường cho PHP (xem thêm). - Đầu tiên các bạn lên trang chủ getcomposer.org và download file composer setup.exe về. - Sau đó mở file lên và cài đặt: 14 Hình 1.2: Cài đặt composer - Nhấn next để tiếp tục Hình 1.3. Chọn địa cài đặt composer 15 - Chọn thư mục chứa php (Mặc định thì composer tự tìm cho chúng ta) sau đó chọn next Hình 1.4. Chọn thư mục chứa php - Và lại tiếp tục next Hình 1.5. Đọc địa và install 16 - Cuối cùng là install. Sau khi đã cài đặt xong các bạn có thể mở command line lên (windows +R) và gõ lệnh composer -v. Nếu màn hình hiện nên dạng như này là bạn đã cài đặt thành công rồi. Hình 1.6. Đăng ký thành công 1.1.3. Một số đặc điểm Laravel ➢ Ưu điểm và nhược điểm của Laravel - Ưu điểm của Laravel Sử dụng các tính năng mới nhất của PHP Sử dụng Laravel 5 giúp các lập trình viên tiếp cận những tính năng mới nhất mà PHP cung cấp, nhất là đối với Namespaces, Interfaces, Overloading, Anonymous functions và Shorter array syntax. Nguồn tài nguyên vô cùng lớn và sẵn có Nguồn tài nguyên của Laravel rất thân thiện với các lập trình viên với đa dạng tài liệu khác nhau để tham khảo. Các phiên bản được phát hành đều có nguồn tài liệu phù hợp với ứng dụng của mình. 17 Tích hợp với dịch vụ mail Lavarel là framework được trang bị API sạch trên thư viện SwiftMailer, do đó, bạn có thể gửi thư qua các dịch vụ dựa trên nền tảng đám mây hoặc local. Tốc độ xử lý nhanh Laravel hỗ trợ hiệu quả cho việc tạo lập website hay các dự án lớn trong thời gian ngắn. Vì vậy, nó được các công ty công nghệ và lập trình viên sử dụng rộng rãi để phát triển các sản phẩm của họ. Dễ sử dụng Laravel được đón nhận và trở nên sử dụng phổ biến vì nó rất d sử dụng. Thường chỉ mất vài giờ, bạn có thể bắt đầu thực hiện một dự án nhỏ với vốn kiến thức cơ bản nhất về lập trình với PHP. Tính bảo mật cao Laravel cung cấp sẵn cho người dùng các tính năng bảo mật mạnh mẽ để người dùng hoàn toàn tập trung vào việc phát triển sản phẩm của mình: Sử dụng PDO để chống lại tấn công SQL Injection. Sử dụng một field token ẩn để chống lại tấn công kiểu CSRF. Mặc định đều được Laravel escape các biến được đưa ra view mặc định, do đó có thể tránh được tấn công XSS. ➢ Nhược điểm của Laravel. So với các PHP framework khác, Laravel bộc lộ khá ít nhược điểm. Vấn đề lớn nhất có thể kể đến của framework này là thiếu sự liên kết giữa các phiên bản, nếu cố cập nhật code, có thể khiến cho ứng dụng bị gián đoạn hoặc phá vỡ. Bên cạnh đó, Lavarel cũng quá nặng cho ứng dụng di động, khiến việc tải trang trở nên chậm chạp. 18 1.1.4. Cấu trúc ➢ Chú thích: - app: Chứa các thư mục, các tập tin php, thư viện, models. - Console: Chứa các tập tin định nghĩa các câu lệnh trên artisan. - Excerption: Chứa các tập tin quản lý, điều hướng lỗi. - Controllers: Chứa các controllers của project. - Middleware: Chứa các tập tin lọc và ngăn chặn các requests. - Kernel.php: Cấu hình, định nghĩa Middleware. - Providers: Chứ các providers thực hiện việc binding vào service container (ở phần nâng cao mình sẽ nói sau). - User.php: Là model User mà Laravel tự địn sẵn cho chúng ta. - bootstrap:Chứa tập tin điều hướng hệ thống. - config: Chứa mọi tập tin cấu hình của Laravel. 19 - database: Chứa các thư mục tập tin vềdatabase. - migrations: Chứa các tập tin định nghĩa,khởi tạo và sửa bảng. - seeds: Chứa các tập tin định nghĩa dữ liệu insert(thêm) vào trong database. - factories: Chứa các tập tin định nghĩa các cột bảng dữ liệu để tạo ra các dữ liệu ảo. - public: Chứa các tập tin css, js, image. - index.php: Đây là tệp tin root của Laraver - resources: Chứa các views, ngôn ngữ(language) của project. - routes: Chứa các tập tin định nghĩa các router, xử lý điều hướng router bao gồm : web, api và console(Mình sẽ nói thêm ở phần sau). - storage: Chứa các tập tin hệ thống cache, session, ... - tests: ... - vendor: Chứa các thư viện của composer. - .env: Là tập tin cấu hình chính của laravel như key app,database. - .env.example: Tệp tin cấu hình mẫu của laraver. - omposer.json: tập tin của composer. - composer.lock: tập tin của composer. - package.js: Tập tin cấu hình của nodejs (chứa các package cần dùng cho projects). - gulpfile.js: Là tập tin gulp builder. - phpunit.xml: Là tập tin xml của phpunit dùng để testing project. - server.php: Là tập tin để artisan trỏ đến tạo server khi gõ lệnh php artisan serve - artisan: Tập tin thực thi lệnh của Laravel. Ở trên là một số các thư mục trong laravel mà chúng ta lên biết thôi vẫn còn rất nhiều các thư mục khác cấu thành lên laravel nữa các bạn tự tìm hiểu thêm nhé. 1.2. Giới thiệu ngôn ngữ HTML, CSS, PHP, JAVASCRIPT ➢ ngôn ngữ HTML Ngôn ngữ HTML (HyperText Markup Language – ngôn ngữ siêu văn bản) là một trong các loại ngôn ngữ được sử dụng trong lập trình web. Khi truy cập một trang 20 web cụ thể là click vào các đường link, bạn sẽ được dẫn tới nhiều trang các nhau, và các trang này được gọi là một tài liệu HTML (tập tin HTML). Một trang HTML như vậy được cấu thành bởi nhiều phần tử HTML nhỏ và được quy định bằng các thẻ tag. Bạn có thể phân biệt một trang web được viết bằng ngôn ngữ HTML hay PHP thông qua đường link của nó. Ở cuối các trang HTML thường hay có đuôi là .HTML hoặc HTML HTML là ngôn ngữ lập trình web được đánh giá là đơn giản. Mọi trang web, mọi trình duyệt web đều có thể hiển thị tốt ngôn ngữ HTML. Hiện nay, phiên bản mới nhất của HTML là HTML 5 với nhiều tính năng tốt và chất lượng hơn so với các phiên bản HTML cũ. - Vai trò của HTML trong tập trình Web Vậy, đối với các website, ngôn ngữ HTML đóng vai trò như thế nào? HTML theo đúng nghĩa của nó là một loại ngôn ngữ đánh dấu siêu văn bản, thế nên các chức năng của nó cũng xoay quanh yếu tố này. Cụ thể, HTML giúp cấu thành các cấu trúc cơ bản trên một website (chia khung sườn, bố cục các thành phần trang web) và góp phần hỗ trợ khai báo các tập tin kĩ thuật số như video, nhạc, hình ảnh. Hình 1.4 .Vai trò của HTML trong tập trình Web 21 Ưu điểm nổi trội nhất và cũng là thế mạnh của HTML là khả năng xây dựng cấu trúc và làm cho website trở thành một hệ thống hoàn chỉnh Ưu điểm nổi trội nhât và cũng là thế mạnh của HTML là khả năng xây dựng cấu trúc và khiến trang web đi vào quy củ một hệ thống hoàn chỉnh. Nếu bạn mong muốn sở hữu một website có cấu trúc tốt có mục đích sử dụng nhiều loại yếu tố trong văn bản, hãy hỏi HTML. Nhiều ý kiến cho rằng tùy theo mục đích sử dụng mà lập trình viên hay người dùng có thể lựa chọn ngôn ngữ lập trình riêng cho website của bạn, tuy nhiên thực chất HTML chứa những yếu tố cần thiết mà dù website của bạn có thuộc thể loại nào, giao tiếp với ngôn ngữ lập trình nào để xử lý dữ liệu thì nó vẫn phải cần đến ngôn ngữ HTML để hiển thị nội dun...
NỘI DUNG NGHIÊN CỨU
- Phát hành lần đầu: June 2011; 7 years ago[1]
- Phiên bản ổn định: 5.7.2 September 6, 2018
- Repository: https://github.com/laravel/framework
- Website: laravel.com Đối với mỗi developer, đặc biệt là các PHP developer chắc hẳn ai cũng biết đến Laravel một open source framework đứng đầu về số lượt download trên Packagist cũng như số lượng sao đạt được trên Github Laravel được tạo ra 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 Từ đó cho đến này, Laravel đã phát triển một cách mạnh mẽ, vượt qua những framework khác và vươn lên trở thành framework PHP có thể nói được ưa chuộc và được cộng đồng sử dụng nhiều nhất khi phát triển web với PHP.
TÌM HIỂU LARAVEL FRAMEWORK VÀ MỘT SỐ CÔNG CỤ HỔ TRỢ
Giới thiệu Laravel
- Phát hành lần đầu: June 2011; 7 years ago[1]
- Phiên bản ổn định: 5.7.2 September 6, 2018
- Repository: https://github.com/laravel/framework
- Website: laravel.com Đối với mỗi developer, đặc biệt là các PHP developer chắc hẳn ai cũng biết đến Laravel một open source framework đứng đầu về số lượt download trên Packagist cũng như số lượng sao đạt được trên Github Laravel được tạo ra 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 Từ đó cho đến này, Laravel đã phát triển một cách mạnh mẽ, vượt qua những framework khác và vươn lên trở thành framework PHP có thể nói được ưa chuộc và được cộng đồng sử dụng nhiều nhất khi phát triển web với PHP
Laravel là 1 open source, là một framework dùng để xây dựng web application, được thiết kế dựa trên mô hình MVC (Model, Controller, View ), toàn bộ source code được đặt trên github Theo kết qủa khảo sát của các Developer vào tháng 12 năm 2013, thì Laravel Framework đứng top 1 một trong những framework phổ biến nhất, tiếp sau là Phalcon, Symfony2, CodeIgniter và các framework khác Tháng 8 năm 2014, Laravel Framework được xem như là một dự án PHP phổ biến nhất trên Github
- Framework chính là một thư viện với các tài nguyên có sẵn cho từng lĩnh vực để lập trình viên sử dụng thay vì phải tự thiết kế
Có Framework, lập trình viên chỉ tìm hiểu và khai thác những tài nguyên đó, gắn kết chúng lại với nhau và hoàn chỉnh sản phẩm của mình Đối với lập trình viên trong mỗi một lĩnh vực, họ cần phải xây dựng các lớp chương trình để xây dựng nên những phần mềm, ứng dụng thành phẩm
PHP framework là thư viện làm cho sự phát triển của những ứng dụng web viết bằng ngôn ngữ PHP trở nên trôi chảy hơn Bằng cách cung cấp 1 cấu trúc cơ bản để xây dựng những ứng dụng đó Hay nói cách khác, PHP framework giúp bạn thúc đẩy nhanh chóng quá trình phát triển ứng dụng Giúp bạn tiết kiệm được thời gian, tăng sự ổn định cho ứng dụng Giảm thiểu số lần phải viết lại code cho lập trình viên
Mô hình MVC (Model-View-Controller) là khuôn mẫu kiến trúc phần mềm nhằm mục đích tao lập giao diện người dùng Theo đó, hệ thống MVC được chia thành ba thành phần tương tác và tách biệt nguyên tắc nghiệp vụ với giao diện người dùng.
Ba thánh phần ấy bao gồm:
- Controller: Giữ nhiệm vụ nhận điều hướng các yêu cầu từ người dùng và gọi đúng những phương thức xử lý chúng
- Model: Là thành phần chứa tất cả các nghiệp vụ logic, phương thức xử lý, truy xuất database, đối tượng mô tả dữ liệu như các Class, hàm xử lý…
- View: Đảm nhận việc hiển thị thông tin, tương tác với người dùng, nơi chứa tất cả các đối tượng GUI như textbox, images…
Bằng cách này, thông tin nội hàm được xử lý tách biệt với phần thông tin xuất hiện trong giao diện người dùng Bảo đảm các nguyên tắc nghề nghiệp của lập trình viên
➢ Những tính năng hữu ích của Laravel
Những tính năng tuyệt vời có thể kể đến của Laravel là:
- Composer: sử dụng để nâng cấp, cài đặt…
- Eloquent ORM : thao tác với cú pháp đẹp mắt và đơn giản
- Restful API : hỗ trợ biến Laravel thành một web service API
- Artisan : cung cấp các lệnh cần thiết để phát triển ứng dụng
- View : giúp code sạch sẽ hơn rất nhiều
- Migrations : hỗ trợ tạo các trường trong cơ sở dữ liệu, thêm các cột trong bảng, tạo mối quan hệ giữa các bảng, hỗ trợ quản lý cơ sở dữ liệu
- Authentication : cung cấp sẵn các tính năng đăng nhập, đăng ký, quên mật khẩu
- Unit Testing : hỗ trợ test lỗi để sửa chữa
➢ Cấu hình yêu cầu khi cài đặt Laravel
➢ Download và cài đặt Laravel
- Đầu tiên các bạn cần phải cài đặt biến môi trường cho PHP (xem thêm)
- Đầu tiên các bạn lên trang chủ getcomposer.org và download file composer setup.exe về
- Sau đó mở file lên và cài đặt:
- Nhấn next để tiếp tục
Hình 1.3 Chọn địa cài đặt composer
- Chọn thư mục chứa php (Mặc định thì composer tự tìm cho chúng ta) sau đó chọn next
Hình 1.4 Chọn thư mục chứa php
- Và lại tiếp tục next
Hình 1.5 Đọc địa và install
Sau khi đã cài đặt xong các bạn có thể mở command line lên (windows +R) và gõ lệnh composer -v
Nếu màn hình hiện nên dạng như này là bạn đã cài đặt thành công rồi
Hình 1.6 Đăng ký thành công
1.1.3 Một số đặc điểm Laravel
➢ Ưu điểm và nhược điểm của Laravel
Sử dụng các tính năng mới nhất của PHP
Using Laravel 5.0, developers can utilize the latest features of PHP, such as Namespaces, Interfaces, Overloading, Anonymous functions, and Shorter array syntax.
Nguồn tài nguyên vô cùng lớn và sẵn có
Nguồn tài nguyên của Laravel rất thân thiện với các lập trình viên với đa dạng tài liệu khác nhau để tham khảo Các phiên bản được phát hành đều có nguồn tài liệu phù hợp với ứng dụng của mình
Tích hợp với dịch vụ mail
Lavarel là framework được trang bị API sạch trên thư viện SwiftMailer, do đó, bạn có thể gửi thư qua các dịch vụ dựa trên nền tảng đám mây hoặc local
Tốc độ xử lý nhanh
Laravel hỗ trợ hiệu quả cho việc tạo lập website hay các dự án lớn trong thời gian ngắn Vì vậy, nó được các công ty công nghệ và lập trình viên sử dụng rộng rãi để phát triển các sản phẩm của họ
Laravel được đón nhận và trở nên sử dụng phổ biến vì nó rất d sử dụng Thường chỉ mất vài giờ, bạn có thể bắt đầu thực hiện một dự án nhỏ với vốn kiến thức cơ bản nhất về lập trình với PHP
Laravel cung cấp sẵn cho người dùng các tính năng bảo mật mạnh mẽ để người dùng hoàn toàn tập trung vào việc phát triển sản phẩm của mình:
• Sử dụng PDO để chống lại tấn công SQL Injection
• Sử dụng một field token ẩn để chống lại tấn công kiểu CSRF
Mặc định đều được Laravel escape các biến được đưa ra view mặc định, do đó có thể tránh được tấn công XSS
So với các PHP framework khác, Laravel bộc lộ khá ít nhược điểm Vấn đề lớn nhất có thể kể đến của framework này là thiếu sự liên kết giữa các phiên bản, nếu cố cập nhật code, có thể khiến cho ứng dụng bị gián đoạn hoặc phá vỡ
Bên cạnh đó, Lavarel cũng quá nặng cho ứng dụng di động, khiến việc tải trang trở nên chậm chạp
- app: Chứa các thư mục, các tập tin php, thư viện, models
- Console: Chứa các tập tin định nghĩa các câu lệnh trên artisan
- Excerption: Chứa các tập tin quản lý, điều hướng lỗi
- Controllers: Chứa các controllers của project
- Middleware: Chứa các tập tin lọc và ngăn chặn các requests
- Kernel.php: Cấu hình, định nghĩa Middleware
- Providers: Chứ các providers thực hiện việc binding vào service container
(ở phần nâng cao mình sẽ nói sau)
- User.php: Là model User mà Laravel tự địn sẵn cho chúng ta
- bootstrap:Chứa tập tin điều hướng hệ thống
- config: Chứa mọi tập tin cấu hình của Laravel
- database: Chứa các thư mục tập tin vềdatabase
- migrations: Chứa các tập tin định nghĩa,khởi tạo và sửa bảng
- seeds: Chứa các tập tin định nghĩa dữ liệu insert(thêm) vào trong database
- factories: Chứa các tập tin định nghĩa các cột bảng dữ liệu để tạo ra các dữ liệu ảo
- public: Chứa các tập tin css, js, image
- index.php: Đây là tệp tin root của Laraver
- resources: Chứa các views, ngôn ngữ(language) của project
- routes: Chứa các tập tin định nghĩa các router, xử lý điều hướng router bao gồm
: web, api và console(Mình sẽ nói thêm ở phần sau)
- storage: Chứa các tập tin hệ thống cache, session,
- vendor: Chứa các thư viện của composer
- env: Là tập tin cấu hình chính của laravel như key app,database
- env.example: Tệp tin cấu hình mẫu của laraver
- omposer.json: tập tin của composer
- composer.lock: tập tin của composer
- package.js: Tập tin cấu hình của nodejs (chứa các package cần dùng cho projects)
- gulpfile.js: Là tập tin gulp builder
- phpunit.xml: Là tập tin xml của phpunit dùng để testing project
- server.php: Là tập tin để artisan trỏ đến tạo server khi gõ lệnh php artisan serve
Artisan là tập tin thực thi lệnh dòng lệnh Laravel Ngoài các thư mục được liệt kê ở trên, còn rất nhiều thư mục khác cấu thành nên Laravel Hãy tự tìm hiểu thêm để hiểu rõ hơn.
Giới thiệu ngôn ngữ HTML, CSS, PHP, JAVASCRIPT
Ngôn ngữ HTML (HyperText Markup Language – ngôn ngữ siêu văn bản) là một trong các loại ngôn ngữ được sử dụng trong lập trình web Khi truy cập một trang
20 web cụ thể là click vào các đường link, bạn sẽ được dẫn tới nhiều trang các nhau, và các trang này được gọi là một tài liệu HTML (tập tin HTML)
Một trang HTML như vậy được cấu thành bởi nhiều phần tử HTML nhỏ và được quy định bằng các thẻ tag Bạn có thể phân biệt một trang web được viết bằng ngôn ngữ HTML hay PHP thông qua đường link của nó Ở cuối các trang HTML thường hay có đuôi là HTML hoặc HTML
HTML là ngôn ngữ lập trình web được đánh giá là đơn giản Mọi trang web, mọi trình duyệt web đều có thể hiển thị tốt ngôn ngữ HTML Hiện nay, phiên bản mới nhất của HTML là HTML 5 với nhiều tính năng tốt và chất lượng hơn so với các phiên bản HTML cũ
- Vai trò của HTML trong tập trình Web
Vậy, đối với các website, ngôn ngữ HTML đóng vai trò như thế nào?
Đúng như tên gọi, HTML là ngôn ngữ đánh dấu siêu văn bản, tập trung vào việc đánh dấu nội dung Cụ thể, HTML giúp thiết lập cấu trúc cơ bản (kết cấu khung, bố trí thành phần) cho trang web và hỗ trợ định nghĩa định dạng các tệp kỹ thuật số (video, âm thanh, hình ảnh) để hiển thị trên trang.
Hình 1.4 Vai trò của HTML trong tập trình Web
21 Ưu điểm nổi trội nhất và cũng là thế mạnh của HTML là khả năng xây dựng cấu trúc và làm cho website trở thành một hệ thống hoàn chỉnh Ưu điểm nổi trội nhât và cũng là thế mạnh của HTML là khả năng xây dựng cấu trúc và khiến trang web đi vào quy củ một hệ thống hoàn chỉnh Nếu bạn mong muốn sở hữu một website có cấu trúc tốt có mục đích sử dụng nhiều loại yếu tố trong văn bản, hãy hỏi HTML Nhiều ý kiến cho rằng tùy theo mục đích sử dụng mà lập trình viên hay người dùng có thể lựa chọn ngôn ngữ lập trình riêng cho website của bạn, tuy nhiên thực chất HTML chứa những yếu tố cần thiết mà dù website của bạn có thuộc thể loại nào, giao tiếp với ngôn ngữ lập trình nào để xử lý dữ liệu thì nó vẫn phải cần đến ngôn ngữ HTML để hiển thị nội dung cho người truy cập
Nói đúng hơn, dù website của bạn được xây dựng như thế nào, trên nên tảng nào thì nó cũng cần đến sự hỗ trợ của HTML, dù ít dù nhiều Đối với các lập trình viên hay nhà phát triển web, họ đều phải học HTML như một loại ngôn ngữ cơ bản trước khi bắt tay vào thiết kế trang web nào
Như đã đề cập ở trên, các trang HTML được quy định bằng các thẻ tag Những thẻ này được chứa trong các dấu ngoặc đơn dạng: Trừ một vài thẻ đặc biệt, hầu hết các thẻ cơ bản đều có các thẻ đóng tương ứng với nó Ví dụ, thẻ có thẻ đóng tương ứng là , thẻ có thẻ đóng tương ứng là … Dưới đây là các mẫu thẻ tag bạn thường gặp trong HTML.
Giới thiệu co sơ dữ liệu MySQL
Phần mềm Xampp là một trong những phần mềm được nhiều lập trình viên 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ở
22 Đánh giá một cách tổng thể, Xampp được đánh giá 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 Xampp cài đặt các thành tố trọng yếu, hỗ trợ lẫn nhau bao gồm:
- PHP (thiết lập nền tảng để các tập tin script php hoạt động)
- MySql (hệ quản trị dữ liệu)
Các thành phần chính của Xampp
Xampp, chúng là chữ viết tắt của X, Apache, MySQL, PHP và Perl Chữ X là viết tắt cho cross platform, ám chỉ phần mềm này có thể tương thích với nhiều hệ điều hành như Windows, Mac, Linux, Solaris…
Apache là một website software sử dụng source code mở hoàn toàn miễn phí, được sử dụng bởi 46% trên tổng số các website trên toàn cầu Phần mềm web này được thiết lập và cập nhật bởi Apache Software Foundation
Ra đời hơn 20 năm về trước, Apache được nhiều chuyên gia công nhận là một trong những web server uy tín, đáng sử dụng cho các website Song song với NGINX (một phần mềm web phổ biến khác), Apache giúp website sở hữu một server hoàn thiện hơn, có thể tải nhiều nội dung lên cho website của mình nổi bật hơn mà không gặp phải bất kỳ trở ngại nào
MySQL là một hệ thống quản lý cơ sở dữ liệu liên kết có ưu điểm nhanh chóng, dễ dùng cho các lập trình viên MySQL được ứng dụng khá nhiều cho các website thương mại điện tử hiện nay
Hệ thống được phát triển bởi công ty Thụy Điển này hiện được nhiều lập trình viên hàng đầu trên thế giới ưa chuộng bởi những ưu điểm sau
• MySQL là một opensource, hoàn toàn miễn phí
• Hiệu suất hoạt động của MySQL rất mạnh mẽ, kể cả khi khối lượng dữ liệu khổng lồ
• Cái tên nói lên tất cả, hệ thống này sử dụng ngôn ngữ dữ liệu SQL để cấu trúc hóa website của bạn
• MySQL tương thích với hầu hết các hệ điều hành (Windows, Mac, Linux…) cùng các ngôn ngữ lập trình như PHP, C++, Java…
• MySQL rất tương thích với PHP, ngôn ngữ lập trình phổ biến của nhiều lập trình viên
MySQL có hệ thống thông tin khổng lồ, với khả năng lưu trữ tới 50 triệu hàng dữ liệu trong một bảng duy nhất Mỗi bảng này có dung lượng tối thiểu là 4GB và tối đa có thể lên tới 8TB, tùy thuộc vào cấu hình hệ điều hành.
• MySQL cho phép điều chỉnh tùy ý để các lập trình viên có thể thao tác thay đổi cho website của mình
PHP (viết tắt của Hypertext Pre-processor, tiền thân là Personal Home Page) là một ngôn ngữ lập trình kịch bản, được ứng dụng trong các loại website (tĩnh và động) và ứng dụng website Các script được viết bằng ngôn ngữ lập trình PHP sẽ được các server có cài đặt PHP hiểu được và “tiêu hóa” chúng Cụ thể, các script này sẽ được lưu dưới dạng tệp đuôi “.php”, sau đó các server sẽ diễn giải chúng và đưa lên website tùy theo template web mà lập trình viên lựa chọn
Ngôn ngữ lập trình PHP có thể được nhúng trong HTML, được ứng dụng trong quản lý các loại nội dung website (nhất là nội dung động) cũng như quản lý các dữ liệu thống kê liên quan đến website như số phiên, thời gian phiên… PHP được sử dụng nhiều trong các loại Database phổ biến như MySQL, PostgreSQL, Oracle, Sybase, Informix, và Microsoft SQL Server
PERL có tên đầy đủ là Practical Extraction and Report Language, là một trong những ngôn ngữ lập trình hiện đại hoạt động song song với PHP trong Xampp có khả năng lọc bỏ những dữ liệu thừa và cung cấp những dữ liệu quan trọng trong việc thiết lập website Tuy không nổi bằng PHP, Perl cũng có những ưu điểm nhất định khiến nhiều lập trình viên trên toàn thế giới cảm thấy ấn tượng và ứng dụng cho website của mình
• Tự động quản lý và phân tích dữ liệu website
• Có thể hoạt động tốt với các chuỗi cú pháp, ký tự
• Cộng đồng sử dụng Perl khá lớn, góp công vào việc xây dựng kho mã lệnh CPAN khổng lồ cho các lập trình viên
• Tương tự như PHP, Perl có cú pháp giống ngôn ngữ lập trình C
• Độ linh hoạt của Perl cao, cho phép lập trình viên có thể tùy biến chúng để giải quyết các vấn đề liên quan đến website và ứng dụng
Tiến hành đến phần cài đặt Xampp Trước tiên, tải về phần mềm cài đặt ở dưới đây
- Hiên bản XAMPP bản mới nhất
- Tải các phiên bản XAMPP khác
Nếu đã xong bước này thì cài đặt Xampp vào máy tính của mình theo bước sau
Hình 1.7.Hướng dẫn cài đặt XAMPP
- Đến đây, chọn nơi muốn lưu Xampp Nếu lười thì có thể skip bước này để Xampp tự động lưu vào ổ C, còn không thì có thể lưu ở bất cứ ổ đĩa nào bạn muốn
Hình 1.3 Chọn địa cài đặt
Xampp tự động hoàn tất phần cài đặt Chỉ cần chọn “Finish” để đóng cửa sổ cài đặt thôi
- Vậy là đã hoàn thành bước cài đặt Xampp vào máy tính Tiếp tục phần hướng dẫn cách sử dụng Xampp:
- Đến đây có thể đóng/mở 2 ứng dụng Apache và MySQL tùy ý để làm việc thao tác dễ dàng hơn (việc đóng 2 ứng dụng không liên quan đến quá trình hoạt động của chúng)
Hình 1.8 Cài đặt thành công
- Click vào phpMyAdmin trong các trình duyệt web trên máy tính (Chrome, FireFox, Cốc Cốc…) Sẽ thấy nhanh chóng các chỉ số phiên bản PHP – MySQL mà đang dùng
- Truy cập vào liên kết http://localhost/phpmyadmin (hoặc http://127.0.0.1/phpmyadmin) để bắt đầu thiết lập trang quản trị cơ sở dữ liệu cho website như dưới đây
- Đến đây, bạn sẽ bắt đầu thiết lập cơ sở dữ liệu ngôn ngữ SQL cho website của bạn Mona Media xin hướng dẫn cho bạn cách tạo database SQL cho Xampp như chỉ dẫn dưới đây nhé:
(1) Chọn ngôn ngữ cho Xampp, ví dụ English, Vietnamese…
(2) Chọn bộ mã ký tự cho server của bạn Chọn “Default”
(3) Đây là database mà phpMyAdmin sẽ show ra cho mình tham khảo
(4) Thêm database mới cho mục (3)
(5) Nhập dữ liệu cho database mới theo ngôn ngữ dữ liệu SQL
(6) Xuất dữ liệu SQL mới bạn vừa nhập
(7) Nhập dữ liệu SQL mới này vào database bạn mới tạo Đặc biệt cần ghi nhớ: Lúc cài đặt và sử dụng Xampp, hãy tắt hết các phần mềm đang sử dụng để phòng ngừa trường hợp bị xung đột phần mềm dẫn đến lỗi không thể triển khai Xampp được
PHẦN TÍCH VÀ THIẾT KẾ HỆ THỐNG THỰ PHẨM SẠCH
MÔ TẢ TỔNG QUAN
2.1.1 Các chức năng của hệ thống
Dưới đây tôi liệt kê các tính năng của một website bán thực phẩm sạch cung cấp Tuy nhiên vẫn có rất nhiều tính năng bạn cần đã có nhưng chưa được liệt kê Tôi rất vui lòng được tư vấn, hỗ trợ, cung cấp thêm đầy đủ các thông tin để đưa Thiết kế web phát triển thương hiệu ứng dụng website kinh doanh thực phẩm sạch cần đáp ứng các chức năng sau: Đăng nhập: Quản lý và khách hàng có thể đăng nhập vào hệ thống bằng email và mật khẩu Đăng xuất : Khách hàng có thể đăng xuất tài khoản của mình ra khỏi hệ thống Đăng ký: Quản lý và khách hàng đăng ký tài khoản để sử dụng các chức năng của hệ thống
- Quản lý thông tin khách hàng
- Tìm kiếm theo tên, email, điện thoại,
- Chuyển khách hàng giữa các nhóm
- Cập nhật thông tin khách hàng dễ dàng
- Chỉnh sửa thông tin sản phẩm
Quản lý đơn hàng: Khách hàng có thể tính toán một cách tự động và lưu lại lịch sử, thông tin giao dịch của khách hàng
- Thêm vào giỏ hàng bằng một click
- Click tên sản phẩm để xem chi tiết của sản phẩm
- Cập nhật thông tin giỏ hàng
- Xóa sản phẩm khỏi giỏ hàng
- Gửi đơn hàng để đặt hàng
Tìm kiếm sản phẩm: Khách hàng có thể tìm kiếm hành theo tên và danh mục
Các chức năng và phân quyền cho 2 nhóm đối tượng: Admin và khách hàng
Là từ viết tắt của “Administrator dịch ra là người quản trị \, người quản trị hay là quản trị hay là quản trị viên Đây là quyền cao nhất đối với quản lý viên Với các website thì admin là người điều hành Admin chủ yếu là online là chính với nhiều kiểu khác nhau như Admin websit, diễn đàn, fanpage, blog, Admin facebook, Admin máy tính Hoặc trong kinh doanh có Sale Admin tức là trợ lý kinh doanh, Khách hàng
Khách hàng (customer là gì) là những cá nhân hay tổ chức mà doanh nghiệp đang nổ lực Marketing hướng tới Họ là người ra quyết định mua sắm Khách hàng là đối tượng thửa hưởng những đặc tính chất lượng của sản phẩm – dịch vụ.
CÁC YÊU CẦU GIAO TIẾP BÊN NGOÀI
Câu hình Câu hình tối thiêu Câu hình đệ nghị
Hệ điều hành Tuy ý MS Windows(7, 8, 10)
Browser Google chorm, Cốc cốc Google chorm, Cốc cốc, …
- Để tương tác với hệ thống người dung cần sử dụng chuột và bàn phim để thực hiện các thao tác lựa chọn, di chuyển,điển thông tin (không yêu cần với các thiết bị cảm ứng)
- Khả năng vận hành chính xác của các thiết bị phần cứng phải được đảm bảo.
CÁC TÍNH NĂNG CHÍNH CỦA HỆ THỐNG
Tên yêu cầu Đăng nhập Đối tượng sử dụng Người dùng
Nội dung Cho phép tất cả các nhóm người dùng thực hiện đăng nhập vào hệ thống
Cách xử lý Bước 1: Người dùng nhập email và mật khẩu
Bước 2: Người dùng nhập vào nút đăng nhập Bước 3: Hệ thống kiểm tra dữ liệu nếu thành công hệ thống chuyển đến trang làm việc Nếu người dùng đăng nhập sai nội dung hệ thống sẽ gửi một thông báo cho người dùng
Kết quả Đăng nhập thành công hoặc thất bại
Tên yêu cầu Thoát Đối tượng sử dụng Người dùng
Tiền điều kiện Sau khi đăng nhập xong
Nội dung Cho phép tất cả các nhóm người dùng thực hiện đăng xuất ra khỏi hệ thống
Cách xử lý Bước 1: Người dùng cho phép vào đăng xuất
Bước 2: Hệ thống đăng xuất, nút dữ liệu tài khoản của người dùng trở thành nút đăng ký và người dùng sẽ còn lại ở trang làm việc
Kết quả Đăng xuất thành công và thất bại
Tên yêu cầu Đăng ký Đối tượng sử dụng Người dùng
Nội dung Cho phép người dùng là khách hàng thực hiện đăng ký tài khoản
Để đăng ký tài khoản trên trang web, khách hàng truy cập vào mục "Đăng ký" và nhập thông tin cá nhân bao gồm thông tin tài khoản (tài khoản, email, mật khẩu, xác nhận mật khẩu), thông tin cá nhân (tên, số điện thoại) và địa chỉ.
Bước 2: Người dùng nhân và nút Đăng ký
Bước 3: Hệ thống kiểm tra tính hợp lệ của dữ liệu nhập vào, nếu chưa đúng hệ thống sẽ hiển thông báo tương ứng và hướng dẫn làm lại Nếu đúng, dữ liệu sẽ được lưu vào cơ sở dữ liệu và thông báo tạo tài khoản thành công đồng thời điều hướng về trang chủ của website và vào thành tài khoản vừa đăng ký
Kết quả Đăng ký và kính hoặc tài khoản thành công hoặc thất bại
Tên yêu cầu Quản lý khách hàng Đối tượng sử dụng Admin
Tiền điều kiện Sau đăng nhập vào trang quản trị
Nội dung Admin có thể xem dữ liệu khách hàng, xóa, và xem lịch sử mua hàng
Cách xử lý Xem dữ liệu khách hàng
Bước 1: Hệ thống hiển thị tất cả Khách hàng từ CSDL
Xóa khách hàng Bước 2: Người dùng tìm một Khách hàng muốn xóa
Bước 3: Người dùng nhấp chọn Xóa để tiến hành xóa các Khách hàng đã chọn
Bước 4: Hệ thống hiển thị một thông báo Xác nhận xóa đến người dùng
Bước 5: Nếu người dùng tiếp tục nhấn nút Có thì hệ thống tiến hành xóa bỏ hoàn toàn các thông tin của các Khách hàng được chọn ra khỏi CSDL và thông báo “Xóa thành công" đến người dùng
Xem lịch sử mua hàng của khách hàng
Bước 1: Hệ thống hiển thị tất cả Khách hàng từ CSDL Bước 2: Người dùng chọn một khách hàng muốn xem lịch sử và nhấp vào nút Lịch sử tương ứng
Bước 3: Hệ thống truy vấn cơ sở dữ liệu và hiển thị toàn bộ quá trình giao dịch với từng khách hàng đến người dùng Lịch sử được hiển thị bao gồm: thông tin đơn hàng, tình trạng đơn hàng và thông tin tài khoản của khách hàng.
Kết quả Xem dữ liệu, xóa khách hàng và xem lịch sử của khách hàng thàng công và thất bại
Tên yêu cầu Quản lý sản phẩm Đối tượng sử dụng Admin
Tiền điều kiện Sau đăng nhập vào trang quản trị
Nội dung Cho phép người thực hiện các chức năng: Thêm mới, cập nhật, xóa sản phẩm, đơn vị tính, loại sản phẩm, nhóm thực phẩm, lộ hàng, nhà cung cấp
Cách xử lý Thêm Đơn vị tính
Bước 1: Admin nhấn nút “Thêm mới" trang Quản lý Đơn vị tính Bàng thêm mới Đơn vị tính hiện ra Admin lần lượt điền vào các trường thông tin về Đơn vị tính như: tên đơn vị tính, mô tả
Sau khi nhấn nút "Lưu", hệ thống kiểm tra dữ liệu nhập vào Nếu dữ liệu hợp lệ, hệ thống sẽ lưu dữ liệu vào cơ sở dữ liệu, tải vào danh mục Đơn vị tính và thông báo "Thêm thành công" Ngược lại, nếu dữ liệu chưa đúng, hệ thống sẽ hiển thị thông báo hướng dẫn nhập lại.
Quản lý Nhóm thực phẩm
- Thêm Nhóm thực phẩm Bước 1: Admin nhấn nút “Thêm mới” trang Quản lý sản Phẩm,
Bảng thêm mới sản phẩm hiện ra, Admin lần lượt điền vào các trường thông tin về sản phẩm như tên nhóm thực phẩm, mô tả, ảnh minh họa
Bước 2: Admin nhấn nút “Lưu” để kết thúc Hệ thống sẽ kiểm tra tính hợp lệ của dữ liệu nhập vào, nếu chưa đủng hệ thống sẽ hiển thông báo và hướng dẫn nhập lại Nếu đúng, dữ liệu được lưu vào cơ sở dữ liệu đồng thời tải vào mục danh mục nhóm thực
34 phẩm trên website vào trang Quản lý sản phẩm đồng thời thông báo “Thêm thành công”
- Chỉnh sửa Nhóm thực phẩm
Bước 1: Admin chọn nút “Chỉnh sửa" Bảng chỉnh sửa thông tin sản phẩm hiện lên Admin tiến hành chỉnh sửa
Bước 2: Admin nhấn nút “Lưu” để kết thúc Hệ thống sẽ kiểm tra tính hợp lệ của dữ liệu nhập vào, nếu chưa đúng hệ thống sẽ hiển thông báo và giữ nguyên các dữ liệu ban đầu Nếu đúng, dữ liệu được lưu vào cơ sở dữ liệu đồng thời tải vào mục danh mục nhóm thực phẩm trên website và trang Quản lý nhóm thực phẩm đồng thời thông báo “Cập nhật thành công”
- Xóa Nhóm thực phẩm Bước 1: Admin cần xóa và chọn nút “Xóa” Hộp thoại xác nhận việc xóa hiện lên
Bước 2: Nếu người dùng tiếp tục nhấn nút Có thì hệ thống tiến hành xóa bỏ hoàn toàn các thông tin của nhốm thực phẩm bị xóa ra khỏi CSDL và thông báo "Xóa thành công” đến người dùng Nếu Admin không muốn nhóm thực phẩm viết thì chọn
“Không” Hệ thông sẽ không thực hiện việc xóa và trở mục Quản lý nhóm thực phẩm
Bước 1: Admin nhấn nút “Thêm mới” trang Quản lý sản phẩm Bàng thêm mới sản phẩm hiện ra Admin lần lượt điền vào các trường thông tin về sản phẩm như: mã sàn phẩm, tên sản phẩm, giá sản phẩm, loại sản phẩm, mô tả, hình ảnh
Bước 2: Admin nhấn nút “Lưu” để kết thúc Hệ thống sẽ kiểm tra tính hợp lệ của dữ liệu nhập vào, nếu chưa đúng hệ thống sẽ hiển thông báo và hướng dẫn nhập lại Nếu đúng, dữ liệu được
35 lưu vào cơ sở dữ liệu đồng thời tải vào mục danh mục sản phẩm trên website vào trang Quản lý sản phẩm đồng thời thông báo
Bước 1: Admin tìm sản phẩm cần chỉnh sửa và chọn nút “Chỉnh sửa " Bảng chỉnh sửa thông tin sản phẩm hiện lên Admin tiến hành chỉnh sửa
Bước 2: Admin nhấn nút “Lưu” để kết thúc Hệ thống sẽ kiểm tra tính hợp lệ của dữ liệu nhập vào, nếu chưa đúng hệ thống sẽ hiển thông báo và giữ nguyên các dữ liệu ban đầu Nếu đúng, dữ liệu được lưu vào cơ sở dữ liệu đồng thời tải vào mục danh mục sản phẩm trên website và trang Quản lý sản phẩm đồng thời thông báo “Cập nhật thành công
Bước 1: Admin tìm sản phẩm cần xóa và chọn nút “Xóa” Hộp thoại xác nhận việc xóa hiện lên
PHẦN TÍCH HỆ THỐNG THEO HƯỚNG ĐỐI TƯỢNG
Hình 2.1 Sơ đồ use case của hệ thống
- Mô tả chu trình sống của các đối tượng chính từ khi sinh ra hoạt động và mất đi
- Mỗi đối tượng có thể có nhiều sơ đồ trạng thái theo các góc nhìn khác nhau
Hình2.2 Quản lý bán thực phẩm sạch
Hình 2.3 Sơ đồ trạng tháy đăng nhập
Hình 2.4 Trạng thái đăng ký
Hình 2.5 Trạng thái sản phẩm
Hình 2.6 Trạng thái đặt hàng
2.4.2 Mô tả sự phân rã
Hinh 2.9.User-case Khách hàng
THIẾT KẾ DỮ LIỆU
2.5.1 Thiết kế bảng dữ liệu
Hình 2.10: Mô hình dữ liệu quan hệ các bảng
XÂY DỤNG WEBSITE
GIAO DIỆN PHÍA QUẢN TRỊ
3.1.1 Giao diện trang quản trị
3.1.2 Giao diện trang đăng nhập
3.1.3 Giao diện quản lý sản phẩm
3.1.4 Giao diện quản lý đơn hàng
GIAO DIỆN PHÍA KHÁCH HÀNG
3.2.2 Giao diện đăng nhập trang người dụng
3.2.3 Giao diện trang đăng ký tài khoản
3.2.4 Giao diện trang sản phẩm