Mở Đầu 2. Laravel PHP framework PHP là viết tắt của từ Hypertext Preprocessor. Ngôn ngữ này được phát triển từ năm 1994 và cho đến nay đã được nhiều người sử dụng để phát triển các ứng dụng phần mềm thông qua lập trình web. Đặc điểm của ngôn ngữ lập trình này là sử dụng mã nguồn mở, dễ dàng nhúng vào HTML và tích hợp với web.
Laravel là một PHP framework, có mã nguồn mở và miễn phí, được xây dựng nhằm hỗ trợ phát triển các phần mềm, ứng dụng, theo kiến trúc MVC. Laravel giúp 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, Laravel giúp tăng tốc quá trình phát triển ứng dụng, 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.
Ưu điểm của Laravel Framework: - Nhiều nguồn tài liệu tham khảo. - Tốc độ xử lý nhanh. - Dễ sử dụng. - Tính bảo mật cao.
Nhược điểm của Laravel Framework: - Vì là một framework của php nên Laravel cũng kế thừa nhiều nhược điểm cố hữu của php như hạn chế về cấu trúc ngữ pháp, chỉ sử dụng được trong các hệ thống có quy mô không quá lớn, … Báo Cáo Khóa Luận Tốt Nghiệp Trang | 8 Chương 1: Mở Đầu 3. Mô hình MVC MVC (viết tắt của Model-View-Controller) là một mô hình kiến trúc phần mềm được sử dụng trong việc phát triển phầm mềm. MVC chia một ứng dụng thành ba phần tương tác được với nhau để tách biệt giữa cách thức mà thông tin được xử lý phía server và phần thông tin được trình bày và tiếp nhận từ phía người dùng. Trong đó: - Model (M): là bộ phận có chức năng lưu trữ toàn bộ dữ liệu của ứng dụng.
Bộ phận này là một cầu nối giữa 2 thành phần bên dưới là View và Controller. Model thể hiện dưới hình thức là một cơ sở dữ liệu hoặc có khi chỉ đơn giản là một file XML bình thường. - View (V): là phần giao diện dành cho người sử dụng. View chỉ có chức năng ghi nhận và chuyển tiếp các hành động của người dùng trên trang web cho controller và nhận các dữ liệu từ controller gửi về để hiển thị cho người dùng.
- Controller (C): là bộ phận có nhiệm vụ xử lý các yêu cầu người dùng đưa đến thông qua view. Từ đó, C đưa ra dữ liệu phù hợp với người dùng. Bên cạnh đó, Controller còn có chức năng kết nối với model. Một số package của Laravel được sử dụng trong đồ án - barryvdh/laravel-debugbar: Hỗ trợ trong việc debug khi code, được tích hợp thẳng vào giao diện trang web khi chạy.
- laravel/socialite: Hỗ trợ việc tích hợp các chức năng đăng nhập thông qua các tài khoản mạng xã hội như Facebook hoặc Google. - nwidart/laravel-module: Hỗ trợ tạo riên từng module cho source code giúp việc quản lý các chức năng của từng actor dể dàng hơn. - bumbummen99/shoppingcart: Hỗ trợ việc tạo ra chức năng giỏ hàng. Báo Cáo Khóa Luận Tốt Nghiệp Trang | 9 Chương 1: Mở Đầu 5.
Cơ sở dữ liệu MySQL MySQL là hệ quản trị dữ liệu miễn phí, được tích hợp sử dụng chung với Apache, PHP. Vì được phát triển trong cộng đồng mã nguồn mở nên MySQL đã qua rất nhiều sự hỗ trợ của những lập trình viên yêu thích mã nguồn mở. MySQL cũng có cùng một cách truy xuất và mã lệnh tương tự với ngôn ngữ SQL, nhưng MySQL không bao quát toàn bộ những câu truy vấn cao cấp như SQL. Về bản chất MySQL chỉ đáp ứng việc truy xuất đơn giản trong quá trình vận hành của website nhưng có thể giải quyết hầu hết các bài toán trong PHP.
MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, 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. Các ưu điểm của MySQL có thể kể đến như: • MySQL miễn phí vì là mã nguồn mở. • MySQL sử dụng một Form chuẩn của ngôn ngữ dữ liệu nổi tiếng là SQL. • MySQL làm việc được trên nhiều hệ điều hành và với nhiều ngôn ngữ như PHP, PERL, C, C++, Java, … • MySQL hoạt động nhanh với các tập dữ liệu lớn.
• MySQL hỗ trợ các cơ sở dữ liệu lớn, lên tới 50 triệu hàng hoặc nhiều hơn trong một bảng. Kích cỡ file mặc định được giới hạn cho một bảng là 4 GB (Gigabyte), nhưng kích cỡ này có thể được nới rộng (nếu hệ điều hành có khả năng xử lý) để đạt tới giới hạn về mặt lý thuyết là 8 TB (Terabyte). • MySQL có khả năng điều chỉnh theo ý muốn. Giấy phép GPL mã nguồn mở cho phép lập trình viên sửa đổi phần mềm MySQL để phù hợp với môi trường cụ thể của họ.
Báo Cáo Khóa Luận Tốt Nghiệp Trang | 10 Chương 2: Khảo Sát Hiện Trạng Và Xác Định Yêu Cầu CHƯƠNG 3: KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU 1. Khảo sát hiện trạng 1. Gearvn Địa chỉ trang chủ: gearvn.1 Giao diện trang chủ GearVN Điểm mạnh: - Giao diện trực quan, khi nhìn vào có thể thấy ngay menu danh mục được hiển thị thẳng ra, giúp người sử dụng có cái nhìn tổng quan về các sản phẩm đang được bán. - Có một chuyên mục riêng để chứa các thông tin khuyến mãi của shop.
- Tổng hợp các chức năng người dùng hay tìm kiếm vào thẳng trang chủ để tiết kiệm thời gian cho người sử dụng. Điểm yếu: - Không có chức năng thay đổi thông tin cá nhân của người dùng. - Không có chức năng đăng nhập qua tài k hoản google hay facebook. Báo Cáo Khóa Luận Tốt Nghiệp Trang | 11 Chương 2: Khảo Sát Hiện Trạng Và Xác Định Yêu Cầu 1.
AnphatPC Địa chỉ trang chủ: anphatpc.2 Giao diện trang chủ AnphatPC Điểm mạnh: - Giao diện trực quan, khi nhìn vào có thể thấy ngay menu danh mục 1 bên, có cái nhìn tổng quan về các sản phẩm đang được bán. - Có dòng địa chỉ chạy trên thanh điều hướng giúp người sử dụng nhìn thấy vị trí cửa hàng tiện hơn so với việc phải kéo xuống footer để tìm. - Có chức năng lưu lại những sản phẩm đã xem trước đó của khách hàng. - Có chức năng xây dựng cấu hình PC dựa theo các sản phẩm trong cửa hàng.
- Bộ lọc sản phẩm được thiết kế tốt khi dựa trên nhiều tiêu chí để lọc sản phầm. Điểm yếu: - Thanh menu danh mục che mất 1 phần banner quảng cáo. - Mục chat với quản trị viên bị để tự động bung ra chiếm không gian nhìn. Báo Cáo Khóa Luận Tốt Nghiệp Trang | 12 Chương 2: Khảo Sát Hiện Trạng Và Xác Định Yêu Cầu 1.
Phong Vũ Địa chỉ trang chủ: phongvu.3 Giao diện trang chủ Phongvu Điểm mạnh: - Giao diện trực quan, khi nhìn vào có thể thấy ngay menu danh mục 1 bên, có cái nhìn tổng quan về các sản phẩm đang được bán. - Số điện thoại tư vấn và chăm sóc khách hàng đều được đặt trên thanh navbar. - Có chức năng xây dựng cấu hình PC dựa theo các sản phẩm trong cửa hàng. - Các banner được thiết kế gọn gàng để tránh rối mắt.
- Bộ lọc sản phẩm được thiết kế tốt khi dựa trên nhiều tiêu chí để lọc sản phầm. - Có một chuyên mục riêng để chứa các thông tin khuyến mãi của shop. - Có sắp xếp một danh sách riêng các thương hiệu nổi bật. Điểm yếu: - Bán quá nhiều thứ khác không chỉ chuyên về các sản phẩm về máy tính.
Cấu trúc ứng dụng Thông qua các khảo sát của các trang web khác có cùng chức năng thì nhóm thực hiện đồ án sẽ xây dựng một website có cấu trúc như sau: Báo Cáo Khóa Luận Tốt Nghiệp Trang | 13 Chương 2: Khảo Sát Hiện Trạng Và Xác Định Yêu Cầu - Bốn nhóm người dùng chính: o Guest. o Khách hàng có tài khoản. o Chủ cửa hàng. - Chức năng của từng bộ phận: Báo Cáo Khóa Luận Tốt Nghiệp Trang | 14 Chương 2: Khảo Sát Hiện Trạng Và Xác Định Yêu Cầu Bảng 3.1 Cấu trúc các chức năng của các nhóm người dùng Actor Chức Năng Guest Tìm kiếm thông tin Xem danh sách sản phẩm Xem thông tin chi tiết sản phẩm Các chức năng của giỏ hàng Đăng ký Khách hàng có tài khoản Tìm kiếm thông tin Xem danh sách sản phẩm Xem thông tin chi tiết sản phẩm Các chức năng của giỏ hàng Đăng ký Đăng nhập Đăng xuất Đặt mua hàng Xem danh sách đơn hàng Xem thông tin đơn hàng Đánh giá sản phẩm Chỉnh sửa thông tin cá nhân Nhân viên Đăng nhập Đăng xuất Quản lý banner quảng cáo Quản lý tài khoản khách hàng Quản lý đơn hàng Quản lý sản phẩm Quản lý bài viết Quản lý danh mục Báo Cáo Khóa Luận Tốt Nghiệp Trang | 15 Chương 2: Khảo Sát Hiện Trạng Và Xác Định Yêu Cầu Xem thống kê bán hàng Chủ cửa hàng Đăng nhập Đăng xuất Quản lý banner quảng cáo Quản lý tài khoản khách hàng Quản lý đơn hàng Quản lý sản phẩm Quản lý bài viết Quản lý danh mục Xem thống kê bán hàng Quản lý nhân viên Báo Cáo Khóa Luận Tốt Nghiệp Trang | 16 Chương 2: Khảo Sát Hiện Trạng Và Xác Định Yêu Cầu 3.
Qui định và yêu cầu thiết kế 3. Quy định Khách hàng phải được cung cấp đầy đủ các dụng cụ để có thể có được trải nghiệm mua sắm tốt nhất và không bị gò bó. Admin phải quản lý được tất cả các thành phần chính trên website mà không phải phụ thuộc quá nhiều vào lập trình viên. Yêu cầu thiết kế - Phân quyền ở cả back-end và front-end.
- Giao diện trang chủ. - Hiển thị đầy đủ thông tin, các chức năng bố trí phù hợp. - Có các danh mục và search engine để dễ dàng tìm kiếm. - Có chức năng giỏ hàng.
- Có chức năng đăng nhập bằng google +. - Thể hiện các thông tin thiết yếu của sản phẩm khi xuất hiện. - Hệ thống gồm các actor chính: Admin, khách hàng, chủ cửa hàng. - Nhân viên là những người trực tiếp quản lý website, có quyền thêm, sửa và xóa các thông tin trong database.
- Người chủ cửa hàng là người có quyền trực tiếp thêm hoặc xóa tài khoản nhân viên. Báo Cáo Khóa Luận Tốt Nghiệp Trang | 17 Chương 2: Khảo Sát Hiện Trạng Và Xác Định Yêu Cầu 4. Đánh giá và lựa chọn công nghệ - Lưu trữ dữ liệu: MySQL vì có khả năng hoạt động với độ ổn định cao, dễ sử dụng, chạy được trên nhiều hệ điều hành và cung cấp một hệ thống các hàm tiện ích rất thuận lợi, độ bảo mật cao, và khả năng mở rộng mạnh mẽ.