PHẦN MỞ ĐẦU - Đăng nhập, đăng kí, đăng xuất tài khoản. - Tìm kiếm sản phẩm. - Phân loại các sản phẩm theo loại, theo giá (từ cao đến thấp hoặc ngược lại). - Gửi bình luận về sản phẩm.
- Gửi thắc mắc cho cửa hàng. - Xem thông tin cá nhân, thay đổi thông tin tài khoản. - Xem danh sách sản phẩm, sản phẩm khuyến mãi, sản phẩm mới. - Xem tin tức, các thông tin liên hệ, chính sách kinh doanh của cửa hàng.
- Chat online với cửa hàng thông qua chatbox hoặc Zalo hoặc Facebook. - Có thể chia sẻ sản phẩm qua Facebook. - Quản lý sản phẩm: thêm sản phẩm, xóa sản phẩm, sửa giá sản phẩm. - Quản lý tài khoản: phân quyền người dùng, xóa tài khoản, xem thông tin tài khoản.
- Quản lý đơn hàng: xem danh sách đơn hàng, duyệt đơn hàng, hủy đơn hàng. CÁCH TIẾP CẬN VÀ PHƯƠNG PHÁP NGHIÊN CỨU 3. Đối tượng nghiên cứu Công nghệ laravel, xây dựng website bán mỹ phẩm sử dụng ngôn ngữ PHP 3. Phạm vi nghiên cứu Tổng quan về công nghệ laravel php framework, kiến trúc, các tính năng và các trang web cơ bản được xây dựng từ laravel php framework.
Xây dựng webstie bán mỹ phẩm từ laravel php framework với những kiến thức đã tìm hiểu. Phương pháp nghiên cứu - Phương pháp tổng hợp lý thuyết: Nghiên cứu và tìm hiểu các tài liệu lý thuyết, các trang web có liên quan đến các công nghệ đang tìm hiểu. - Phương pháp chuyên gia: Tham khảo ý kiến của Thầy hướng dẫn cùng các anh, chị khóa trước và các bạn bè đang cùng thực hiện khóa luận có sử dụng cùng ngôn ngữ. - Phương pháp mô hình hóa: Hoàn thành website bán mỹ phẩm từ việc xác định các yêu cầu.
3 do an PHẦN MỞ ĐẦU 4. PHÂN TÍCH CÁC WEBSITE CÓ LIÊN QUAN Hầu hết các trang web bán hàng nói chung hiện nay bán đa dạng sản phẩm từ văn phòng phẩm, quần áo, đồ nội thất, đồ nhà bếp, mỹ phẩm, đồ chơi cho bé,… đến các trang web chỉ bán một loại sản phẩm duy nhất là mỹ phẩm với giao diện đẹp thu hút người dùng, tốc độ xử lý nhanh, thao tác đơn giản ai cũng có thể sử dụng được. Tuy nhiên vẫn còn tồn tại một số trang web bán hàng đặc biệt là bán mỹ phẩm còn nhiều nhược điểm: - Màu sắc không hài hòa gây nhứt mắt cho người dùng. - Bố cục các phần của trang web chưa hợp lý - Tốc độ xử lý chậm, cập nhật sản phẩm mới chậm.
- Thông tin về sản phẩm chưa rõ rãng. - Hình ảnh sản phẩm trên trang web không rõ nét hoặc khác xa với sản phẩm thực tế. DỰ KIẾN KẾT QUẢ ĐẠT ĐƯỢC Hoàn thành website bán mỹ phẩm với: - Giao diện đẹp mắt, thao tác đơn giản, dễ dàng sử dụng. - Tốc độ xử lý nhanh và ổn định.
- Xây dựng đầy đủ các chức năng của một website bán hàng dễ dàng cho việc bán hàng và quản lý các thông tin có liên quan: thông tin sản phẩm, người dùng, đơn hàng, … 6. Ý NGHĨA KHOA HỌC THỰC TIỄN Đề tài hướng đến là tạo ra một website giúp mọi người có thể mua các sản phẩm làm đẹp cho phái nữ một cách thuận tiện dễ dàng và tiết kiệm thời gian hơn. Giúp sinh viên hiểu thêm về công nghệ, bổ sung kiến thức để phát triển hơn. Rèn luyện kỹ năng phân tích và thiết kế dự án.
Phát huy tính sáng tạo và khả năng làm việc nhóm. 4 do an PHẦN NỘI DUNG PHẦN NỘI DUNG 5 do an CHƯƠNG 1: CƠ SỞ LÝ THUYẾT CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1. TÌM HIỂU VỀ LARAVEL 1. Giới thiệu 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ào năm 2011 và nhắm vào mục tiêu hỗ trợ phát triển các ứng dụng web theo kiến trúc model-view-controller (MVC).
Những tính năng nổi bật của Laravel bao gồm cú pháp dễ hiểu – rõ ràng, một hệ thống đóng gói modular và quản lý gói phụ thuộc, nhiều cách khác nhau để truy cập vào các cơ sở dữ liệu quan hệ, nhiều tiện ích khác nhau hỗ trợ việc triển khai vào bảo trì ứng dụng. Vào khoảng tháng 3 năm 2015, các lập trình viên đã có một cuộc bình chọn PHP framework phổ biến nhất, Laravel đã giành vị trí quán quân cho PHP framework phổ biến nhất năm 2015, theo sau lần lượt Symfony2, Nette, CodeIgniter, Yii2 và một số khác. Trước đó, tháng 8 2014, Laravel đã trở thành dự án PHP phổ biến nhất và được theo dõi nhiều nhất trên Github. Laravel được phát hành theo giầy phép MIT, với source code được lưu trữ tại Githz.
Ưu điểm của Laravel PHP Framework • Tốc độ xử lý nhanh • Mã nguồn mở • Tổ chức tập tin và cấu trúc mã lệnh rõ ràng. • Hệ thống thư viện và công cụ phong phú. • Xác nhận biểu mẫu (Form Validation). • Mã lệnh ít hơn, nhưng làm được nhiều việc hơn.
• Mô hình MVC rõ ràng, dễ bảo trì. • Thích hợp làm việc nhóm và phân chia công việc. • Chức năng hỗ trợ bảo mật, xác thực dữ liệu, SQL Injection,. • Hệ thống giao diện phong phú, thư viện form helper giúp xây dựng biểu mẫu nhanh chóng và bảo mật.
• Hỗ trợ đường dẫn thân thiện (Friendly Url). • Bảo mật session, cookie, … • Cộng đồng người dùng rộng lớn 1. Cấu trúc thư mục và luồng xử lý trong laravel 6 do an CHƯƠNG 1: CƠ SỞ LÝ THUYẾT • Thư mục chính: - App: chứa mã cốt lỗi của ứng dụng, ta dùng nhiều tới thư mục này. - Boostrap: chứa các tiệp tin khởi động và cấu hình tự động chạy.
- Config: chứa tất cả các tệp cấu hình của hệ thống. - Database: nơi chúng ta cấu hình các bộ dữ liệu mẫu: migrate, seed. - Public: nơi lưu trữ thư viện CSS, Javascript, các hình ảnh. Chứa tệp index.
- Resources: chứa views, các tệp ngôn ngữ. - Routes: chứa tất cả các route của hệ thống. • Luồng xử lý: Đầu tiên người dùng yêu cầu 1 đường dẫn sang phía route, route trả về controller, controller sẽ xử lý các yêu cầu đó, nếu yêu cầu dữ liệu thì sẽ phải thông qua Model để truy xuất đến cơ sở dữ liệu, sau khi truy xuất dữ liệu model trả về cho controller, controller đưa dữ liệu về cho view, view xuất dữ liệu ra màn hình cho người dùng xem. Thành phần cơ bản trong laravel 1.
Route trong Laravel Mục đích chính của route là định tuyến đến những controller cụ thể nào đó từ phía yêu cầu của người sử dụng. Đối với những Framework khác thì khi muốn thực hiện một công việc nào đó thường sẽ cần xây dựng một controller để xử lý, nhưng trong Laravel thì hoàn toàn có thể xử lý dữ liệu ngay trong phần Route. Đây chính là điểm mạnh cũng như điểm khác biệt lớn của Laravel đối với các Framwork khác. • Cấu trúc Route: - Các định tuyến trong Laravel đều được viết trong routes/web.
- Cú pháp: Route: method (‘URI’,’function call back’) Trong đó: o URI là dạng link trên url. o Function call back: hàm sẽ gọi tới link URI phía trên. o Method: các dạng phương thức cơ bản post, get, put, delete, any. o Các method: o POST Route: các thao tác lấy từ biểu mẫu (form) như thêm dữ liệu.
7 do an CHƯƠNG 1: CƠ SỞ LÝ THUYẾT - GET Route: dành cho các thao tác truy cập thông thường tương đương với yêu cầu cơ bản trong PHP. Ví dụ chạy 1 đường dẫn trên URL. - PUT Route: dành cho các thao tác lấy từ biểu mẫu nhưng là cập nhật dữ liệu. - DELETE Route: dành cho thao tác xóa dữ liệu - ANY Route: là sự tổng hợp các thao tác ở trên.
- Trong đó POST và GET được sử dụng nhiều nhất. • Truyền tham số trên Route: Trong đó, {ten} là giá trị do người dùng nhập trên liên kết của URL hoặc do nhà phát triển định sẵn. Đặt điều kiện cho tham số với phương thức where (): • Định danh cho Route: - Cách 1: Khai báo ‘as’=>’tên route’ trong tham số như sau: - Cách 2: cách này khá ngắn gọn và dễ dùng: thêm name (‘tên route’) ở cuối. • Muốn gọi route bằng tên đã đặt, sử dụng route (‘tên route’): 8 do an CHƯƠNG 1: CƠ SỞ LÝ THUYẾT • Nhóm Route: 1.
Laravel Model Hình 1. Mô hình tương tác Model và Cơ sở dữ liệu Model là một lớp dữ liệu có cấu trúc giống với bảng trong cơ sở dữ liệu, dùnđể xử lý dữ liệu vào ra trong bảng. • Tạo model Các Model sẽ được lưu tại mục App/ Thực hiện: 9 do an CHƯƠNG 1: CƠ SỞ LÝ THUYẾT - Tạo một Model: khởi động Command Prompt (cmp) và trỏ về thư mục gốc của dự án, dõ lệnh sau để tạo model: - Tạo một Model và migrate tương ứng với nó - Kết nối với Model tới bảng trong cơ sở dữ liệu - Một số phương thức hay sử dụng trong Model 1. Laravel Controller • Cấu trúc Controller - Các Controller sẽ được lưu lại app/Http/Controllers, nội dung của một Controller sẽ có dạng: • Tạo Controller Tạo Controller với cmd bằng câu lệnh: Php artisanmake: controller MyController • Gọi Controller từ Route 10 do an CHƯƠNG 1: CƠ SỞ LÝ THUYẾT - Để gọi một Controller, phải thông qua Route bằng cách khai báo như sau: • Gửi nhận dữ liệu từ Route sang Controller 1.
Laravel View (Master Template) • Laravel View 11 do an CHƯƠNG 1: CƠ SỞ LÝ THUYẾT Hình 2. Liên kết Route, Controller và View trong Laravel Giả sử truyền lên trình duyệt một dường dẫn, trình duyệt sẽ gửi lên router, Router chuyển sang Controller, sau khi Controller xử lý xong, sẽ gọi tệp tin index.php, đây chính là view. Tập tin này chứa các mã nguồn HTML, CSS, hoặc các dữ liệu mà nhà phát triển ứng dụng muốn hiển thị lên màn hình rồi trả về trình duyệt hiển thị cho người dùng xem. • Truyền tham số sang view 12 do an CHƯƠNG 1: CƠ SỞ LÝ THUYẾT • Master template Hình 3.
Hoạt động của Master Template trong Laravel Luồng xử lý dữ liệu tương tự như ở View ở trên. Trong View có tệp master.php, tệp này chứa giao diện chung của hệ thống, @section định nghĩa phần nội dung còn @yield sử dụng để hiển thị nội dung mà section đem lại. Các view sẽ kế thừa blade template này bằng cách sử dụng lệnh extends. Muốn sử dụng Blade Template thì tên tệp phải có chứa .blade đằng trước.
TÌM HIỂU VỀ SOCKET.io là gì? Là một module của NodeJs. Để xây dựng một ứng dụng realtime cần sử dụng socketio. Socketio sẽ giúp các bên ở những địa điểm khác nhau kết nối với nhau, truyền dữ liệu ngay lập tức thông qua server trung gian.