Đồ án Xây dựng Plugin bán vé trên Magento 2

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI  
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG  
──────── * ───────  
ĐỒ ÁN  
TỐT NGHIỆP ĐẠI HỌC  
NGÀNH CÔNG NGHỆ THÔNG TIN  
XÂY DỰNG PLUGIN BÁN VÉ TRÊN  
MAGENTO 2  
Sinh viên thực hiện  
: ………………  
Lớp  
: CNTT&TT 1.2 – K56  
Giáo viên hướng dẫn : ThS.Bành Thị Quỳnh Mai  
HÀ NỘI, 2016  
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP  
1. Thông tin về sinh viên  
Họ và tên sinh viên: ……………  
Điện thoại liên lạc: Email:  
Lớp: CNTT&TT 1.2 – K56  
Hệ đào tạo: Đại học chính  
quy  
Đồ án tốt nghiệp được thực hiện tại: Hà Nội  
Thời gian làm ĐATN: Từ tháng 02/2016 đến tháng 05/2016  
2. Mục đích nội dung của ĐATN  
Tìm hiểu mã nguồn mở Magento 2 và tiến hành xây dựng plugin phục vụ  
bán vé cho magento 2  
3. Các nhiệm vụ cụ thể của ĐATN  
•
•
Tìm hiểu kiến thức cơ bản về mã nguồn mở Magento 2  
So sánh điểm nổi bật của mã nguồn mở Magento 2 so với mã  
nguồn mở Magento 1.x trước đó  
•
•
Xây dựng plugin bán vé  
Nhận xét kết quả đạt được và đề xuất hướng phát triển.  
4. Lời cam đoan của sinh viên:  
Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn  
văn của bất kỳ công trình nào khác.  
Hà Nội, ngày 23 tháng 12 năm 2016  
Tác giả ĐATN  
5. Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN  
và cho phép bảo vệ:  
Hà Nội, ngày tháng năm  
Giáo viên hướng dẫn  
ThS.Bành Thị Quỳnh Mai  
MỤC LỤC  
LỜI CẢM ƠN .......................................................................................................1  
DANH MỤC VIẾT TẮT ......................................................................................2  
ĐẶT VẤN ĐỀ.......................................................................................................3  
CHƯƠNG I: CỞ SỞ LÍ THUYẾT........................................................................6  
1. Tổng quan về thương mại điện tử .................................................................6  
1.1. Khái niệm ...........................................................................................................6  
1.2. Đặc điểm của thương mại điện tử khác với thương mại thông thường ..........6  
1.3. Ứng dụng trong thực tiễn đời sống ...................................................................7  
2. Mã nguồn mở Magento 2...............................................................................7  
2.1. Lịch sử ra đời và phát triển................................................................................7  
2.2. Các thay đổi của magento 2 so với magento 1.x..............................................8  
2.3. Cấu trúc của một website làm bằng Magento 2.............................................15  
2.4. Đặc điểm nổi bật của Magento 2.....................................................................16  
3. Giới thiệu các công nghệ sử dụng................................................................17  
3.1. Ngôn ngữ lập trình PHP 5 ...............................................................................17  
3.2. Giới thiệu về MySql 5.6 ..................................................................................17  
3.3. Giới thiệu về Zend Framework 1.x.................................................................18  
3.4. Giới thiệu về HTML 5 và CSS 3 ....................................................................18  
3.5 Giới thiệu hoạt động của Magento 2................................................................19  
CHƯƠNG II: PHÂN TÍCH NHIỆM VỤ VÀ LỰA CHỌN GIẢI PHÁP...........20  
1. Phân tích nhiệm vụ.......................................................................................20  
1.1. Phía người dùng ...............................................................................................20  
1.2. Phía quản trị viên..............................................................................................20  
2. Phân tích các chức năng chính của website .................................................20  
2.1. Phía người dùng ...............................................................................................20  
2.2. Phía quản trị viên..............................................................................................21  
3. Lựa chọn giải pháp......................................................................................22  
3.1. Giải pháp...........................................................................................................22  
3.2. Môi trường phát triển.......................................................................................22  
3.3. Công cụ phát triển............................................................................................22  
CHƯƠNG III: XÂY DỰNG CHỨC NĂNG BÁN VÉ TRÊN WEBSITE.......24  
1. Phân tích các chức năng..............................................................................24  
1.1. Chức năng mua hàng online............................................................................24  
1.2. Chức năng thanh toán online...........................................................................24  
1.3. Chức năng đăng nhập, đăng kí và quản lí thông tin cá nhân.........................24  
1.5. Chức năng tìm kiếm.........................................................................................25  
1.6. Chức năng lọc sản phẩm..................................................................................25  
1.7. Giao diện tương thích với các loại thiết bị......................................................25  
1.8. Chức năng quản lý sản phẩm ..........................................................................26  
1.9. Chức năng quản lý khách hàng.......................................................................27  
1.10. Chức năng quản lý nhóm khách hàng...........................................................27  
1.11. Chức Pnăng quản lý đơn hàng ......................................................................27  
1.12. Chức năng thống kê.......................................................................................27  
1.13. Chức năng phân quyền..................................................................................28  
2. Biểu đồ Use Case tổng quát ........................................................................28  
3. Biểu đồ tuần tự.............................................................................................30  
3.1.Biểu đồ xem sản phẩm......................................................................................30  
3.2.Biểu đồ đăng nhập tài khoản khách hàng........................................................30  
3.3. Biểu đồ tìm kiếm sản phẩm.............................................................................31  
3.4. Biểu đồ lọc sản phẩm.......................................................................................32  
3.5. Biểu đồ mua hàng ............................................................................................33  
3.6. Biểu đồ thanh toán ...........................................................................................34  
3.7. Biểu đồ thêm sản phẩm....................................................................................35  
3.8. Biểu đồ cập nhật thông tin khách hàng...........................................................36  
3.9. Biểu đồ cập nhật thông tin đơn hàng ..............................................................37  
4. Biểu đồ lớp...................................................................................................38  
4.1. Lớp Product......................................................................................................39  
4.2. Lớp Category....................................................................................................40  
4.3.Lớp Customer....................................................................................................41  
4.4.Lớp Order..........................................................................................................42  
4.5. Lớp Admin .......................................................................................................43  
CHƯƠNG IV: XÂY DỰNG PLUGIN HỖ TRỢ ĐẶT VÉ...............................45  
1. Plugin Magenest Ticket .............................................................................45  
1.1. Giới thiệu về plugin ......................................................................................45  
1.2 Biểu đồ lớp dữ liệu............................................................................................46  
3. Kết Qủa Đạt Được........................................................................................50  
3.1 Phần Backend...................................................................................................50  
CHƯƠNG V: TRIỂN KHAI VÀ THỬ NGHIỆM ỨNG DỤNG .......................60  
1. Môi trường triển khai.................................................................................60  
2. Mục tiêu đặt hàng thành công và gửi mã code về cho người dung ...........60  
CHƯƠNG VI: KẾT LUẬN ................................................................................63  
1. Các kết quả đạt được....................................................................................63  
1.1. Ưu điểm............................................................................................................63  
1.2. Nhược điểm......................................................................................................63  
2. Hướng phát triển trong tương lai..................................................................63  
TÀI LIỆU THAM KHẢO...................................................................................64  
DANH MỤC HÌNH VẼ  
LỜI CẢM ƠN  
Để có được ngày hôm nay, lời đầu tiên con xin chân thành cảm ơn bố mẹ  
đã tạo điều kiện cho con ăn học, trưởng thành như ngày hôm nay.  
Em xin gửi lời cảm ơn sâu sắc tới cô giáo – ThS. Bành Thị Quỳnh Mai đã  
chỉ bảo, giúp đỡ, tạo điều kiện cho em hoàn thành tốt đồ án này.  
Cuối cùng em xin cám ơn toàn thể các thầy cô và bạn bè đã chỉ bảo, giúp  
đỡ em tận tính trong suốt những năm tháng theo học dưới mái trường Bách  
Khoa thân yêu.  
Hà Nội, ngày 18 tháng 12 năm 2016  
Sinh viên thực hiện:  
1
 
DANH MỤC VIẾT TẮT  
PHP  
: Viết tắt của "Hypertext Preprocessor",  
Js : Viết tắt của javascript  
MVC  
CSS  
: Viết tắt của “model – view –controller”  
: Viết tắt của “ Cascading Style Sheets”  
: Viết tắt của “PHP Data Object”  
PDO  
2
 
ĐẶT VẤN ĐỀ  
Lời nói đầu  
Trong vài thập kỉ trở lại đây, với sự bùng nổ của ngành công nghệ  
thông tin đã mang lại cho chúng ta những thành tựu công nghệ mới, việc này tạo  
điều kiện cho sự phát triển và ra đời của thương mại điện tử. Bằng việc sử dụng  
mã nguồn mở các nhà thiết kế, lập trình viên đã tạo ra những website thương  
mại điện tử với những plugin, theme,extension… giải quyết các vẫn đề nan giải  
của hình thức mua bán, trao đổi hàng hóa trước đó như thời gian, định mức, số  
lượng, quản lí .... Để góp phần làm phát triển hơn hệ thống mã nguồn mở  
Magento 2, trong đồ án tốt nghiệp này em đã lựa chọn đề tài : “ Xây dựng  
plugin bán vé trên magento 2“  
Nhu cầu thực tế  
Với đồ án này, em xin được trình bày chi tiết phân tích, thiết kế và xây  
dựng ứng dụng bán vé trên nền tảng mã nguồn mở Magento 2. Thông tin lấy về  
sẽ từ các trang web bán khóa học và vé xem phim tại các rạp với tính năng khá  
thân thuộc với người tiêu dùng hiện nay như : vietjet.net,….. Đây sẽ là trang  
web vô cùng hữu ích với nhu cầu đặt vé trước của người dùng.Đồng thời giúp  
cho người quản trị viên quản lí gian hàng, đơn đặt hàng và mọi thứ liên quan  
một cách đơn giản, dễ tiếp cận.  
Ngoài ra, em còn viết một plugin cho website nhằm đáp ứng yêu cầu cần  
thiết trong việc đặt vé.  
Nội dung đề tài  
Tên đề tài  
Xây dựng viết plugin hỗ trợ đặt vé  
Nhiệm vụ của đề tài  
Đề tài này là một hệ thống chạy trên:  
-
Server: VPS  
3
 
-
Mã nguồn PHP.  
-
Platform: Magento 2.  
-
Tính năng chính:  
▪
▪
Phía người dùng:  
Cho phép người dùng có thể xem thông tin (giá cả,ngày ,giờ địa  
điểm diễn ra chương trình) của các sản phẩm vé  
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
Tìm kiếm vé  
Mua hàng và thanh toán  
Tạo tài khoản, quản lý thông tin tài khoản khách hàng  
Viết bình luận cho vé  
Phía admin:  
Quản lý đơn hàng  
Quản lý vé  
Quản lý kho  
Quản lý khách hàng  
Quản lý giảm giá ( thời gian, địa điểm, số lượng,…)  
Quản lí plugin  
Những công việc cần phải thực hiện như sau:  
Phía Frontend:  
✓
✓
✓
Xây dựng trang chủ bao gồm: Danh mục vé thông tin vé  
Trang danh mục: Danh sách vé, phân trang, lọc.  
Trang chi tiết vé: Ảnh vé, tiêu đề, mô tả, giá, ngày giờ địa điểm,  
đánh giá của khách hàng về vé.  
✓
Giỏ hàng: Hiển thị thông tin các vé khách hàng đã thêm vào giỏ  
hàng, có chức năng cập nhật, nhập mã giảm giá, lựa chọn hình thức vận chuyển.  
4
✓
Quản lý thông tin cá nhân: Quản lý địa chỉ vận chuyển và thanh  
toán, hóa đơn, tìm kiếm, và nhiều sự kiện mở rộng khác  
✓
✓
Thanh toán.  
Xử lí giao diện hiển thị trên nhiều loại thiết bị với kích thước màn  
hình khác nhau: Mobile, Tablet, Laptop.  
Phía Backend:  
✓
✓
✓
Xây dựng hệ thống quản lý vé: Thêm, sửa, xóa, quản lý kho hàng.  
Hệ thống quản lý đơn hàng.  
Hệ thống quản lý thông tin khách hàng: Địa chỉ, Tên, Thuộc tính,  
Nhóm khách hàng.  
✓
✓
Quản lý các chương trình giảm giá.  
Phân quyền: phân quyền người quản lí gian hàng với mục đích sử  
dụng  
5
CHƯƠNG I: CỞ SỞ LÍ THUYẾT  
1. Tổng quan về thương mại điện tử  
1.1. Khái niệm  
Theo Tổ chức Thương mại thế giới (WTO), "Thương mại điện tử bao  
gồm việc sản xuất, quảng cáo, bán hàng và phân phối sản phẩm được mua bán  
và thanh toán trên mạng Internet, nhưng được giao nhận một cách hữu hình, cả  
các sản phẩm giao nhận cũng như những thông tin số hoá thông qua mạng  
Internet"  
Theo Ủy ban Thương mại điện tử của Tổ chức Hợp tác kinh tế châu Á –  
Thái Bình Dương (APEC) định nghĩa: "Thương mại điện tử liên quan đến các  
giao dịch thương mại trao đổi hàng hóa và dịch vụ giữa các nhóm (cá nhân)  
mang tính điện tử chủ yếu thông qua các hệ thống có nền tảng dựa trên  
Internet."  
Tổng kết lại, thương mại điện tử chỉ xảy ra trong môi trường kinh doanh  
mạng internet và các phương tiện điện tử giữa các nhóm (cá nhân) với nhau  
thông qua các công cụ, kỹ thuật và công nghệ điện tử.  
1.2. Đặc điểm của thương mại điện tử khác với thương mại thông  
thường  
- Các bên tiến hành giao dịch trong thương mại điện tử không tiếp xúc  
trực tiếp với nhau và không đòi hỏi phải biết nhau từ trước.  
- Các giao dịch thương mại truyền thống được thực hiện với sự tồn tại của  
khái niệm biên giới quốc gia, còn thương mại điện tử được thực hiện trong một  
thị trường không có biên giới (thị trường thống nhất toàn cầu). Thương mại điện  
tử trực tiếp tác động tới môi trường cạnh tranh toàn cầu.  
-Trong hoạt động giao dịch thương mại điện tử đều có sự tham gia của ít  
nhất ba chủ thể, trong đó có một bên không thể thiếu được là người cung cấp  
dịch vụ mạng, các cơ quan chứng thực.  
6
       
- Đối với thương mại truyền thống thì mạng lưới thông tin chỉ là phương  
tiện để trao đổi dữ liệu, còn đối với thương mại điện tử thì mạng lưới thông tin  
chính là thị trường.  
1.3. Ứng dụng trong thực tiễn đời sống  
- Tự động hóa ở chuỗi cung ứng và hậu cần  
- Hệ thống thanh toán trong nước và quốc tế  
- Quản lí nội dung doanh nghiệp  
- Nhóm mua  
- Trợ lí tự động trức tuyến  
- Nhóm tin  
- Mua sắm trực tuyến và theo dõi đặt hàng  
- Ngân hàng điện tử  
- Văn phòng trực tuyến  
- Phần mềm giỏ hàng  
- Hội thảo truyền thông trực tuyến  
- vé điện tử  
- Nhắn tin nhanh  
- Mạng xã hội  
- Mua bán dịch vụ trực tuyến  
….v…v…  
2. Mã nguồn mở Magento 2  
2.1. Lịch sử ra đời và phát triển  
Sau sự thành công rực rỡ của Magento 1, Magento đã cho ra mắt thêm rất  
nhiều các phiên bản khác nhau và kết thúc ở phiên bản .1.9.0.1. Tuy vậy sự ra  
đời của các phiên bản Magento trước vẫn còn nhiều vấn đề chưa khắc phục  
được. Chính vì điều này mà 17/11/ 2015, Magento chính thức cho ra mắt phiên  
bản Magento hoàn toàn mới : Magento 2 với rất nhiều những tính năng ưu việt  
so với Magento 1.x. Magento 2 được ra mắt nhằm phát triển mạnh mẽ trong lĩnh  
vực thương mại điện tử, bán hàng trực tuyến với khả năng quản lí số lượng số  
7
     
phẩm cực lớn, tốc độ xử lí nhanh hơn. So với thế hệ trước Magento 2 đã được  
nấp cấp mạnh mẽ ở giao diện, cấu trúc, công nghệ...  
2.2. Các thay đổi của magento 2 so với magento 1.x  
Magento là nền tảng thương mại điện tử ra đời từ năm 2008. Hệ thống  
được thiết kế tối ưu cho thương mại điện tử và các tính năng mở rộng  
(extension, theme) hoạt động độc lập với code core là những lý do chính giúp  
magento phát triển nhanh và hình thành cộng đồng mạnh mẽ.  
Tuy nhiên magento 1 (phiên bản đầu tiên) còn có những hạn chế nhất định  
tiêu biểu sau đây:  
– Hiệu suất : tốc độ load website magento chậm vì bản thân nó rất nặng,  
đòi hỏi máy chủ xử lí mạnh mới chạy nhanh được.  
– Cấu trúc magento 1.x rất phức tạp.  
– Ngoài hỗ trợ cơ sở dữ liệu MySQL thì magento 1.x chưa hỗ trợ các cơ  
sở dữ liệu khác. Thư viện javascript thường bị conflict giữa Prototype với  
Jquery.  
Vấn đề nêu trên nếu được giải quyết thì sẽ làm cho website xây dựng  
bằng mã nguồn mở Magento thêm phần thân thiện, tiện ích và dễ dàng sử dụng  
hơn, lượng người dùng sẽ tăng lên.  
2.2.1. Công nghệ nâng cấp  
Magento 2 sử dụng các công nghệ mới nhất trong lập trình web để cải  
thiện hiệu suất, khả năng bảo mật tăng cường hơn.  
* Yêu cầu hệ thống là:  
1. PHP 5.4 trở lên thêm phần mở rộng sau đây  
a. PDO / MySQL  
b. MySQLi  
c. mbstring  
d. Mcrypt  
e. mhash (sha-256)  
8
 
f. SimpleXML  
g. DOM (điều này được bao gồm theo mặc định trong PHP 5.4)  
h. curl  
i. GD2 hoặc ImageMagick 6.3.7 (hoặc mới hơn) hoặc cả hai  
j. soap  
2. Mysql phiên bản 5.6 trở lên  
3. Zend Framework 1.x  
4. Javascript: jQuery  
5. HTML5 và CSS3: Tăng hiệu suất, cải thiện các thiết kế bố trí, đáp ứng  
thiết kế web  
2.2.2. Kiểm định Code (Code Quality)  
Magento 2 tập trung vào việc cải thiện chất lượng code. Các tính năng  
kiểm định tích hợp sẵn trong magento 2 như sau:  
•
•
•
•
•
Integration Testing (Test tích hợp)  
Unit Testing(Test cấp đơn vị)  
Static Testing(Test kiểm thử tĩnh)  
Performance Testing(Test hiệu suất)  
JavaScript Testing  
2.2.3. Sự thay đổi của Frontend và Backend Frontend  
a)Thay đổi cấu trúc thư mục và tập tin  
•
Cấu trúc thư mục của Magento 2 là nhiều hơn so với cấu trúc thư  
mục Magento 1.x  
•
•
Đã chuyển thư mục js, media, skin từ gốc đến thư mục pub  
Các công cụ cho chuyển đổi và thử nghiệm  
9
Hình 1: Cấu trúc thư mục  
1. App / Design/ /base  
=> app/ code /// view  
2. app/locale/en_US/template/email/*.html  
app/code///view/email/*.html  
=>  
3. errors  
4. Js  
=>  
=>  
pub/errors,  
pub/js,  
5. Media  
6. shell  
=> pub/media,  
=> dev/shell  
Như vậy trong Magento 2, một thư mục mới có tên là "view" dưới app /  
code / core / Mage / module_name.  
b) Kích hoạt module  
Trong Magento 1.x, kích hoạt các module bằng cách sử dụng các tập tin  
module.xml trong app / etc / module. Nhưng trong Magento2, sử dụng các  
config.xml để kích hoạt module.  
c) Java thay đổi kịch bản thư viện  
Nó sử dụng các thư viện JQuery như là mặc định thư viện Java script, vì  
vậy nó loại bỏ các nguyên mẫu và xung đột jQuery.  
d) Magento Switchability ( liên kết trong Magento)  
Trong phiên bản Magento 1.x tất cả các module chính như: catalog, cms,  
10  
 
customer, order reports là có sự liên kết với nhau. Khi vô hiệu hóa bất kì một  
trong các module đó thì sẽ làm cho hệ thống bị phá vỡ.Nhưng trong Magento 2  
lại có sự linh hoạt để chuyển đổi và vô hiệu hóa. Và module không được quan  
hệ với nhau về mức độ cấu hình.  
Backend  
Những thay đổi quan trọng nhất phía backend :  
•
Trong Magento 1.x, URL của phần admin là default_url / admin .  
Nhưng trong Magento2, URL sẽ được default_url / backend  
•
•
Thiết kế lại các phần Backend  
Danh mục trình đơn đã được thay đổi và toàn bộ khu vực admin có  
giao diện dễ sử dụng hơn.  
a) Cái nhìn trực quan mới  
b) Một trong những thay đổi lớn nhất của phần admin là cái nhìn trực  
quan mới thân thiện hơn  
c)  
Hình 2: Bảng đăng nhập  
11  
 
Tải về để xem bản đầy đủ
doc 75 trang yennguyen 24700 Free
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Xây dựng Plugin bán vé trên Magento 2", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • docdo_an_xay_dung_plugin_ban_ve_tren_magento_2.doc