Đồ án Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng

pdf 88 trang huongle 1990
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfdo_an_tim_hieu_phan_mem_nguon_mo_nuke_viet_va_ung_dung.pdf

Nội dung text: Đồ án Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng

  1. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG o0o ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ THÔNG TIN HẢI PHÒNG 2013
  2. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG o0o TÌM HIỂU PHẦN MỀM NGUỒN MỞ NUKE VIET VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ Thông tin HẢI PHÒNG - 2013
  3. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG o0o TÌM HIỂU PHẦN MỀM NGUỒN MỞ NUKE VIET VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ Thông tin Sinh viên thực hiện: Phạm Văn Quân Giáo viên hƣớng dẫn: ThS Vũ Anh Hùng Mã số sinh viên: 1351010040 HẢI PHÒNG - 2013
  4. BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HÒA XA HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG Độc lập - Tự do - Hạnh phúc o0o NHIỆM VỤ THIẾT KẾ TỐT NGHIỆP Sinh viên: Phạm Văn Quân Mã SV: 1351010040 Lớp: CT1301 Ngành: Công nghệ Thông tin Tên đề tài: Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng.
  5. NHIỆM VỤ ĐỀ TÀI 1. Nội dung và các yêu cầu cần giải quyết trong nhiệm vụ đề tài tốt nghiệp a. Nội dung - Biết được mã nguồn mở là gì,tìm hiểu các mã nguồn mở hiện có,đặc biệt là tìm hiểu kĩ về mã nguồn mở NukeViet. - Tổng hợp các tài liệu tham khảo có liên quan đến nội dung khóa luận. - Thực hiện cài đặt,cấu hình và chạy được mã nguồn mở NukeViet. - Từ đó ứng dụng bài toán đưa vào xây dựng lên một website hoàn chỉnh trên NukeViet. b. Các yêu cầu cần giải quyết Các phần mềm cần thiết để xây dựng - Web Server: Xampp - Bộ mã nguồn NukeViet
  6. CÁN BỘ HƢỚNG DẪN ĐỀ TÀI TỐT NGHIỆP Ngƣời hƣớng dẫn thứ nhất: Họ và tên: Vũ Anh Hùng Học hàm, học vị: Thạc Sĩ Cơ quan công tác: Trường Đại Học Dân Lập Hải Phòng Nội dung hướng dẫn: Ngƣời hƣớng dẫn thứ hai: Họ và tên: . Học hàm, học vị: . Cơ quan công tác: Nội dung hướng dẫn: Đề tài tốt nghiệp được giao ngày tháng năm 2013 Yêu cầu phải hoàn thành trước ngày tháng năm 2013 Đã nhận nhiệm vụ: Đ.T.T.N Đã nhận nhiệm vụ: Đ.T.T.N Sinh viên Cán bộ hướng dẫn Đ.T.T.N ThS Vũ Anh Hùng Hải Phòng, ngày tháng năm 2013 HIỆU TRƯỞNG GS.TS.NGƢT Trần Hữu Nghị
  7. PHẦN NHẬN XÉT TÓM TẮT CỦA CÁN BỘ HƢỚNG DẪN 1. Tinh thần thái độ của sinh viên trong quá trình làm đề tài tốt nghiệp: 2. Đánh giá chất lượng của đề tài tốt nghiệp (so với nội dung yêu cầu đã đề ra trong nhiệm vụ đề tài tốt nghiệp) 3. Cho điểm của cán bộ hướng dẫn: ( Điểm ghi bằng số và chữ ) Ngày tháng năm 2013 Cán bộ hướng dẫn chính ( Ký, ghi rõ họ tên )
  8. PHẦN NHẬN XÉT ĐÁNH GIÁ CỦA CÁN BỘ CHẤM PHẢN BIỆN ĐỀ TÀI TỐT NGHIỆP 1. Đánh giá chất lƣợng đề tài tốt nghiệp (về các mặt nhƣ cơ sở lý luận, thuyết minh chƣơng trình, giá trị thực tế, ) 2. Cho điểm của cán bộ phản biện ( Điểm ghi bằng số và chữ ) Ngày tháng năm 2013 Cán bộ chấm phản biện ( Ký, ghi rõ họ tên )
  9. LỜI CẢM ƠN Trước hết em xin chân thành cám ơn các thầy giáo, cô giáo Khoa Công nghệ thông tin Trường Đại học Dân lập Hải Phòng, những người đã dạy dỗ, trang bị cho chúng em những kiến thức cơ bản, cần thiết trong những năm học vừa qua để em có đủ điều kiện hoàn thành đề tài tốt nghiệp của mình. Đặc biệt em xin bày tỏ lòng biết ơn sâu sắc nhất tới thầy giáo Ths. Vũ Anh Hùng, người đã hướng dẫn, chỉ bảo tận tình trong suốt thời gian làm đề tài tốt nghiệp. Chúng con xin gởi đến cha mẹ lời ghi ơn sâu sắc, những người đã sinh ra và dạy bảo chúng con trưởng thành đến ngày hôm nay. Mặc dù đã hết sức cố gắng để hoàn thiện báo cáo tốt nghiệp song do khả năng còn hạn chế nên bài báo cáo vẫn còn nhiều thiếu sót. Vì vậy em rất mong nhận được những đóng góp chân tình của các thầy cô và bạn bè. Một lần nữa em xin chân thành cảm ơn! Hải Phòng, Ngày 7 tháng 7 năm 2013. Sinh viên Phạm Văn Quân
  10. MỤC LỤC LỜI MỞ ĐẦU 1 CHƢƠNG I. GIỚI THIỆU VỀ PHẦN MỀM NGUỒN MỞ 2 1.1. Khái niệm Opensource (nguồn mở). 2 1.2. Phân loại phần mềm nguồn mở 3 1.3. Lợi ích của phần mềm nguồn mở đối với ngƣời sử dụng. 4 1.4. Giới thiệu về một số loại phần mềm nguồn mở thƣờng gặp. 4 CHƢƠNG II. PHẦN MỀM NGUỒN MỞ NUKEVIET 6 2.1. Giới thiệu về phần mềm nguồn mở NukeViet. 6 2.1.1. Nukeviet là gì? 6 2.1.2 Lịch sử phát triển của Nukeviet. 6 2.1.3 Ứng dụng của Nukeviet. 8 2.1.4. Ưu nhược điểm của Nukeviet. 9 2.1.4.1 Ưu điểm của Nukeviet. 9 2.1.4.2 Nhược điểm của Nukeviet. 9 2.1.5.Các phiên bản của Nukeviet. 10 2.1.6. Cấu trúc NukeViet 3. 10 2.1.7. Các khái niệm cơ bản. 12 2.1.8. Các website ứng dụng Nukeviet. 16 2.2. Cách thức cài đặt NukeViet. 17 2.2.1 Cài đặt WebServer Xampp để chạy Nukeviet. 17 2.2.1.1. Các phần mềm yêu cầu. 17 2.2.1.2. Các bước tiến hành cài đặt. 17 2.2.2. Cài đặt NukeViet. 21 2.3. Cấu trúc của gói cài đặt Module. 28 2.4. Viết nội dung cho Module. 33 2.5. Cách đƣa Module tích hợp vào Nukeviet. 34 CHƢƠNG III. ỨNG DỤNG NUKEVIET ĐỂ XÂY DỰNG WEBSITE BÁN HÀNG CHO CỬA HÀNG MÁY TÍNH 2T 35 3.1. Hiện trạng của thƣơng mại điện tử. 35 3.2. Giới thiệu cơ bản về Công ty TNHH MÁY TÍNH 2T. 36 3.3. Giới thiệu cơ bản về trang web ứng dụng Nukeviet làm shop bán hàng. 37 3.3.1. Tiêu chí cho hệ thống. 37 3.3.2. Cài đặt module shop trong Nukeviet. 37 3.3.3.Phát triển Giao diện, Module, Block cho Shop Nukeviet. 48 3.3.3.1. Phát triển Giao diện (Theme) 48 3.3.3.2. Phát triển Block hỗ trợ trực tuyến. 56 3.3.3.3. Phát triển Block Popup quảng cáo khuyến mại. 58 3.3.4. Sử dụng Nukeviet Shop. 60
  11. 3.3.4.1. Hướng dẫn sử dụng trang quản trị. 60 3.3.4.2. Hướng dẫn sử dụng trang người dùng 69 KẾT LUẬN 73
  12. DANH MỤC HÌNH Hình 2.1.1: Mô hình cấu trúc hệ thống NukeViet 3.0 11 Hình 2.1.2: Ngôn ngữ giao diện 15 Hình 2.1.3: Ngôn ngữ data 15 Hình 2.2.1: Download xampp 17 Hình 2.2.2: Chọn ngôn ngữ cài đặt xampp 18 Hình 2.2.3: Cài đặt xampp 18 Hình 2.2.4: Chọn gói cài đặt 19 Hình 2.2.5: Nhấn Install để cài đặt 19 Hình 2.2.6: Quá trình cài đặt xampp 20 Hình 2.2.7: Kết thúc cài đặt 20 Hình 2.2.8: Vào control panel 21 Hình 2.2.9: Khởi động khung dịch vụ của xampp 21 Hình 2.2.10: Vào trang cơ sở dữ liệu 22 Hình 2.2.11: Tạo cơ sở dữ liệu 22 Hình 2.2.12: Chọn ngôn ngữ cài đặt 23 Hình 2.2.13: Kiểm tra điều kiện cài đặt 23 Hình 2.2.14: Thông báo bản quyền 24 Hình 2.2.15: Kiểm tra môi trường máy chủ 25 Hình 2.2.16 : Cấu hình cơ sở dữ liệu 26 Hình 2.2.17: Khai báo thông tin website 26 Hình 2.2.18: Thông báo cài đặt thành công 27 Hình 2.2.19: Giao diện trang chủ 27 Hình 2.2.20: Giao diện trang quản lí 28 Hình 2.3.1: Giao diện trang quản lý upload 29 Hình 2.3.2: Giao diện trang giới thiệu 29 Hình 2.3.3: Giao diện quản lý module Tin tức 30 Hình 2.3.4: Giao diện trang quản lý module tài khoản 31 Hình 2.3.5: Giao diện trang quản lý module liên hệ 31 Hình 2.3.6: Giao diện trang quản lý module liên hệ 32 Hình 2.3.7: Giao diện trang quản lý module quảng cáo 32 Hình 2.4.1: Bật kéo thả Block 33 Hình 2.4.2: Viết nội dung cho Block 34 Hình 3.3.1: Cài đặt module mới 38 Hình 3.3.2: Chọn tệp module dưới dạng zip 38 Hình 3.3.3: Kích hoạt gói module 39 Hình 3.3.4: Giao diện trang bán hàng khi cài module shop 39 Hình 3.3.5: Các bảng cơ sở dữ liệu của Nukeviet 40 Hình 3.3.6: Cơ sở dữ liệu của module shop 41 Hình 3.3.7: Các cột trong bảng block_cat 41
  13. Hình 3.3.8: Các cột trong bảng catalog 42 Hình 3.3.9: Các cột trong bảng comment 42 Hình 3.3.10: Các cột trong bảng money 43 Hình 3.3.11: Các cột trong bảng orders 44 Hình 3.3.12: Các cột trong bảng payment 44 Hình 3.3.13: Các cột trong bảng sources 45 Hình 3.3.14: Các cột trong bảng unit 45 Hình 3.3.15: Các cột trong bảng group 46 Hình 3.3.16: Các cột trong bảng rows 47 Hình 3.3.17: Mối liên hệ giữa các bảng trong CSDL 48 Hình 3.3.18: Thư mục chứa theme 49 Hình 3.3.19: Các thành phần của một theme 49 Hình 3.3.20: Thiết lập layout (default) 51 Hình 3.3.21: Thiết lập giao diện qua quản lý block 52 Hình 3.3.22: Thiết lập vị trí cho block 53 Hình 3.3.23: Giao diện trang quản lý 57 Hình 3.3.24: Thêm Block hỗ trợ trực tuyến 57 Hình 3.3.25: Thêm Block hỗ trợ trực tuyến 58 Hình 3.3.26: Giao diện hỗ trợ trực tuyến khi hoàn thành 58 Hình 3.3.27: Xử lý quảng cáo 59 Hình 3.3.28: Thư mục file popup 59 Hình 3.3.29: Popup quảng cáo 60 Hình 3.3.30: Hiển thị danh sách sản phẩm 61 Hình 3.3.31: Thêm loại sản phẩm 61 Hình 3.3.32: Thêm đơn vị sản phẩm. 62 Hình 3.3.33: Thêm sản phẩm 63 Hình 3.3.34: Quản lý nhóm sản phẩm 64 Hình 3.3.35: Block sản phẩm 65 Hình 3.3.36: Hãng sản phẩm 65 Hình 3.3.37: Quản lý bình luận 66 Hình 3.3.38: Đơn đặt hàng 66 Hình 3.3.39: Đơn vị tiền tệ 67 Hình 3.3.40: Tích hợp cổng thanh toán 67 Hình 3.3.41: Hướng dẫn thanh toán 68 Hình 3.3.42: Cấu hình Module 68 Hình 3.3.43: Đăng kí thành viên 69 Hình 3.3.44: Điền thông tin đăng kí thành viên 70 Hình 3.3.45: Đặt mua hàng 71 Hình 3.3.46: Vào giỏ hàng 71 Hình 3.3.47: Cập nhật giỏ hàng và đặt hàng 71
  14. Hình 3.3.48: Điền thông tin mua hàng 72 Hình 3.3.49: Phiếu hóa đơn mua hàng 72
  15. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng LỜI MỞ ĐẦU Phần mềm nguồn mở là phần mềm với mã nguồn được công bố và sử dụng một giấy phép nguồn mở. Giấy phép này cho phép bất cứ ai cũng có thể nghiên cứu, thay đổi và cải tiến phần mềm, phân phối phần mềm ở dạng chưa thay đổi hoặc đã thay đổi. Năm 1998, một nhóm người chủ trương rằng thuật ngữ phần mềm tự do nên được thay thế bằng phần mềm nguồn mở vì thuật ngữ này ít mơ hồ hơn và dễ sử dụng hơn cho giới doanh nghiệp. Hiện tại Phần mềm nguồn mở có nghĩa gần tương đương với mã nguồn mở nhưng với độ trừu tượng cao hơn. Ngày nay có rất nhiều dạng mở (không đóng) bao gồm: phần cứng, phầm mềm nguồn mở, tài liệu mở Mã nguồn mở ngày nay phát triển với tốc độ khá cao, cho thấy nó có nhiều động lực hơn so với mã đóng. Không nghi ngờ ngày nay sự phát triển lĩnh vực công nghệ thông tin có thể nói tới mã nguồn mở như cái gì đó năng động nhất. Tốc độ thay đổi của mã có thể nói đến từng giờ một. Ở Việt Nam, phần mềm tự do nguồn mở là thuật ngữ được khuyến khích sử dụng gần đây, thay thế cho hai thuật ngữ là phần mềm tự do và phần mềm nguồn mở, đặc biệt là thuật ngữ mã nguồn mở bởi vì sự bó hẹp của nó. Để tìm hiểu kĩ hơn nữa về vấn đề này, em đã chọn đề tài: “Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng”. Vì khả năng và thời gian còn hạn chế, Website không tránh khỏi có những thiếu sót nhất định, rất mong sự góp ý của quý thầy cô và các bạn để Website được hoàn thiện hơn. Xin chân thành cảm ơn ! Sinh viên: Phạm Văn Quân 1 Khóa 13, ngành Công nghệ thông tin
  16. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng CHƢƠNG I GIỚI THIỆU VỀ PHẦN MỀM NGUỒN MỞ 1.1. Khái niệm Opensource (nguồn mở) Open source software là những phần mềm được viết và cung cấp một cách tự do. Người dùng phần mềm mã nguồn mở không những được dùng phần mềm mà còn được download mã nguồn của phần mềm, để tùy ý sửa đổi, cải tiến và mở rộng cho nhu cầu công việc của mình. Một phần mềm áp dụng loại giấy phép mà cho phép bất cứ ai sử dụng dưới mọi hình thức, có thể là truy cập, chỉnh sửa, sao chép, và phân phối các phiên bản khác nhau của mã nguồn phần mềm, được gọi là open-source software. Nhìn chung, thuật ngữ “Open source” được dùng để lôi cuốn các nhà kinh doanh, một điều thuận lợi chính là sự miễn phí và cho phép người dùng có quyền "sở hữu hệ thống". Tiện ích mà free software mang lại chính là quyền tự do sử dụng chương trình cho mọi mục đích, quyền tự do để nghiên cứu cấu trúc của chương trình, chỉnh sửa phù hợp với nhu cầu, truy cập vào mã nguồn, quyền tự do phân phối lại các phiên bản cho nhiều người, quyền tự do cải tiến chương trình và phát hành những bản cải tiến vì mục đích công cộng. Một điều kiện hay được áp dụng nhất là GPL: GNU General Public Licence của tổ chức Free Software Foundation. GPL có hai đặc điểm phân biệt đó là: - Tác giả gốc giữ bản quyền về phần mềm nhưng cho phép người dùng rất nhiều quyền khác, trong đó có quyền tìm hiểu, phát triển, công bố cũng như quyền khai thác thương mại sản phẩm. - Tác giả sử dụng luật bản quyền để bảo đảm các quyền đó không bao giờ bị vi phạm đối với tất cả mọi người, trên mọi phần mềm có sử dụng mã nguồn mở của mình. Sinh viên: Phạm Văn Quân 2 Khóa 13, ngành Công nghệ thông tin
  17. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Đặc điểm thứ hai thường được gọi là hiệu ứng virut (virus effect) vì nó biến tất cả các phần mềm có dùng mã nguồn GPL cũng biến thành phần mềm GPL. Trên thực tế điều này có nghĩa là: bất kì tác giả nào sử dụng dù chỉ một phần rất nhỏ mã nguồn GPL trong chương trình của mình cũng phải công bố dưới điều kiện GPL. Các điều khoản phân phối của phần mềm mã nguồn mở phải tuân thủ các tiêu chuẩn sau: - Tự do tái phân phối. - Mã nguồn. - Các chương trình phát sinh. - Tính toàn vẹn của mã nguồn cung cấp bởi tác giả. - Không có sự phân biệt đối xử giữa cá nhân hay nhóm người. - Không phân biệt đối xử với bất cứ một lĩnh vực công việc nào. - Việc phân phối bản quyền. - Giấy phép phải không được giành riêng cho một sản phẩm. - Bản quyền không được cản trở các phần mềm khác. 1.2. Phân loại phần mềm nguồn mở a) Application: Các loại phần mềm ứng dụng, ví dụ như hệ điều hành, phần mềm văn phòng, phần mềm kế toán, phần mềm chỉnh sửa âm thanh hình ảnh, công cụ lập trình (IDE), Web server Ví dụ: Hệ điều hành: Linux, Free BSD. Phần mềm văn phòng: Open Office. Công cụ lập trình: KDeveloper, Eclipse. Web server: Apache. b) Software framework là những tập hợp phần mềm (software package) cung cấp những chức năng thường gặp khi lập trình, để những lập trình viên khác dùng để viết phần mềm hiệu quả hơn, khỏi phải viết lại code cho những vấn đề đã có người giải quyết rồi. Sinh viên: Phạm Văn Quân 3 Khóa 13, ngành Công nghệ thông tin
  18. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng 1.3. Lợi ích của phần mềm nguồn mở đối với ngƣời sử dụng - Phần mềm có thể được dùng và sao chép hoàn toàn miễn phí, người dùng hoàn toàn an tâm khi chia sẻ một chương trình tuyệt vời với bạn bè. - Có nhiều chọn lựa, không bị phụ thuộc vào một công ty nào: Các định dạng file không hoàn toàn bị kiểm soát, giảm tối đa sự phụ thuộc vào một vài nhà cung cấp phần mềm. - Hầu hết các sản phẩm open-source đều có khả năng bảo mật tốt. - Có một cộng đồng hỗ trợ lớn giúp việc cập nhật những lỗ hổng một cách nhanh chóng mà không phụ thuộc vào một công ty bất kỳ. - Có nhiều phần mềm đa dạng. 1.4. Giới thiệu về một số loại phần mềm nguồn mở thƣờng gặp - Hiện nay, trên thế giới có rất nhiều loại mã nguồn mở khác nhau, mỗi loại mã nguồn mở lại có một ứng dụng riêng. Dưới đây là một số loại mã nguồn mở được sử dụng rộng rãi: + Ubuntu là hệ điều hành mã nguồn mở dùng cho máy tính xách tay, máy tính để bàn và cả máy chủ, Ubuntu chứa tất cả các chương trình ứng dụng cần thiết cho công việc tại nhà, ở trường hay tại văn phòng công ty. + Vbulletin là mã nguồn mở xây dựng các diễn đàn trực tuyến được sử dụng phổ biến nhất hiện nay. Hầu hết các diễn đàn lớn tại Việt Nam đều được xây dựng bằng Vbulletin. + Apache Tomcat là hệ thống mã nguồn mở của hãng Apache Software, ứng dụng Apache Tomcat có thể xử lý được số lượng lớn các yêu cầu bao gồm ứng dụng web trực tuyến, các gói dữ liệu lưu thông giữa server-client, tùy biến dễ dàng theo nhu cầu, quy mô của từng tổ chức, doanh nghiệp. + Linux là một hệ điều hành mã nguồn mở dạng Unix được xây dựng bởi Linus Torvalds, Linux có mọi đặc tính của một hệ điều hành hiện đại: hệ thống đa nhiệm, đa tuyến đoạn, bộ nhớ ảo, thư viện độ, tải theo nhu cầu, quản lý bộ nhớ, các môđun driver thiết bị, video frame buffering, và mạng TCP/IP. + Open office là chương trình mã nguồn mở thay thế cho Microsoft office, ưu điểm của nó là dung lượng nhỏ và có thể tương thích được với Microsoft Office nhưng chưa thể thân thiên bằng Microsoft Office. Sinh viên: Phạm Văn Quân 4 Khóa 13, ngành Công nghệ thông tin
  19. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng + NukeViet là một hệ quản trị nội dung mã nguồn mở được ứng dụng để thiết kế các trang web như các cổng thông tin điện tử hoặc các website doanh nghiệp, báo điện tử, tạp chí điện tử, website của các doanh nghiệp vừa và nhỏ, website của các cơ quan, tổ chức phi chính phủ, website các trường học, website của gia đình hay cá nhân. + Greenstone là một bộ phần mềm dùng để xây dựng và phân phối các bộ sưu tập thư viện số. Nó cung cấp cho người sử dụng, đặc biệt là các trường đại học, các thư viện hoặc trong các trụ sở công cộng xây dựng các thư viện số riêng của họ. Ngoài ra còn rất nhiều loại mã nguồn mở khác như: Eclipse, Webwork, WebGUI, OpenCMS, Fedora Sinh viên: Phạm Văn Quân 5 Khóa 13, ngành Công nghệ thông tin
  20. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng CHƢƠNG II PHẦN MỀM NGUỒN MỞ NUKEVIET 2.1. Giới thiệu về phần mềm nguồn mở NukeViet 2.1.1. Nukeviet là gì? NukeViet là một phần mềm chạy trên máy chủ Web dùng để quản lý các website, cổng thông tin điện tử, báo điện tử, hệ thống thương mại điện tử, vận hành các mạng xã hội cũng như hầu hết các nhu cầu làm việc trực tuyến khác. Phiên bản đang được phát hành theo giấy phép phần mềm tự do nguồn mở có tên gọi đầy đủ là NukeViet CMS gồm 2 phần chính là phần nhân (core) của hệ thống NukeViet và nhóm chức năng quản trị nội dung của CMS. Năm 2004, từ việc sử dụng sản phẩm PHP - Nuke để làm cho website người Việt xa xứ , Nguyễn Anh Tú - một lưu học sinh người Việt tại Nga - đã cùng cộng đồng Việt hóa, cải tiến thành NukeViet và đã liên tục được phát triển và trở thành một ứng dụng thuần Việt. Cho đến phiên bản 3.0, đội ngũ phát triển NukeViet đã tách khỏi ảnh hưởng lạc hậu của PHP-Nuke và xây dựng NukeViet thành một ứng dụng khác biệt hoàn toàn. NukeViet 3.0 đã cho kết quả là Website đạt chuẩn xHTML 1.0 và CSS 2.1 cũng như hỗ trợ Ajax từ trong bộ nhân. Được viết bằng ngôn ngữ PHP và sử dụng cơ sở dữ liệu MySQL là chủ yếu, cho phép người sử dụng có thể dễ dàng xuất bản & quản trị các nội dung của họ lên Internet. NukeViet vẫn sử dụng các khái niệm Module, Block, Theme cho hệ thống của mình mặc dù cấu trúc và công nghệ cho nó đã được đội ngũ phát triển NukeViet cải tiến hoàn toàn. 2.1.2 Lịch sử phát triển của Nukeviet Ban đầu, phần mềm này được Nguyễn Anh Tú phát triển trên nền tảng PHP- Nuke cho Website cộng đồng người việt xa xứ xunguoi.com. Sau đó, cùng với sự tham gia của một số thành viên, cuối năm 2004 NukeViet 1.0 beta 1 đã ra đời. Đầu năm 2005, xunguoi.com ngưng hoạt động . Cho đến cuối năm 2005 diễn đàn được NukeViet Group mở cửa trở lại nhưng vì nhiều lý do, không được bao lâu Sinh viên: Phạm Văn Quân 6 Khóa 13, ngành Công nghệ thông tin
  21. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng lại phải ngưng hoạt động. NukeViet Group thành lập công ty Ấn Tượng Nét. Tại thời điểm này, NukeViet phát triển tự phát trong cộng đồng. Ngày 18-05-2006, NukeViet Group tuyên bố chính thức hỗ trợ trở lại NukeViet. Cho đến ngày 04-12-2006, do bất đồng chính kiến, NukeViet Group tan rã. Trưởng nhóm NukeViet – quyết định tách NukeViet ra khỏi công ty Ấn Tượng Net để hoạt động độc lập tại địa chỉ: Ngày 12-12-2006, mã nguồn mở NukeViet được đổi thành LaVie Portal. Năm 2007, nhóm phát triển đã quyết định: Hỗ trợ và phát triển song song LaVie Portal và NukeViet thành 2 bộ mã nguồn. Ngay sau đó NukeViet beta 2b được ra mắt, bản NukeViet 2.0 final (bản chính thức của NukeViet 2.0) đã được định hình và được giới thiệu rộng. Các thành viên điều hành diễn đàn NukeViet được cung cấp phiên bản sử dụng trực tuyến, nhưng phiên bản này đã không được phát triển tiếp. Tháng 10 – 2007, tác giả NukeViet đã quay lại để phát triển nó và hỗ trợ người dùng tại Ngày 24-05-2009, NukeViet Group phát hành phiên bản NukeViet 2.0 RC1 tại Hải Phòng. Phiên bản này đã đánh dấu bước phát triển mới của NukeViet sau một thời gian dài trì trệ. Tiếp đó, hiên bản 2.0 RC2 phát hành ngày 07/07/2009. Năm 2010, NukeViet chính thức đi vào con đường chuyên nghiệp hóa bằng sự kiện ra mắt Công ty cổ phần Phát triển nguồn mở Việt Nam (VINADES.,JSC). Đây là công ty mã nguồn mở đầu tiên tại Việt Nam có nhiệm vụ phát triển mã nguồn mở NukeViet. Ngày 22-03-2010, NukeViet chính thức công bố dự án NukeViet 3 - xây dựng một bộ code mới cho NukeViet với bản thử nghiệm đầu tiên - NukeViet 3 Closebeta. Bản chính thức NukeViet 3.0. Ngày 20/10/2010 NukeViet 3.0 Official version phát hành online. Năm 2011, NukeViet đã cho ra mắt hàng loạt các phiên bản và ứng dụng như: Phiên bản NukeViet 3.1 ra mắt cùng Module Shop nhân kỷ niệm 1 năm thành lập Công ty cổ phần phát triển nguồn mở Việt Nam, Phiên bản NukeViet 3.2, cung cấp dịch vụ OpenID trên website nukeviet.vn, NukeViet phát hành phiên bản 3.3 chính thức hỗ trợ giao diện dành cho thiết bị di động. Ngày 20-11-2011, NukeViet giành giải Ba Nhân tài Đất Việt 2011 ở Lĩnh vực Công nghệ thông tin. Sinh viên: Phạm Văn Quân 7 Khóa 13, ngành Công nghệ thông tin
  22. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Năm 2012, NukeViet 3.4 ra mắt với nhiều chức năng mới và hỗ trợ toàn diện cho thiết bị di động, ứng dụng dành cho web , chuyển đổi kho code từ Google code (sử dụng SVN) sang Github (sử dụng git). Đầu năm 2013, Công ty chủ quản là VINADES đã tổ chức Hội nghị người dùng và các nhà phát triển NukeViet năm 2013 dành cho cộng đồng NukeViet đánh dấu chặng đường phát triển mới của NukeViet. 2.1.3 Ứng dụng của Nukeviet Nukeviet đáp ứng các đặc tính của một ứng dụng Web 2.0: Hệ thống Nukeviet có thể chạy được nhiều nền khác nhau IIS hoặc Apache. Hệ điều hành Window hoặc Linux. Là một hệ thống mã nguồn mở, do đó Nukeviet đã tận dụng được nguồn trí tuệ cộng đồng. Là hệ thống mã nguồn mở, được cập nhật liên tục. Việc phát triển ứng dụng được thực hiện dễ dàng và nhanh chóng. Nukeviet có khả năng hoạt động tốt trên nhiều trình duyệt. Khả năng tùy biến giao diện cao. Nukeviet được sử dụng để xây dựng nhiều loại ứng dụng web khác nhau: Sử dụng để xây dựng các website tin tức do đó người dùng thường nghĩ rằng NukeViet mạnh về hệ thống tin tức. NukeViet Portal (Cổng thông tin hai chiều dùng cho doanh nghiệp). NukeViet Edu Gate (Cổng thông tin tích hợp nhiều website, sử dụng cho phòng giáo dục, sở giáo dục). NukeViet Tòa Soạn Điện Tử (Sử dụng cho các tòa soạn báo điện tử, trang tin điện tử). NukeViet Blog (Dành cho các website và người dùng tạo các trang nhật ký cá nhân). NukeViet Shop (dành cho các website thương mại điện tử với hoạt động chính là bán hàng trực tuyến, hiện đã có thể sử dụng bằng cách cài bổ sung module Shop lên NukeViet CMS). Sinh viên: Phạm Văn Quân 8 Khóa 13, ngành Công nghệ thông tin
  23. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng 2.1.4. Ƣu nhƣợc điểm của Nukeviet 2.1.4.1 Ưu điểm của Nukeviet. Là một hệ thống mã nguồn mở. Nukeviet tạo điều kiện thuận lợi cho người dùng, đặc biệt là đối với người dùng không có kiến thức chuyên sâu về lập trình. Nhiều Theme được xây dựng cung cấp miễn phí cho người dùng, việc sử dụng Theme đơn giản tạo điều kiện xây dựng website bắt mắt. Giao diện quản trị hiện đại, với cấu trúc rõ ràng, việc cài đặt các modul khá đơn giản. Hỗ trợ việc xây dựng Site đa ngôn ngữ. Tùy biến site bằng Block. Hệ thống quản lý người dùng. Hệ thống ổn định và an toàn (Stable and Security). Quản lý CSDL người sử dụng có thể tối ưu, sao lưu trên máy chủ và tải dữ liệu về để phục vụ cho công tác phục hồi nếu xảy ra sự cố. Kiểm soát lỗi tự động và báo lỗi thông minh. Hệ thống dễ dàng mở rộng và nâng cấp đồng thời đáp ứng được một lượng truy cập lớn. Tối ưu hóa cho công cụ tìm kiếm (SEO). NukeViet hỗ trợ OpenID. Trình soạn thảo tích hợp sẵn: Spaw2, FCKeditor, Ckeditor, TiniMCE Nhiều Modul miễn phí. Được hỗ trợ bởi một cộng đồng người dùng đông đảo. 2.1.4.2 Nhược điểm của Nukeviet. Cho tới bản 2.0 RC, NukeViet còn những nhược điểm sau: Chưa sử dụng Ajax (cho đến bản NukeViet 2.0 beta 2). Vẫn sử dụng chuẩn HTML 4.1. Mức độ cài đặt tiện ích (Addons: Block, Modules, Themes) chưa được tự động hóa cao. Ít block, module, theme vì cộng đồng phát triển chưa thực sự nhiều. Sinh viên: Phạm Văn Quân 9 Khóa 13, ngành Công nghệ thông tin
  24. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng 2.1.5.Các phiên bản của Nukeviet NukeViet 1.0: Phiên bản thế hệ 1: Phiên bản đầu tiên của NukeViet là phiên bản NukeViet 1.0 (hay NukeViet 1.0.0) có nguồn gốc từ PHP-Nuke 6.5. Các phiên bản tiếp theo có dạng 1.0.x, về cơ bản chúng chỉ là những bản được vá lỗi do đó thường gọi là NukeViet 1.0. Dòng phiên bản đã đã ngưng hỗ trợ từ năm 2007 nhưng hiện vẫn còn một số ít các website vẫn sử dụng. Phiên bản 2.0 beta: (ngày 27 tháng 01 năm 2007) Phần nhân của NukeViet 2.0 beta được viết lại rất nhiều. Có nhiều lớp bảo mật tốt hơn, tối ưu kết nối vào CSDL, một số tính năng được cải tiến hơn so với NukeViet 1.0. Phiên bản chính thức: NukeViet RC: NukeViet 2.0 RC1 (ngày 24 tháng 05 năm 2009). NukeViet 2.0 RC2 (ngày 07 tháng 07 năm 2009). NukeViet 2.0 RC3 (ngày 01 tháng 03 năm 2010). NukeViet 2.0 RC4 (ngày 08 tháng 04 năm 2010). Dòng phiên bản chuyên nghiệp: NukeViet 3 xây dựng mới 100%: Phiên bản thử nghiệm kín bao gồm Closebeta 1, 2, 3, 4. Phiên bản thử nghiệm mở rộng bao gồm Openbeta 1, 2, 3. Phiên bản RC (tiền chính thức) bao gồm RC 1 và RC 2. Phiên bản chính thức: 3.0, 3.1, 3.2, 3.3, 3.4. 2.1.6. Cấu trúc NukeViet 3 Hệ thống NukeViet được thiết kế rất rõ ràng, mạch lạc, theo đó NukeViet phân cấu trúc thành 2 tầng, 1 lớp. Tầng nền tảng (Core) hay còn gọi là "nhân hệ thống": Chứa các thư viện và module vận hành hệ thống. Nếu một trong các thành phần này bị lỗi có thể làm ảnh hưởng một phần hoặc toàn bộ hệ thống. Tầng này chiếm 10% dung lượng và dòng code của NukeViet nhưng được sử dụng trong 90% các hoạt động của website. Tầng module: bao gồm module admin, module site, các block (kèm theo module hoặc chạy độc lập), các cronjob Lớp giao diện: bao gồm giao diện admin, giao diện module và giao diện site. Sinh viên: Phạm Văn Quân 10 Khóa 13, ngành Công nghệ thông tin
  25. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Đặc điểm chính: Module và giao diện (theme) của NukeViet được gọi chung là các Addons (thành phần mở rộng). Các thành phần mở rộng này có thể được cài đặt hoặc gỡ bỏ mà không làm ảnh hưởng đến hệ thống. Phần quản trị của hệ thống nằm toàn bộ trong thư mục admin của hệ thống. Nó được bảo vệ bằng nhiều lớp bảo mật khác nhau. Phần quản trị của module nằm trong thư mục admin của module. Nó được gọi và tương tác qua phần quản trị của hệ thống nên được hệ thống kiểm soát và đảm bảo tính an toàn, bảo mật. Theo nguyên lý thiết kế hướng module, block và theme được bố trí nhằm phục vụ module do đó hình thành khái niệm block của module và theme của module. Theo đó tệp tin block của module nằm trong thư mục chứa module nhưng có thể hiển thị ở các khu vực ngoài site. Nếu block không thuộc module nào thì nó được đặt trong thư mục includes/blocks của hệ thống. Tương tự, ngoài theme cho hệ thống còn có theme cho block và theme cho module (được bố trí trong thư mục theme). Mô hình hoạt động của NukeViet 3: Dữ liệu được người quản trị tương tác từ Admin Control Panel thông qua trình duyệt, được nhân hệ thống và các module (admin module hoặc website module) tham gia xử lý, cuối cùng theme sẽ chịu trách nhiệm việc tổ chức và trình bày thông tin cho người truy cập xem. Hình 2.1.1: Mô hình cấu trúc hệ thống NukeViet 3.0 Sinh viên: Phạm Văn Quân 11 Khóa 13, ngành Công nghệ thông tin
  26. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng 2.1.7. Các khái niệm cơ bản Khái niệm module trong hệ thống NukeViet Module còn có tên gọi khác là Addons hay Plugins (tính năng tăng cường cho hệ thống) là những phần mở rộng của hệ thống NukeViet. Mỗi module sẽ đảm nhiệm một chức năng riêng cho hệ thống. Tùy chức năng và nhiệm vụ của module mà nó có thể phục vụ hệ thống chạy các tác vụ nền hoặc chỉ tương tác bên ngoài với người sử dụng (tương ứng với việc can thiệp sâu hoặc không sâu vào hệ thống). Hệ thống NukeViet mặc định đã có sẵn một số module, ngoài ra người sử dụng có thể cài thêm các module mới về từ website để cài lên hệ thống hoặc gỡ bỏ nó khỏi hệ thống. Module ảo là module được nhân bản từ một module bất kỳ của hệ thống NukeViet (nếu module đó cho phép tạo module ảo). Module ảo là khái niệm chỉ có kể từ phiên bản NukeViet 3.0. Công nghệ này cho phép người sử dụng có thể khởi tạo hàng ngàn module một cách tự động mà không cần động đến một dòng code. Các module được sinh ra từ công nghệ này gọi là module ảo. Các module của NukeViet được đặt trong thư mục modules/. Tên mỗi module bao gồm chữ cái, chữ số và dấu gạch ngang. Cấu trúc cơ bản của một module bao gồm các file và thư mục: § admin.functions.php § version.php § funcs § funcs/main.php § admin § admin/main.php § functions.php Chức năng của các file như sau: § file version.php: file này có chức năng khai báo tiêu đề module, các funcs có block, tác giả module, thông tin phiên bản, cấu trúc thư mục trong thư mục uploads. Sinh viên: Phạm Văn Quân 12 Khóa 13, ngành Công nghệ thông tin
  27. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng § File admin.functions.php: File này thường chứa các function, hằng dùng trong admin. § File function.php: File này thường chứa các function, hằng dùng cho ngoài site. § admin/main.php: File này sẽ thể hiện nội dung của module phần admin. § funcs/main.php: FIle này sẽ thể hiện nội dung (trang chính) của module bên ngoài site. Khái niệm Block Block (khối) là các khối nhỏ trên website nhằm mục đích đa dạng dữ liệu trên một trang và có thể sử dụng để trang trí cho website. Các block có thể bật, tắt hoặc di chuyển dễ dàng đến bất cứ vị trí nào (được người thiết kế chỉ định trên website khi thiết kế giao diện web). Nhờ các Block mà nội dung website trở lên đa dạng và phong phú hơn. Khách truy cập cũng nhờ thế mà dễ dàng nắm bắt nội dung website và nhanh chóng tiếp cận đến mục họ quan tâm . NukeViet 3 hiện hỗ trợ 4 loại block bao gồm: § Block dạng file: Block dạng file cũng có 2 kiểu là Block sử dụng chung cho toàn bộ website (Global block) và block sử dụng riêng cho module (module block). Block sử dụng riêng cho module thì chỉ có thể hiển thị ở module, còn block sử dụng cho toàn bộ site có thể hiển thị ở toàn bộ website. § Khối quảng cáo: giúp hiển thị các quảng cáo tạo ra từ module Banner. § Block HTML: cho phép tạo các dữ liệu từ HTML. § Block RSS cho phép lấy nội dung từ các nguồn RSS. Mỗi block có thể áp các Template (mẫu trình bày giao diện) khác nhau tùy vào theme sử dụng. Khái niệm theme Theme (hay còn gọi là skin, template ) là khái niệm của NukeViet dùng để gọi các giao diện. NukeViet hỗ trợ việc sử dụng nhiều theme và người quản trị có thể dễ dàng thay đổi chúng. Sinh viên: Phạm Văn Quân 13 Khóa 13, ngành Công nghệ thông tin
  28. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Theme của NukeViet là giải pháp lý tưởng giúp cho công việc thay đổi giao diện website trở lên dễ dàng. Nhờ thiết kế mỹ thuật của tác giả tạo ra theme mà website có thể được trình bày dưới các bố cục khác nhau. Điều này sẽ giúp cho website không trở lên nhàm chán. NukeViet tích hợp sẵn hai theme: default và modern cho khu vực người dùng và 2 theme: admin_default và admin_full cho khu vực quản trị. Hai theme default và admin_default là hai theme hệ thống, nếu các giao diện khác không hỗ trợ bất kì thành phần gì thì những thành phần đó được lấy mặc định từ hai theme này, vì vậy tuyệt đối không được đổi tên hay chỉnh sửa hai theme này. Hệ thống NukeViet cho phép quản lý giao diện ở 3 mức độ khác nhau: § Mức độ toàn bộ website (giao diện mặc định). § Mức độ module (giao diện cho từng module). § Mức độ chức năng của module (kiểu bài trí giao diện cho từng chức năng). Như vậy là ngoài việc hỗ trợ mỗi module sử dụng một giao diện, mỗi chức năng (function) còn có thể sử dụng một layout riêng, NukeViet còn cho phép tùy biến các block trên từng function. Với NukeViet, việc quản lý giao diện hoàn toàn là “kéo và thả” trực quan bằng chuột. Mỗi giao diện có thể có nhiều kiểu bố trí (layout) khác nhau. Bố trí này có thể khác nhau cho từng module và từng chức năng của module. Việc thiết lập layout nên được làm ngay sau khi cài giao diện và cần được làm trước khi kích hoạt giao diện. Khái niệm ngôn ngữ giao diện và ngôn ngữ cơ sở dữ liệu Đối với website sử dụng nhiều ngôn ngữ, ngôn ngữ trên site được xác định bằng 2 thành phần: Ngôn ngữ giao diện và ngôn ngữ Cơ sở dữ liệu. § Ngôn ngữ giao diện là ngôn ngữ cố định, được xác định khi lập trình và được định nghĩa sẵn trong các tệp tin ngôn ngữ. Sinh viên: Phạm Văn Quân 14 Khóa 13, ngành Công nghệ thông tin
  29. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Hình 2.1.2: Ngôn ngữ giao diện § Ngôn ngữ cơ sở dữ liệu là các dữ liệu sử dụng cho các ngôn ngữ khác nhau, do người sử dụng nhập vào cho các trang ngôn ngữ khác nhau. Hình 2.1.3: Ngôn ngữ data Sở dĩ NukeViet phải phân biệt 2 khái niệm này vì phương pháp xử lý đa ngôn ngữ của NukeViet là giải pháp toàn vẹn cho phép mỗi ngôn ngữ có thể độc lập hoàn toàn hoặc phụ thuộc 1 phần vào ngôn ngữ kia tùy theo ý đồ của người thiết kế module. Đây chính là một thế mạnh về ngôn ngữ của NukeViet. Sinh viên: Phạm Văn Quân 15 Khóa 13, ngành Công nghệ thông tin
  30. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng 2.1.8. Các website ứng dụng Nukeviet Từ bản 2.0 trở về trước, đối tượng người dùng chủ yếu của NukeViet là người Việt vì những đặc điểm của bản thân mã nguồn (có nguồn gốc từ PHP-Nuke) và vì chính sách của nhóm phát triển là: "hệ thống Portal dành cho người Việt". Kể từ phiên bản 3.0, đội ngũ phát triển NukeViet định hướng đưa NukeViet ra cộng đồng quốc tế. - Các tập đoàn kinh tế, Ví dụ: Trang tin của tập đoàn MeKong - NukeViet 2.0 - Giải trí trực tuyến, văn hóa, nghệ thuật. Ví dụ: - Cải Lương Việt Nam - NukeViet 2.0, - Văn nghệ Sông Cửu Long - NukeViet 2.0 - Báo điện tử, tạp chí điện tử. Ví dụ: - Báo Người Hà Nội - NukeViet 2.0 - Website của các doanh nghiệp vừa và nhỏ. Ví dụ: - Công ty TNHH Thương mại - Dịch vụ du lịch Sao Mai - NukeViet 2.0 - Website của các cơ quan, tổ chức phi chính phủ. Ví dụ: - Vietnam Volunteer Network - NukeViet 2.0 - Website các trường học. Ví dụ: - Website Trường Đại Học Nông Lâm Thái Nguyên - NukeViet 2.0. - Trường THPT Quang Trung - NukeViet 3.2 - Website của gia đình, cá nhân, nhóm sở thích. Ví dụ: - Cộng đồng Dầu khí - NukeViet 2.0 - Trang web giới thiệu về khu du lịch Cửa Lò - Nghệ An - NukeViet 2.0 - Thế giới Xe Việt - NukeViet 2.0 Ngoài các ứng dụng website ở trên, thực tế NukeViet đã được ứng dụng làm rất nhiều phần mềm khác như: Phần mềm quản lý kho hàng, phần mềm bán hàng, phần mềm quản lý quán BI-A trợ giúp bật tắt điện đèn bàn bóng, phần mềm tòa soạn điện tử, phần mềm quản lý hồ sơ, quản lý nhân sự trực tuyến, phần mềm tra cứu điểm thi hỗ trợ SMS Sinh viên: Phạm Văn Quân 16 Khóa 13, ngành Công nghệ thông tin
  31. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng 2.2. Cách thức cài đặt NukeViet 2.2.1 Cài đặt WebServer Xampp để chạy Nukeviet - Để chạy được Nukeviet ta cần phải có một WebServer với Apache, MySQL, PHPl, việc cài đặt và cấu hình WebServer gặp nhiều khó khăn và tốn kém thời gian. Hiện nay có nhiều phần mềm cấu hình sẵn và ứng dụng như một WebServer như Xampp, Wamp Nổi trội trong số đó là Xampp với những ưu điểm vượt trội : Nhỏ gọn, tiện lợi, dễ cài đặt và sử dụng, ít lỗi. - Xampp dùng để giả lập máy tính thành một máy chủ Web (máy tính khi được giả lập máy chủ Web sẽ được gọi là: localhost, để phân biệt với các máy chủ đang hoạt động trên Web là host Server). Cấu hình máy: - Hệ điều hành Linux, Ubuntu, MacOS, Windows Server 2003 hoặc Windows XP có thể chạy được chương trình Web Server. - Kết nối mạng Internet 2.2.1.1. Các phần mềm yêu cầu. - Web Server: Xampp 1.8.1: ( - Bộ mã nguồn mở NukeViet ( 2.2.1.2. Các bước tiến hành cài đặt. - Bước 1: Download XAMPP Bạn truy cập vào trang chủ apache để download phiên bản XAMPP mới nhất cho Windows. Bản mới nhất hiện tại là 1.8.1. Bạn chọn bản Installer. Hình 2.2.1: Download xampp Sinh viên: Phạm Văn Quân 17 Khóa 13, ngành Công nghệ thông tin
  32. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng - Bước 2: Cài đặt XAMPP Sau khi download xong, ta click đúp vào file xampp-win32-1.8.1-VC9- installer.exe mà vừa download về để cài đặt XAMPP. Chọn ngôn ngữ là English và click OK để tiếp tục: Hình 2.2.2: Chọn ngôn ngữ cài đặt xampp Click Next để tiếp tục Hình 2.2.3: Cài đặt xampp Tiếp đến ta chọn các dịch vụ kèm theo với XAMPP, click Next để tiếp tục Sinh viên: Phạm Văn Quân 18 Khóa 13, ngành Công nghệ thông tin
  33. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Hình 2.2.4: Chọn gói cài đặt Mặc định XAMPP sẽ được cài đặt vào ổ C theo đường dẫn C:\xampp . Click Install để XAMPP tiến hành cài đặt: Hình 2.2.5: Nhấn Install để cài đặt Màn hình hiển thị tiến độ cài đặt hiện ra: Sinh viên: Phạm Văn Quân 19 Khóa 13, ngành Công nghệ thông tin
  34. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Hình 2.2.6: Quá trình cài đặt xampp Quá trình cài đặt XAMPP kết thúc, ta click vào nút Finish để hoàn tất: Hình 2.2.7: Kết thúc cài đặt Khi đó XAMPP sẽ hỏi có muốn quản lý tất cả các dịch vụ thông qua XAMPP Control Panel hay không. Click vào Yes: Sinh viên: Phạm Văn Quân 20 Khóa 13, ngành Công nghệ thông tin
  35. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Hình 2.2.8: Vào control panel - Bước 3: Sử dụng và quản trị XAMPP Sau khi cài đặt xong, dưới khay systems tray sẽ có biểu tượng của XAMPP, click vào biểu tượng đó thì cửa sổ XAMPP Control Panel sẽ được hiển thị. Click vào nút Start tương ứng với dịch vụ Apache và MySQL để khởi động 2 dịch vụ này. Hình 2.2.9: Khởi động khung dịch vụ của xampp 2.2.2. Cài đặt NukeViet Chuẩn bị cho việc cài đặt NukeViet - Ta tạo sẵn database cho NukeViet để thuận tiện cho quá trình cài đặt Vào từ trình duyệt web. Sinh viên: Phạm Văn Quân 21 Khóa 13, ngành Công nghệ thông tin
  36. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Hình 2.2.10: Vào trang cơ sở dữ liệu Theo các thứ tự trong hình 1: Chọn database 2: Tên database: nuke 3: Nhấn Creat để hoàn thành Hình 2.2.11: Tạo cơ sở dữ liệu - Giải nén bộ mã nguồn mở NukeViet và copy vào thư mục htdocs của xampp Sinh viên: Phạm Văn Quân 22 Khóa 13, ngành Công nghệ thông tin
  37. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng C:\xampp\htdocs\nukeviet - Tiến hành cài đặt NukeViet: Trên trình duyệt web ta vào địa chỉ Quá trình cài đặt mới 1 website sử dụng NukeViet sẽ qua 07 bước như sau: - Bước 1: Lựa chọn ngôn ngữ Ngôn ngữ mặc định khi cài đặt là tiếng Việt, ta cũng có thể chọn sử dụng tiếng Anh. Lựa chọn xong ngôn ngữ ta nhấn vào nút “Bước kế tiếp” để chuyển sang bước tiếp theo. Hình 2.2.12: Chọn ngôn ngữ cài đặt *Gợi ý: Bạn có thể chọn cài đặt với ngôn ngữ bất kỳ. Sau khi cài đặt bạn vẫn có thể bổ sung các ngôn ngữ khác tải về từ website nukeviet.vn. - Bước 2: Kiểm tra việc CHMOD Hình 2.2.13: Kiểm tra điều kiện cài đặt Sinh viên: Phạm Văn Quân 23 Khóa 13, ngành Công nghệ thông tin
  38. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng . Nếu tất cả các thông số đều đạt yêu cầu như trên, ta có thể chuyển qua bước kế tiếp bằng cách nhấp nút “Bước kế tiếp”. . Nếu xảy ra lỗi, hệ thống sẽ yêu cầu bạn phải CHMOD lại thư mục hoặc tập tin cần thiết, ta cũng có thể điền thông tin tài khoản FTP máy chủ bằng cách vào ô “Cấu hình FTP” – nếu máy chủ của bạn hỗ trợ việc CHMOD thông qua php thì hệ thống sẽ tự động CHMOD những thư mục và tập tin cần thiết sau khi điền đầy đủ thông tin cấu hình FTP và nhấn vào nút “Thực hiện”. Còn không, sẽ phải tự CHMOD bằng tay. Sau khi hoàn thành quá trình CHMOD ta có thể nhấn vào nút “Bước kế tiếp” để chuyển qua bước tiếp theo. - Bước 3: Bản quyền Hình 2.2.14: Thông báo bản quyền Phần mềm sẽ hiển thị thông tin bản quyền về phần mềm nguồn mở theo giấy phép GNU/GPL và giải thích các điều khoản được phép và không được phép. Ta nhấp nút “Bước kế tiếp” để chuyển sang bước tiếp theo. Sinh viên: Phạm Văn Quân 24 Khóa 13, ngành Công nghệ thông tin
  39. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng - Bước 4: Kiểm tra máy chủ Hình 2.2.15: Kiểm tra môi trường máy chủ Để hệ thống NukeViet có thể chạy được thì yêu cầu máy chủ bắt buộc phải hỗ trợ Phiên bản PHP từ 5.2.0 và MySQL 5.02 trở lên. Nếu hai điều kiện này không thỏa mãn thì quá trình cài đặt không thể tiếp tục. Ngoài ra, hệ thống còn đưa ra những khuyến cáo về những tính năng khác của máy chủ. Nếu những yêu cầu thêm này không thỏa mãn bạn vẫn có thể cài đặt NukeViet nhưng hệ thống sẽ mất đi một số chức năng tiện ích. - Bước 5: Cấu hình cơ sở dữ liệu. Tên host : localhost USERNAME: root Tên cơ sở dữ liệu : nuke Sinh viên: Phạm Văn Quân 25 Khóa 13, ngành Công nghệ thông tin
  40. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Hình 2.2.16 : Cấu hình cơ sở dữ liệu Tiếp đó ta chọn Thực hiện để sang bước tiếp theo. - Bước 6: Thông tin website Hình 2.2.17: Khai báo thông tin website Ở bước này các ta phải điền đầy đủ thông tin vào những ô được đánh dấu (*), bên cạnh là cột ghi chú để có thể hiểu rõ hơn quá trình nhập thông tin. Sinh viên: Phạm Văn Quân 26 Khóa 13, ngành Công nghệ thông tin
  41. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Tên site: Đề tài mã nguồn mở NukeViet và ứng dụng Tài khoản ADMIN: admin Email: mrquanhp@gmail.com Điền mật khẩu và các thông tin cần thiết ta ấn thực hiện Sau đó là trang báo đã cài đặt thành công bộ mã nguồn mở NukeViet - Bước 7: Kết thúc Hình 2.2.18: Thông báo cài đặt thành công Sau khi xong các bước hệ thống yêu cầu có 2 lựa chọn: Xem trang chủ hoặc Đăng nhập trang quản trị. Ta có thể đăng nhập trang quản trị bằng cách gõ thêm /admin/ sau địa chỉ cài đặt NukeViet. Giao diện Trang chủ: Hình 2.2.19: Giao diện trang chủ Sinh viên: Phạm Văn Quân 27 Khóa 13, ngành Công nghệ thông tin
  42. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Và giao diện trang quản lí site: Hình 2.2.20: Giao diện trang quản lí Vậy với các thao tác trên em đã hoàn thành việc cài đặt và cấu hình mã nguồn mở NukeViet. 2.3. Cấu trúc của gói cài đặt Module Module là bộ phận mở rộng thêm chức năng cho Web Site, các Module này có các chức năng khác nhau, được hiển thị trên trang Web tại các vị trí quy định và có thể thay đổi được. Một trang Web có thể hiển thị nhiều Module giống và khác nhau, Module có thể được cài đặt thêm vào Web Site. Thông thường sau khi cài đặt Nukeviet! Có sẵn các Module: Quản lý Upload - Upload hình (ảnh, flash) từ máy tính hoặc một địa chỉ bất kỳ trên mạng. - Quản lý: Di chuyển, đổi tên, sửa, xóa, tạo hình thu nhỏ Sinh viên: Phạm Văn Quân 28 Khóa 13, ngành Công nghệ thông tin
  43. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Hình 2.3.1: Giao diện trang quản lý upload Giới thiệu: (Cho phép tạo module ảo) - Gửi và sắp xếp các bài giới thiệu Hình 2.3.2: Giao diện trang giới thiệu Quản trị và xuất bản Tin tức: (cho phép tạo module ảo) - Quản lý chủ đề đa cấp trong đó bản tin có thể nằm ở 1 hoặc nhiều chủ đề không phụ thuộc quan hệ cha con giữa các chủ đề. - Quản lý nhóm tin liên quan (phân luồn tin theo dòng đơn) - Quản lý block tin (nhóm tin đa luồng) - Quản lý nguồn tin - Quản lý bình luận. - Tùy chỉnh bố cục trang tin. Sinh viên: Phạm Văn Quân 29 Khóa 13, ngành Công nghệ thông tin
  44. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng - Gửi bài viết, hẹn giờ đăng và nhiều tùy chỉnh khác: cho phép gửi bản tin, in, lưu bản tin. - Cấp tin RSS Hệ thống tin tức của NukeViet là hệ thống quản trị tin tức chuyên nghiệp đặc biệt phù hợp với các website tin tức. Nó cho phép xử lý nhiều tác vụ nền thông minh mà không cần người sử dụng can thiệp nhằm tối ưu cho hệ thống tin tức, Ví dụ: tạo hình thu nhỏ, tự động chia thư mục và sắp xếp hình vào các thư mục theo thời gian Hình 2.3.3: Giao diện quản lý module Tin tức Quản lý thành viên: - Quản lý việc đăng nhập, đăng ký. - Quản lý phương thức đăng nhập: Qua openid hoặc đăng nhập trực tiếp. - Quản lý câu hỏi bảo mật. - Quản lý nội quy. - Quản lý thông tin thành viên. Sinh viên: Phạm Văn Quân 30 Khóa 13, ngành Công nghệ thông tin
  45. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Hình 2.3.4: Giao diện trang quản lý module tài khoản Quản lý liên hệ gửi đến website: - Quản lý thông tin liên hệ trên site. - Quản lý các bộ phận tiếp nhận liên hệ. - Quản lý và trả lời các thư gửi tới. Hình 2.3.5: Giao diện trang quản lý module liên hệ Sinh viên: Phạm Văn Quân 31 Khóa 13, ngành Công nghệ thông tin
  46. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Quản lý thăm dò ý kiến: - Tạo các thăm dò ý kiến Hình 2.3.6: Giao diện trang quản lý module liên hệ Quản lý quảng cáo chuyên nghiệp: - Quản lý khách hàng. - Quản lý các khu vực quảng cáo - Quản lý các nội dung quảng cáo. Hình 2.3.7: Giao diện trang quản lý module quảng cáo Quản lý và tạo album hình, trình chiếu album Quản lý file: - Quản lý thư mục đa cấp - Quản lý tệp tin - Đếm lượt tải file Sinh viên: Phạm Văn Quân 32 Khóa 13, ngành Công nghệ thông tin
  47. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng - Quản lý bình luận - Kiểm duyệt file gửi tới - Quản lý bình luận cho file - Quản lý báo lỗi file. - Cấp RSS Quản lý liên kết: - Quản lý chủ đề đa cấp - Quản lý liên kết, đếm lượt truy cập - Quản lý báo cáo về liên kết: lỗi, liên kết xấu Thống kê: Thống kê theo năm, tháng, ngày, tuần, giờ. - Theo liên kết đến site - Theo quốc gia - Theo trình duyệt - Theo hệ điều hành - Máy chủ tìm kiếm Tìm kiếm - Tìm kiếm chung toàn hệ thống - Tìm kiếm nâng cao từng khu vực 2.4. Viết nội dung cho Module - Nukeviet có chức năng kéo thả, chỉnh sửa, thêm mới, xóa block ngay tại giao diện Ta chọn Bật kéo thả block để thực hiện Hình 2.4.1: Bật kéo thả Block Sinh viên: Phạm Văn Quân 33 Khóa 13, ngành Công nghệ thông tin
  48. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng - Ta có thể viết nội dung cho block hoặc thêm những block có hỗ trợ sẵn trong Nukeviet Hình 2.4.2: Viết nội dung cho Block 2.5. Cách đƣa Module tích hợp vào Nukeviet Để có thể tích hợp Module vào Nukeviet ngoài việc dựa vào chuẩn cấu trúc của Modul, kiến trúc của Nukeviet mà còn phải theo một số phương pháp sau: - Các Module được tạo ra phải nén dưới dạng file .zip khi đó mới được cài đặt vào. - Các Module phải phù hợp với từng phiên bản của Nukeviet. - Vào Cài đặt gói Module + Block tương ứng với Module để cài đặt. - Sau đó ấn tiếp tục ta chọn tệp tin và tiến hành cài đặt - Sau khi đã cài đặt thành công thì kích hoạt Module để chạy ứng dụng bằng cách: Vào quản lý module – thiết lập module mới. Sinh viên: Phạm Văn Quân 34 Khóa 13, ngành Công nghệ thông tin
  49. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng CHƢƠNG III ỨNG DỤNG NUKEVIET ĐỂ XÂY DỰNG WEBSITE BÁN HÀNG CHO CỬA HÀNG MÁY TÍNH 2T 3.1. Hiện trạng của thƣơng mại điện tử Trong những năm qua, Thương mại điện tử (TMĐT) đã dần dần khẳng định được vai trò của mình trong việc trao đổi thông tin, giao dịch mua bán qua mạng. Vào Việt Nam kể từ năm 1998 đến nay, tốc độ phát triển Internet tăng trưởng rất nhanh. Tính đến tháng 11 năm 2012 số người sử dụng internet đã là 30.479.065 người, chiếm 36.2% dân số. Nắm bắt được tình hình đó, không ít các doanh nghiệp đã triển khai thành công hệ thống TMĐT và đã khẳng định được tính hiệu quả của nó như: raovat.com, muaban.net Tuy nhiên, cũng như một số nước đang phát triển khác thì việc triển khai hệ thống TMĐT ở Việt Nam gặp không ít các khó khăn nhất là về công nghệ, nguồn nhân lực đủ trình độ và chuyên môn, nghiệp vụ cao. Mặt khác, với thói quen mua sắm của người Việt Nam vẫn còn theo kiểu truyền thống - mua bán trực tiếp, vì vậy phần nào ngăn cản sự phát triển của TMĐT. Hiện nay, doanh thu trong lĩnh vực TMĐT chiếm một tỷ số rất lớn và không ngừng tăng lên qua các năm. Đặc biệt, Việt Nam có tốc độ tăng trưởng Internet rất cao: 128,4%, cao nhất trong khu vực khối ASEAN. Các hình thức thanh toán thông qua TMĐT ngày càng cải thiện hơn, nhanh chóng và dễ dàng hơn, điều này giúp cho việc giao dịch trở nên dễ dàng hơn, tăng lượng giao dịch ngày càng nhiều hơn. Qua đó cho thấy được rằng nhược điểm của mua bán truyền thống là rất mất thời gian của người mua vì phải đi tới tận nơi để mua sản phẩm mình cần. Thay vào đó người tiêu dùng có thể lên mạng, vào những trang web bán hàng tìm hiểu mặt hàng mình mua và đặt hàng. Có nhiều người là chủ một cửa hàng nhỏ, doanh nghiệp mới muốn phát triển một trang website giới thiệu sản phẩm của mình mà không có tiền thuê thiết kế website hoặc mua các sản phẩm thương mại. Chúng tôi xin đưa ra một giải pháp khá tốt để các bạn lựa chọn. Đó là sự kết hợp giữa Nukeviet và Module Shop Sinh viên: Phạm Văn Quân 35 Khóa 13, ngành Công nghệ thông tin
  50. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng chuyên về bán hàng trực tuyến. Đây là module mã nguồn mở và miễn phí, bạn có thể xem và tải về tại : Website bán hàng qua mạng internet là một trong những giải pháp bán hàng trực tuyến đa chức năng, ổn định và bảo mật cao. 3.2. Giới thiệu cơ bản về Công ty TNHH MÁY TÍNH 2T Tên công ty: CÔNG TY TNHH MÁY TÍNH THIÊN PHÚC Giám đốc: Nguyễn Đăng Thiện Địa chỉ: + Cơ Sở 1: Số 77/180 Trường Chinh - Kiến An - Hải Phòng. + Cơ Sở 2: Số 49a Đại Học Dân Lập Hải Phòng. Sologan: Luôn là niềm tin. Website: chưa có Email: dangthienvn@gmail.com Tel: 093.48.24.666 CÔNG TY TNHH MÁY TÍNH THIÊN PHÚC được thành lập vào năm 2008. Lĩnh vực hoạt động của THIÊN PHÚC là: - LAPTOP chất lượng cao - Lắp đặt hệ thống Camera cho gia đình và công ty - Nhận lắp đặt thiết kế phòng hát - phòng chiếu phim 3D - Sửa chữa, bảo dưỡng, nâng cấp, PC & laptop Hiện tại, công ty chưa có website bán hàng, quảng bá sản phẩm của riêng mình mà thay vào đó là rao bán trên các diễn đàn mua bán, rao vặt. Do đó không đáp ứng được việc quản lý mua bán hàng qua mạng, không thực hiện được các yêu cầu của một website thương mại như khách hàng không thể đăng ký mua hàng trực tuyến mà phải đến tận nơi, việc mua bán vẫn được thực hiện một cách thủ công. Vì vậy việc lập website riêng cho công ty là một việc rất cần thiết. Sinh viên: Phạm Văn Quân 36 Khóa 13, ngành Công nghệ thông tin
  51. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng 3.3. Giới thiệu cơ bản về trang web ứng dụng Nukeviet làm shop bán hàng 3.3.1. Tiêu chí cho hệ thống - Quản lý số lượng sản phẩm và danh mục không giới hạn, với số lượng lớn. - Bán hàng qua mạng nên có thể dùng như một cửa hàng trên mạng. - Tìm kiếm thông tin sản phẩm một cách nhanh chóng. - Đánh dấu ghi nhận là sản phẩm “Đặc biệt” để thể hiện nổi bật sản phẩm riêng biệt của từng cửa hàng. - Hỗ trợ thanh toán trực tuyến - Khách hàng có thể thực hiện thanh toán qua hình thức mà họ muốn (trực tuyến, tiền mặt). - Quản lý toàn vẹn quy trình bán hàng: từ lúc đặt hàng cho đến khi đơn hàng hoàn tất (đã chuyển, đã thu) - An toàn, bảo mật đã được kiểm chứng qua nhiều dự án triển khai thành công. 3.3.2. Cài đặt module shop trong Nukeviet Hiện tại công ti máy tính 2T chưa có website bán hàng qua mạng nên việc ứng dụng module shop của Nukeviet vào làm website bán hàng là hoàn toàn hợp lý vì module shop đã tích hợp đầy chủ chức năng cơ bản của một shop bán hàng trên mạng. Cách cài đặt đơn giản, tiết kiệm chi phí mà vẫn đảm bảo các chức năng, hoạt động hiệu quả, thuận tiện cho việc quản trị bán hàng cũng như việc mua sản phẩm của khách hàng. - Tải module shop hợp với phiên bản nukeviet tại - Đăng nhập vào phần quản trị của Nukeviet. - Vào Cài đặt gói Module + Block tương ứng với Module để cài đặt. Sinh viên: Phạm Văn Quân 37 Khóa 13, ngành Công nghệ thông tin
  52. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Hình 3.3.1: Cài đặt module mới - Sau đó ta chọn tệp tin - Chọn tới vị trí tập tin module-shops-3-4-02.zip vừa download về và ấn tiếp tục tiến để hành cài đặt Hình 3.3.2: Chọn tệp module dưới dạng zip Sau khi đã cài đặt thành công thì kích hoạt Module để chạy ứng dụng bằng cách vào quản lý module – thiết lập module mới: Sinh viên: Phạm Văn Quân 38 Khóa 13, ngành Công nghệ thông tin
  53. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Hình 3.3.3: Kích hoạt gói module Như vậy chúng ta đã thực hiện cài đặt module shop thành công Hình 3.3.4: Giao diện trang bán hàng khi cài module shop Cơ sở dữ liệu của shop trong MySQL Khi tiến hành cài đặt Nukeviet, hệ thống sẽ tự động tạo ra cơ sở dữ liệu của mình vào MySQL. Các bảng có tiền tố là nv3_, tiếp theo là tên bảng cơ sở dữ liệu. Sinh viên: Phạm Văn Quân 39 Khóa 13, ngành Công nghệ thông tin
  54. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Trong trường hợp cơ sở dữ liệu của module nào đó thì tên module sẽ đứng sau tiền tố nv3_, và cuối cùng là tên của bảng. Mỗi cột của bảng thể hiện phần nội dung khi ta nhập dữ liệu hay cấu hình cài đặt vào từ giao diện người quản trị, hoặc những thông tin khách hàng đặt kí, đặt mua sản phẩm. Tên cơ sở dữ liệu là tên tạo lúc cài đặt Nukeviet. Các bảng cơ sở dữ liệu do Nukeviet tạo ra Hình 3.3.5: Các bảng cơ sở dữ liệu của Nukeviet Trong đó module shop sẽ bao gồm các cơ sở dữ liệu: - nv3_shops_block_cat - nv3_shops_orders - nv3_shops_catalogs - nv3_shops_payment - nv3_shops_comments_vi - nv3_shops_sources - nv3_shops_group - nv3_shops_unit - nv3_shops_money Các bảng dữ liệu trên đã chứa các thông tin chi tiết sản phẩm, hãng sản xuất, nhóm sản phẩm, thông tin phiếu mua hàng, thông tin thanh toán, giá tiền . Do vậy hoàn toàn có thể đáp ứng được việc lưu trữ và cung cấp đầy đủ dữ liệu cho trang web mà không cần phải tạo thêm bất kì bảng nào khác, không dư thừa thông tin. Sinh viên: Phạm Văn Quân 40 Khóa 13, ngành Công nghệ thông tin
  55. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Hình 3.3.6: Cơ sở dữ liệu của module shop $nv3_shops_block_cat: Cơ sở dữ liệu chứa thông tin Block sản phẩm Khi sản phẩm được người quản trị nhập vào từ trang thêm sản phẩm thì thông tin về block cat sẽ được đưa vào bảng nv3_shops_block_cat. Hình 3.3.7: Các cột trong bảng block_cat Các cột chứa các thông tin: - Bid: Khóa của bảng. - Vi_title: Tiêu đề của block. - Adddefault: Giá trị thêm mặc định. - Vi_alias: Tên của block. - Image: Ảnh của block. - Vi_description: Miêu tả block. Sinh viên: Phạm Văn Quân 41 Khóa 13, ngành Công nghệ thông tin
  56. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng - Add_time: Thời gian thêm block. - Vi_keywords: Từ khóa của block. - Edit_time: Thời gian block có hiệu lực. $nv3_shops_catalogs: Cơ sở dữ liệu chứa thông tin danh mục sản phẩm Hình 3.3.8: Các cột trong bảng catalog - Caid: Khóa của bảng. - Add_time: Thời gian thêm block. - Image: Ảnh của block. - Edit_time: Thời gian block có hiệu lực. - Order: Số đơn đặt hàng. - Vi_title: Tiêu đề của block. - Lev: Cấp độ của danh sách. - Vi_alias: Tên của block. - Viewcat: Xem danh sách catalog. - Vi_description: Miêu tả block. - Vi_keywords: Từ khóa của block. $nv3_shops_comments_vi: Cơ sở dữ liệu chứa thông tin ý kiến Hình 3.3.9: Các cột trong bảng comment Sinh viên: Phạm Văn Quân 42 Khóa 13, ngành Công nghệ thông tin
  57. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng - cid: Khóa của bảng comment. - post_ip: Địa chỉ ip comment. - post_time: Thời gian comment. - Status: Trạng thái comment - post_name: Tên người comment. - Photo: Ảnh comment. - post_id: ID comment. - Title: Tiêu đề comment. - post_mail: Mail của người comment. - Content: Nội dung comment. $nv3_shops_money: Cơ sở dữ liệu chứa thông tin đơn vị tiền tệ Hình 3.3.10: Các cột trong bảng money - Id: Khóa của bảng đơn vị tiền tệ. - Code: Mã của tiền. - Currency: Tiền mặc định. - Exchange: Tỉ giá khi đổi so với tiền mặc định. $nv3_shops_orders: Cơ sở dữ liệu chứa thông tin phiếu mua hàng Sinh viên: Phạm Văn Quân 43 Khóa 13, ngành Công nghệ thông tin
  58. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Hình 3.3.11: Các cột trong bảng orders - Order_id: Khóa của bảng. - Listnum: Số lượng mua. - Order_code: Mã đơn hàng. - Listprice: Giá sản phẩm. - Lang: Ngôn ngữ. - Useid: ID thành viên. - Order_name: Tên người mua. - Adminid: ID người quạn trị. - Order_mail: Mail người mua. - Unit_total: Đơn vị tiền tệ. - Order_address: địa chỉ nhận hàng. - Order_total: Tổng tiền thanh toán. - Order_phone: Số điện thoại. - Order_time: thời gian thanh toán. - Order_note: Chú ý. - Postip: Địa chỉ IP. - Listid: Danh sách mua. - View: Xem phiếu mua hàng. $nv3_shops_payment: Cơ sở dữ liệu chứa thông tin thanh toán Hình 3.3.12: Các cột trong bảng payment - Payment: Khóa của bàng thanh toán. - Active: Kích hoạt. - Paymentname: Tên thanh toán. - Config: Cấu hình thanh toán. - Domain: Địa chỉ website thanh toán. - Images_button: Ảnh nút thanh toán. Sinh viên: Phạm Văn Quân 44 Khóa 13, ngành Công nghệ thông tin
  59. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng $nv3_shops_sources: Cơ sở dữ liệu chứa thông tin hãng sản xuất Hình 3.3.13: Các cột trong bảng sources - Sourceid: Khóa bảng hãng sản xuất. - Add_time: Thời gian thêm. - Link: Đường dẫn hãng. - Edit_time: Thời gian sửa. - Logo: Ảnh logo hãng. - Vi_title: Tên hãng $nv3_shops_unit: Cơ sở dữ liệu chứa thông tin đơn vị sản phẩm Hình 3.3.14: Các cột trong bảng unit - Id: Khóa của bảng đơn vị sản phẩm. Sinh viên: Phạm Văn Quân 45 Khóa 13, ngành Công nghệ thông tin
  60. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng - Vi_title: Tiêu đề đơn vị sản phẩm. - Vi_note: Ghi chú. $nv3_shops_group: Cơ sở dữ liệu chứa thông tin nhóm sản phẩm Hình 3.3.15: Các cột trong bảng group - Groupid: Khóa của bảng. - Add_time: Thời gian thêm nhóm. - Cateid: ID danh mục. - Subgroup: Chủ đề nhóm. - Image: Ảnh của nhóm - Subgroupid: ID chủ đề nhóm. - Order: Hóa đơn. - Edit_time: Thời gian block có hiệu lực. - Lev: Cấp độ của nhóm. - Vi_title: Tiêu đề của nhóm. - Numsubgroup: Số chủ đề nhóm. - Vi_alias: Tên của nhóm. - Viewgroup: Xem nhóm sản phẩm - Vi_description: Miêu tả nhóm. - Vi_keywords: Từ khóa của nhóm. Sinh viên: Phạm Văn Quân 46 Khóa 13, ngành Công nghệ thông tin
  61. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng $nv3_shops_rows: Cơ sở dữ liệu chứa thông tin sản phẩm Khi sản phẩm được nhập thì tất cả các thông tin chi tiết sẽ được đưa vào lưu tại bảng rows của cở sở dữ liệu. Hình 3.3.16: Các cột trong bảng rows - Id: Khóa của bảng. - Allow_comm: Cho phép bình luận. - Listcatid: ID danh sách. - Allow_rating: Cho phép đánh giá. - Group_id: ID Nhóm sản phẩm. - Ratingdetail: Chi tiết đánh giá. - User_id: ID thành viên. - Allow_send: Cho phép gửi. - Source_id: ID hãng sản xuất. - Allow_print: Cho phép in. - Addtime: Thời gian thêm. - Allow_save: Cho phép lưu. - Edittime: Thời gian sửa. - Hitstotal: Lịch sử. - Status: Trạng thái. - Showprice: Hiện giá sản phẩm. - Pubtime: Thời gian kích hoạt. - Vi_title: Tiêu đề sản phẩm. - Exptime: Thời gian hết hạn. - Vi_alias: Tên sản phẩm. - Product_code: Mã sản phẩm. - Vi_description: Miêu tả sản phẩm. - Product_number: Số lượng sản phẩm. - Vi_keywords: Từ khóa của sản phẩm. - Product_price: Giá sản phẩm. - Vi_note: Ghi chú sản phẩm. - Product_discounts: Giá giảm giá. - Vi_hometext: Tên sản phẩm trên trang Sinh viên: Phạm Văn Quân 47 Khóa 13, ngành Công nghệ thông tin
  62. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng - Money_unit: Đơn vị tiền tệ. chủ. - Homeimgfile: Ảnh sản phẩm. - Vi_address: Đỉa chỉ bán sản phẩm. - Vi_promotional: Khuyến mại. - Vi_warranly: Thời gian bảo hành. Mối liên hệ giữa các bảng trong cơ sở dữ liệu của Nukeviet: Hình 3.3.17: Mối liên hệ giữa các bảng trong CSDL 3.3.3. Phát triển Giao diện, Module, Block cho Shop Nukeviet Để trang web thân thiện hơn với người dùng, đầy đủ chức năng của một Shop bán hàng chuyên nghiệp thì ta cần phải tùy biến giao diện và thêm vào đó một số block có tác dụng tương tác với khách hàng giúp cho quá trình mua, đặt hàng trở nên dễ dàng hơn. 3.3.3.1. Phát triển Giao diện (Theme) Tổng quan về theme của NukeViet Theme là gì? Trong hệ thống NukeViet, theme là các giao diện khác nhau giúp bạn có thể thay đổi hình thức website một cách nhanh chóng. Mỗi theme trong hệ thống NukeViet được tạo bởi một hệ thống các tệp tin trong đó quan trọng nhất (bắt buộc phải có ở tất cả các theme) là 2 tệp tin theme.php và style.css, ngoài ra còn có thể có các tệp hình ảnh đồ họa với mục đích trang trí cho Website. Sinh viên: Phạm Văn Quân 48 Khóa 13, ngành Công nghệ thông tin
  63. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng NukeViet sử dụng theme như thế nào trong việc thể hiện giao diện trang Web? Theme là một giải pháp đơn giản nhất mà các portal như NukeViet sử dụng trong việc thể hiện giao diện Website. Với giải pháp này, các ứng dụng & tính năng hệ thống được tách riêng, giao diện Website được tách riêng. Việc tách riêng như vậy giúp cho công việc thiết kế giao diện kiểu chuyên nghiệp hóa và cũng là đơn giản hóa công việc thiết kế giao diện. Như vậy khi nạp hệ thống chỉ cần trộn tính năng với giao diện là bạn sẽ có một Website hoàn chỉnh, rất uyển chuyển mà không sợ đụng hàng. Các theme được đặt trong thư mục themes/ Hình 3.3.18: Thư mục chứa theme Mặc định hệ thống NukeViet có bốn theme. Tên của thư mục chứa theme bao gồm chữ cái, chữ số, dấu – và dấu _ . Cấu trúc của một theme bao gồm: Hình 3.3.19: Các thành phần của một theme Sinh viên: Phạm Văn Quân 49 Khóa 13, ngành Công nghệ thông tin
  64. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Thư mục block: Chứa các file template (.tpl) của các block global nằm trong thư mục includes/blocks/. Các file trong thư mục này có thể để trống. Thư mục chứa các file css. Mỗi file css của module có tên là tên của module, khi người dùng truy cập một module thì file css này sẽ được load tự động, khi đóng gói module các file này cũng sẽ được đóng gói tự động. Thư mục images: Chứa các file ảnh, một theme nên chứa các thư mục con: admin, arrows, icons. Trong thư mục này còn chứa các thư mục có tên là tên của module, khi đóng gói module, các thư mục này sẽ được đóng gói tự động. Thư mục js: Chứa các file javascript nếu theme có sử dụng. Thư mục layout: Chứa các file tpl – các file định dạng cho theme. Thư mục modules: Trong thư mục này chứa các thư mục có tên là tên của module, khi đóng gói một module các thư mục tương ứng cũng được đóng gói. Thư mục system: Chứa các file tpl hệ thống, thông thường mỗi theme đều giống nhau về các file này nên không cần phải sửa chúng. File config.ini: Thiết lập theme. File default.jpg: Ảnh mô tả theme. File favicon.ico: Icon của theme. File theme.php: File chức năng của theme. Nukeviet quản lý giao diện các qua layout. Ta có thể tùy chọn bất kì cách hiển thị cấu trúc trang web hoặc cấu trúc module nào đó với bố cục khác nhau. Sinh viên: Phạm Văn Quân 50 Khóa 13, ngành Công nghệ thông tin
  65. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Hình 3.3.20: Thiết lập layout (default) Body-left-right: Bố cục trang web 3 cột theo thứ tự: Thân trang - Phần trái – Phần phải. Body-right: Bố cục trang web 2 cột theo thứ tự: Thân trang - Phần phải. Body: Bố cục trang web chỉ có phần thân trang. Left-body-right: Bố cục trang web 3 cột theo thứ tự: Phần trái - Thân trang - Phần phải. Left-body: Bố cục trang web 2 cột theo thứ tự: Phần trái - Thân trang. Left-right-body: Bố cục trang web 3 cột theo thứ tự: Phần trái – Phần phải - Thân trang. Do đó ở mỗi trang khác nhau của mỗi module ta hoàn toàn có thể thiết lập cấu trúc trang. Thiết lập giao diện qua quản lý block Tương tự như layout, ta cũng có thể thiết đặt vị trí của các block khác nhau ở mỗi trang. Sinh viên: Phạm Văn Quân 51 Khóa 13, ngành Công nghệ thông tin
  66. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Hình 3.3.21: Thiết lập giao diện qua quản lý block Các vị trí có thể đặt block: MENU_SITE: Vị trí thanh menu. HEADER: Vị trí herder. LEFT: Vị trí bên trái. RIGHT: Vị trí bên phải. TOP: Vị trí bên trên. BOTTOM: Vị trí bên dưới. FOOTER: Vị trí chân trang. Ta có thể khai báo thêm để thiết lập vị trí cho block tại file config.ini tại thư mục tên theme. Sinh viên: Phạm Văn Quân 52 Khóa 13, ngành Công nghệ thông tin
  67. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Hình 3.3.22: Thiết lập vị trí cho block Xây dựng giao diện cơ bản: Để xây dựng một giao diện cơ bản từ giao diện đã có ta tiến hành copy một theme đã có, đặt lại tên theme, xóa các phần sau: Tất cả các file trong thư mục, hoặc cả thư mục blocks. Các file trong thư mục css, giữ lại admin.css, icons.css, ie6.css, index.html, sitemap.xsl, sitemapindex.xsl, tab_info.css. Tất cả các thư mục trong thư mục modules. Các file và thư mục trong thư mục images, để lại thư mục admin, arrows, icons và file index.html. Thư mục js Bước tiếp theo cấu hình lại cho theme bằng cách mở file config.ini : Layout mặc định của mọi module. Các : Vị trí của các khối block. : Thiết lập layout mặc định đối với một số module. Chỉnh lại CSS và các ảnh để được giao diện theo ý. Sinh viên: Phạm Văn Quân 53 Khóa 13, ngành Công nghệ thông tin
  68. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Nếu muốn xây dựng giao diện riêng cho mỗi module, tiến hành copy thư mục có tên module trong thư mục images, modules và file ten-module.css tương ứng vào theme mới sau đó chỉnh sửa CSS và các file ảnh để được giao diện theo ý muốn. Một số lệnh trong css: - Margin, Padding: Căn lề. - Background: Nền. - Border: Tạo đường viền - đường bao. - Font: Định dạng font chữ. - Outline: Tạo đường viền. - Drop shadow: Tạo bóng đổ. Lưu ý: Các file định dạng tpl là các file sử dụng Xtemplate. Một biến được xuất bằng lệnh assign thì trong file tpl sẽ được đánh dấu bằng {} Ví dụ: $xtpl->assign( 'TITLE', „Tiêu đề trang‟ ); Để hiển thị từ “tiêu đề trang” thì trong file tpl ta cần viết {TITLE}. Nếu dữ liệu xuất dạng mảng thì các phần tử ở các cấp được phân cách bằng dấu chấm. Ví dụ: $xtpl->assign( 'TITLE', array( “title” => “Tiêu đề”, “id” => 1 ) ); Để xuất chữ Tiêu đề thì trong file tpl cần đặt {TITLE.title}. Lệnh đánh dấu khối prase sẽ đánh dấu những phần nằm trong cặp và . Trong các file tpl trong thư mục layout, có thể bỏ bớt các phần, tuy nhiên cần đảm bảo được các biến {THEME_PAGE_TITLE}, {THEME_META_TAGS}, {THEME_CSS}, {THEME_SITE_RSS}, {THEME_SITE_JS}, {THEME_MY_HEAD}, {THEME_ERROR_INFO}, {CLICK_SHOW_QUERIES}, {SHOW_QUERIES_FOR_ADMIN}, Sinh viên: Phạm Văn Quân 54 Khóa 13, ngành Công nghệ thông tin
  69. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng {THEME_ADMIN_MENU}, {THEME_MY_FOOTER}, {THEME_FOOTER_JS}. Xây dựng giao diện nâng cao: Ngoài các phần cơ bản, NukeViet cũng cung cấp môi trường giúp người dùng tối ưu hóa đến mức tối đa các giao diện: Chỉnh sửa file theme.php: Việc chỉnh sửa file này, thêm bớt một số biến xuất ra hoặc viết thêm một số phần sẽ gây ra những thay đổi đáng kể cho giao diện so với các giao diện mặc định. Tối ưu hóa giao diện riêng cho mỗi module: Tiến hành copy file theme.php ở mỗi module sang thư mục tương ứng trong thư mụcthemes/ten-theme/modules sau đó chỉnh sửa các function cho các funcs. Thêm các layout, các template cho block: Để thêm các layout tiến hành tạo thêm file mới có tên layout.ten-lay-out.tpl rồi đặt vào thư mục layout. Để thêm mới một template tiến hành tạo file mới có tên block.ten-template.tpl rồi đặt vào thư mục layout. Công việc thiết kế giao diện cho NukeViet hoàn chỉnh sẽ cần 3 công đoạn với các chức danh và yêu cầu cụ thể nhƣ sau: Sinh viên: Phạm Văn Quân 55 Khóa 13, ngành Công nghệ thông tin
  70. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Công Sản phẩm của của Yêu cầu Phần mềm cần thiết việc công việc Vẽ Vẽ giao diện web Photoshop hoặc các phần File đồ họa gốc và ảnh (Design) dưới dạng Layout mềm đồ họa tương đương jpg hoặc PNG toàn có thể cắt HTML trang được Cắt Cắt giao diện đã Photoshop hoặc các phần Trang web được thể (Cut) được vẽ ra HTML mềm đồ họa tương hiện dưới dạng HTML đương, các trình duyệt phổ biến và một vài trình soạn thảo code (Notepad++, EmEditor ) Hợp Chuẩn hóa giao Các trình duyệt phổ biến HTML đặt các chuẩn chuẩn diện đã cắt đạt và một vài trình soạn thảo xHTML 1.0 HTML chuẩn W3C code (Notepad++, và CSS 2.1 (Valid) EmEditor ) Ghép Ghép HTML vào Các trình duyệt phổ biến Giao diện được ghép giao hệ thống và một vài trình soạn thảo đúng như được thiết diện NukeViet code (Notepad++, kế, hợp chuẩn và EmEditor ) không bị xung đột javascript với NukeViet 3.3.3.2. Phát triển Block hỗ trợ trực tuyến Block hỗ trợ trực tuyến có tác dụng để hỗ trợ trực tiếp hoặc giải đáp thắc mắc của khách hàng với chủ shop. Qua hỗ trợ trực tuyến, người dùng có thể biết thêm về thông tin sản phẩm, thông tin khuyến mãi hay những cập nhật chưa có trên webshop. Để thêm Block hỗ trợ trực tuyến ta sử dụng yahoo làm môi trường hỗ trợ vì hầu hết các khách hàng đểu có tài khoản và sử dụng dịch vụ của yahoo. Sinh viên: Phạm Văn Quân 56 Khóa 13, ngành Công nghệ thông tin
  71. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Tại giao diện trang quản lý ta vào Quản lý giao diện => Quản lý Block Hình 3.3.23: Giao diện trang quản lý Ta chọn thêm Block và điền nội dung cho block hỗ trợ Hình 3.3.24: Thêm Block hỗ trợ trực tuyến Ta chọn Block của hệ thống => global_html Phần nội dung ta thêm đoạn mã nguồn Sinh viên: Phạm Văn Quân 57 Khóa 13, ngành Công nghệ thông tin
  72. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Với mrquanhp91 là ID yahoo của người hỗ trợ Hình 3.3.25: Thêm Block hỗ trợ trực tuyến Tên Block : Hỗ trợ trực tuyến Vị trí: LEFT Sau đó ta ấn Chấp nhận. Giao diện hỗ trợ trực tuyến khi hoàn thành Hình 3.3.26: Giao diện hỗ trợ trực tuyến khi hoàn thành 3.3.3.3. Phát triển Block Popup quảng cáo khuyến mại Để trang web gây được sự chú ý hơn, ta thêm block popup quảng cáo giới thiệu khuyến mại hoặc sản phẩm nổi bật vào giữa trang web khi khách hàng truy cập lần đầu. Đầu tiên ta vào file theme.php trong thư mục C:\xampp\htdocs\quan\themes\default\ Sinh viên: Phạm Văn Quân 58 Khóa 13, ngành Công nghệ thông tin
  73. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Tại đây ta thêm đoạn code: if(!isset($_SESSION['qcqc'])) { $_SESSION['qcqc']="qc"; $my_head .=" \n"; $my_head .= " \n"; $my_head .=" \n"; } Hình 3.3.27: Xử lý quảng cáo Sau đó ta down file popup tại forum nukeviet về giải nén và copy vào thư mục gốc của nukeviet. Hình 3.3.28: Thư mục file popup Trong đó, css chưa file style.css để cấu hình về giao diện. Images chứa ảnh hiện popup như là khuyến mại, sản phẩm giảm giá. Sinh viên: Phạm Văn Quân 59 Khóa 13, ngành Công nghệ thông tin
  74. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Js có jquery.js và popup.js chứa các hàm, dòng lệnh javascrip để thực hiện nội dung popup. Sau khi thực hiện xong ta quay lại trang web với địa chỉ localhost sẽ xuất hiện quảng cáo giữa trang Hình 3.3.29: Popup quảng cáo Như vậy với một số thao tác đơn giản em đã có thể hoàn thành website bán hàng cho công ty máy tính 2T. Trang web đơn giản, bắt mắt và đầy đủ các chức năng của một shop bán hàng online. 3.3.4. Sử dụng Nukeviet Shop 3.3.4.1. Hướng dẫn sử dụng trang quản trị Module Shop cho phép tạo lập gian hàng trực tuyến, xử lý thanh toán trực tuyến bằng cách tích hợp các cổng thanh toán. Các Tính năng chính : - Tổ chức trình bày gian hàng theo tác tiêu chí: Loại sản phẩm, nhóm sản phẩm, sản phẩm mới cập nhật - Các tính năng phục vụ xem và chọn hàng: Danh mục loại sản phẩm, giỏ hàng, sản phẩm cùng loại, sản phẩm mẫu, sản phẩm xem nhiều nhất - Đặt hàng: Đưa vào giỏ hàng với những sản phẩm cho phép đặt hàng. - Thanh toán trực tuyến bằng thẻ ATM qua hệ thống thanh toán của NganLuong.VN Sinh viên: Phạm Văn Quân 60 Khóa 13, ngành Công nghệ thông tin
  75. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng - Gửi đơn đặt hàng: Thành viên website gửi đơn đặt hàng. - Lịch sử giao dịch: Hiển thị lịch sử giao dịch của thành viên. Các chức năng Quản Trị Hệ Thống : Danh sách sản phẩm Hiển thị danh sách sản phẩm đã được đăng lên Hình 3.3.30: Hiển thị danh sách sản phẩm Thêm loại sản phẩm( Quản lý thêm, sửa, xóa sản phẩm) Để có thể thêm một sản phẩm trước tiên chúng ta cần phải tạo: Loại sản phẩm và đơn vị sản phẩm. Thêm loại sản phẩm Hình 3.3.31: Thêm loại sản phẩm Sinh viên: Phạm Văn Quân 61 Khóa 13, ngành Công nghệ thông tin
  76. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng - Bước 1: Nhập tên loại sản phẩm - Bước 2: Chọn chủ đề Khi mới tạo loại sản phẩm thì hệ thống chỉ cho phép tạo chủ đề chính sau khi thêm loại sản phẩm sẽ cho phép chọn các chủ đề tương ứng. Liên kết tỉnh: là liên kết của hệ thống để kết nối đến cơ sở dữ liệu, thường thì liên kết này hệ thống sẽ tự động lấy. Từ khóa: chính là từ khóa để khi tìm kiếm được nhanh hơn. Miêu tả: thông tin miêu tả về loại sản phẩm. Quyền xem: cho phép đối tượng được xem loại sản phẩm này (Tất cả/ Quản Trị/ Thành viên/ Nhóm thành viên). - Bước 3: Nhấn Lưu thay đổi để lưu lại Thêm đơn vị sản phẩm Hình 3.3.32: Thêm đơn vị sản phẩm. - Bước 1 : Nhập tên đơn vị sản phẩm Ghi Chú : thông tin ghi chú cho đơn vị sản phẩm - Bước 2 : Nhấn Ghi lại nội dung Sinh viên: Phạm Văn Quân 62 Khóa 13, ngành Công nghệ thông tin
  77. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Thêm sản phẩm Hình 3.3.33: Thêm sản phẩm Các phần đánh dấu * là bắt buộc nhập, các phần còn lại có thể có hoặc không - Bước 1: Chọn loại sản phẩm (đã làm ở bước trước) - Bước 2: Nhập tên sản phẩm Nhấn GET để tạo liên kết. - Bước 3: Nhập các thông tin Mã sản phẩm, Giá sản phẩm, Số lượng trong kho, Giảm giá. - Bước 4: Chọn hình minh họa cho sản phẩm bằng cách nhấn nút Browse Server Nhập các thông tin: Chú thích cho hình, Giới thiệu ngắn gọn, Địa điểm bán, Hãng sản xuất. - Bước 5: Nhập nội dung chi tiết cho sản phẩm (đây là phần bắt buộc) - Bước 6: Thêm các thuộc tính cho sản phẩm (nếu không chỉnh sửa hệ thống sẽ tự động lấy thông tin mặc định) ở các phần: Sản phẩm thuộc các Block, Từ khóa dành cho máy chủ tìm kiếm, Thời gian cập nhật, Thời gian hết hạn, Tính năng mở rộng. - Bước 7: Nhấn đăng sản phẩm để đăng sản phẩm hoặc nhấn lưu sản phẩm không đăng để sản phẩm không đăng. Sinh viên: Phạm Văn Quân 63 Khóa 13, ngành Công nghệ thông tin
  78. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Nhóm sản Phẩm ( Quản lý thêm, sửa, xóa nhóm sản phẩm) Hình 3.3.34: Quản lý nhóm sản phẩm - Bước 1: Nhập tên nhóm sản phẩm - Bước 2: Chọn nhóm sản phẩm (nhóm chính hoặc các nhóm đã tạo). Liên kết tỉnh: là liên kết của hệ thống để kết nối đến cơ sở dữ liệu, thường thì liên kết này hệ thống sẽ tự động lấy. Từ khóa: chính là từ khóa để khi tìm kiếm được nhanh hơn. Miêu tả: thông tin miêu tả về loại sản phẩm. Quyền xem: cho phép đối tượng được xem loại sản phẩm này (Tất cả/ Quản Trị/ Thành viên/ Nhóm thành viên). - Bước 3: Nhấn Lưu thay đổi để lưu lại. Sinh viên: Phạm Văn Quân 64 Khóa 13, ngành Công nghệ thông tin
  79. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Block Sản Phẩm (Dùng để nhóm các sản phẩm lại theo một tiêu chí nhất định) Hình 3.3.35: Block sản phẩm - Bước 1: Nhập tên Block sản phẩm - Bước 2: Từ khóa cho máy chủ tìm kiếm - Bước 3: Và miêu tả Block sản phẩm Hãng sản xuất Hình 3.3.36: Hãng sản phẩm - Bước 1: Quản lý các hãng sản phẩm như: sửa, xóa, thêm hãng sản xuất. - Bước 2: Để thêm hãng sản xuất cần có Tên hãng sx, website của hãng (nếu có) và Logo của hãng làm đại diện. - Bước 3: Lưu thay đổi. Sinh viên: Phạm Văn Quân 65 Khóa 13, ngành Công nghệ thông tin
  80. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Quản lý bình luận Hình 3.3.37: Quản lý bình luận Quản lý Bật, Tắt hoặc xóa các bình luận về sản phẩm. Đơn Đặt hàng Hình 3.3.38: Đơn đặt hàng Sinh viên: Phạm Văn Quân 66 Khóa 13, ngành Công nghệ thông tin
  81. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Đơn vị tiền tệ (Quản Lý việc: thêm, sửa, xóa đơn vị tiền tệ, mặc định khi cài nukeviet là Việt Nam đồng và USD) Hình 3.3.39: Đơn vị tiền tệ Để thêm 1 đơn vị tiền tệ cần thực hiện các bước: - Bước 1: Chọn loại tiền tệ. Có thể thêm Tên gọi (để hiển thị cho loại tiền tệ) và tỷ giá so với đơn vị tiền tệ trong nước. - Bước 2: Nhấn Ghi lại nội dung để lưu lại. Tích hợp cổng thanh toán (Quản lý: thêm, sửa và kích hoạt/ ngừng kích hoạt cổng thanh toán. Nukeviet chỉ hổ trợ cổng thanh toán Ngân lượng) Hình 3.3.40: Tích hợp cổng thanh toán Sinh viên: Phạm Văn Quân 67 Khóa 13, ngành Công nghệ thông tin
  82. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Hƣớng dẫn thanh toán (Cung cấp thông tin cụ thể nhằm hướng dẫn khách hàng dễ dàng trong việc thanh toán) Nội dung này hiển thị trong phần chi tiết mỗi sản phẩm hỗ trợ thanh toán Hình 3.3.41: Hướng dẫn thanh toán Cấu hình Module Hình 3.3.42: Cấu hình Module Sinh viên: Phạm Văn Quân 68 Khóa 13, ngành Công nghệ thông tin
  83. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Quản lý các thông tin về module shops: Cách hiển thị tại trang chủ Kích thước của hình tại trang chủ Số sản phẩm được hiển thị trong một trang Số sản phẩm được hiển thị trên một hàng Hiển thị phần giới thiệu gắn gọn khi xem chi tiết sản phẩm Bật chức năng đặt hàng ngoài trang hiển thị Hiển thị giá sản phẩm Kích hoạt chức năng đặt hàng không giới hạn số lượng sản phẩm Cho phép thanh toán trực tuyến với các cổng đã tích hợp Kích hoạt chức năng bình luận cho sản phẩm Tự động đăng thảo luận không cần qua kiểm duyệt Ai có quyền được thảo luận Đơn vị tiền tệ sử dụng Định dạng mã hóa đơn Tự động duyệt đơn hàng khi người mua gửi 3.3.4.2. Hướng dẫn sử dụng trang người dùng - Đăng ký thành viên Vào trang chủ chọn Thành viên - Đăng ký Hình 3.3.43: Đăng kí thành viên Sinh viên: Phạm Văn Quân 69 Khóa 13, ngành Công nghệ thông tin
  84. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Hiện ra trang mới: Hình 3.3.44: Điền thông tin đăng kí thành viên Người dùng cần điền đầy đủ và chính xác thông tin. Chú ý password cần phải từ 4 ký tự trở lên. Tiếp theo tích vào ô đồng ý quy định Sau đó nhấn Đăng kí thành viên, thông tin xác nhận sẽ được gửi vào mail người dùng đã đăng ký. Khi đã xác nhận thông tin người dùng có thể đăng nhập vào website để thực hiện giao dịch đăng ký mua hàng. - Đăng ký mua hàng Chọn sản phẩm cần mua Lựa chọn sản phẩm bằng cách nhấn chọn sản phẩm bằng cách nhấn vào “Chi tiết” sản phẩm sau đó ấn “Đặt mua” Sinh viên: Phạm Văn Quân 70 Khóa 13, ngành Công nghệ thông tin
  85. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Hình 3.3.45: Đặt mua hàng Sau khi ấn đặt hàng thì hàng cần mua sẽ tự động thêm vào giỏ hàng của bạn. Chọn Xem chi tiết để vào giỏ hàng của mình. Hình 3.3.46: Vào giỏ hàng Nhấn “Đặt hàng” để vào trang thông tin đặt hàng Hình 3.3.47: Cập nhật giỏ hàng và đặt hàng Sinh viên: Phạm Văn Quân 71 Khóa 13, ngành Công nghệ thông tin
  86. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Tại trang thông tin đặt hàng ta điền thông tin chính xác vào các mục và gửi phiếu thông tin đặt hàng. Hình 3.3.48: Điền thông tin mua hàng Sau khi hoàn thành mua hàng sẽ chuyển tới trang xem hóa đơn. Hình 3.3.49: Phiếu hóa đơn mua hàng Sinh viên: Phạm Văn Quân 72 Khóa 13, ngành Công nghệ thông tin
  87. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng KẾT LUẬN Đề tài “Tìm hiểu mã nguồn mở Nukeviet và ứng dụng” đang được các doanh nghiệp và cá nhân quan tâm tới. Trong quá trình khảo sát và tìm hiểu để phân tích đề tài này dưới sự chỉ dẫn của thầy Vũ Anh Hùng, em đã hiểu được phần nào và thấy được các công việc cần phải làm để xây dựng cho ứng dụng “Xây dựng website máy tính 2T”. Tuy gặp phải nhiều khó khăn nhưng em đã rất cố gắng để hoàn thành website với những chức năng sau: Website căn bản là đã giới thiệu được các thông tin tới khách hàng. Website xây dựng trên nền tảng Nukeviet vì thế tính bảo mật cao, tránh hacker xâm nhập và đánh cắp dữ liệu. Website đã đáp ứng được các yêu cầu về hoạt động thương mại điện tử, giao diện đẹp, thiết kế nhanh, sử dụng đơn giản. Website thử nghiệm trên localhost. Website đạt được một số chức năng chính để phục vụ cho việc giới thiệu đến khách hàng các sản phẩm của cửa hàng nhưng đó cũng chỉ đáp ứng được một phần nhỏ các yêu cầu hiện nay. Em mong nhận được ý kiến đóng góp để website được phát triển hoàn thiện hơn trong thời gian tới và đáp ứng đầy đủ các yêu cầu. Mặc dù đã cố gắng rất nhiều trong quá trình khảo sát tìm hiểu về mã nguồn mở và xây dựng ứng dụng website “Máy tính 2T”, nhưng sẽ không tránh khỏi những thiếu sót. Vì vậy em mong quý thầy cô cũng như những ai quan tâm đến đề tài này chỉ dẫn và góp ý kiến cho em để em hoàn thiện website một cách đầy đủ. Mong muốn của em là phát triển website: Với nhiều tính năng, ứng dụng thân thiện hơn. Cơ chế bảo mật cao hơn. Sinh viên: Phạm Văn Quân 73 Khóa 13, ngành Công nghệ thông tin
  88. Đồ án tốt nghiệp Tìm hiểu phần mềm nguồn mở Nuke Viet và ứng dụng Tài liệu tham khảo [1] [2] [3] [4] DVD thiết kế web của [5] Xây dựng và ứng dụng Web bằng PHP & MySQL – Phạm Hữu Khanh - Nhà xuất bản Phương Đông. Sinh viên: Phạm Văn Quân 74 Khóa 13, ngành Công nghệ thông tin