Sự khác biệt so với hệ thống cũ

Một phần của tài liệu Xây dựng website bán hàng bằng php cho công ty mai trường phúc (Trang 84 - 96)

7. Bố cục đề tài

3.3.4. Sự khác biệt so với hệ thống cũ

Từ quá trình cài đặt và thử nghiệm có thể thấy sự khác biệt mà website bán hàng mang lại. Website cũ của công ty Mai Trường Phúc chỉ có chức năng trưng bày, giới thiệu các sản phẩm dịch vụ, mang tính thông tin tới người dùng, hoạt động mua bán sản phẩm trực tuyến trên website là chưa có, khách hàng không thể giao dịch trực tuyến.

Website thử nghiệm được xây dựng có các chức năng giúp người dùng có thể mua sản phẩm và thanh toán trực tuyến bằng các thẻ ngân hàng có chức năng thanh toán trên internet như visa, mastercard. Đây là một sự cải tiến so với trang web cũ của công ty, giúp cho khách hàng tiết kiệm rất nhiều thời gian và nâng cao trải nghiệm so với mua hàng trực tiếp tại của hàng. Hoạt động mua sắm sản phẩm trên website diễn ra chỉ trong thời gian ngắn, khách hàng chọn mua sản phẩm và thanh toán trực tuyến rất tiện lợi.

Bên cạnh đó trang web thử nghiệm còn bổ sung các chức năng như tra cứu trạng thái đơn hàng, xem lại lịch sử đơn hàng, danh sách các sản phẩm yêu thích, những tính năng mà ở hệ thống website cũ không có. Khách hàng có thể xem lại lịch sử mua hàng của mình bất cứ khi nào hoặc tạo danh sách các sản phẩm yêu thích của mình. Các trang quản trị cũng được tối ưu hơn website cũ, có nhiều chức năng quản lý hơn như quản lý nhóm sản phẩm, quản lý sản phẩm, quản lý đơn hàng, báo cáo doanh thu hàng tháng, hàng năm, cài đặt website để thay đổi tên, liên kết đến các trang mạng xã hội, logo, số điện thoại, email, địa chỉ liên hệ của công ty. Dưới đây là mã nguồn của một số chức năng tiêu biểu như thêm giỏ hàng, thanh toán trực tuyến trên website.

85

Mã nguồn của CartController, phần này sẽ thực hiện chức năng thêm sản phẩm vào giỏ hàng, xem chi tiết, xóa khỏi giỏ hàng và cập nhật giỏ hàng.

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Cart; use DB; use Session;

class CartController extends Controller {

public function addCart($id) {

$product = DB::table('products')->where('id',$id)->first(); $color = $product->product_color;

$product_color = explode(',', $color); $data = []; $image = json_decode($product->image); if ($product->discount_price == NULL) { $data = [ 'id' => $product->id, 'name' => $product->product_name, 'qty' => 1, 'weight' => 1, 'price' => $product->selling_price,

'options' => ['image' =>$image[0], 'color' => $product_color[0]] ];

Cart::add($data);

return response()->json([ 'status' => true,

86

'message' => 'Thêm Vào Giỏ Hàng Thành Công' ], 200); } else { $data = [ 'id' => $product->id, 'name' => $product->product_name, 'qty' => 1, 'weight' => 1, 'price' => $product->discount_price,

'options' => ['image' =>$image[0], 'color' => $product_color[0] ]

];

Cart::add($data);

return response()->json([ 'status' => true,

'message' => 'Thêm Vào Giỏ Hàng Thành Công' ], 200);

} }

public function checkCart() {

$check = Cart::content();

return response()->json($check); }

public function showCart() {$cart = Cart::content();

return view('pages.cart',['cart'=>$cart]); }

87

public function removeCart($rowId) {

Cart::remove($rowId); $notification=array(

'message'=>'Xóa Sản Phẩm Khỏi Giỏ Hàng Thành Công',

'alert-type'=>'success' );

return Redirect()->back()->with($notification); }

public function updateCart(Request $request) {

$row = $request->productid; $color = $request->color_product; $image = $request->imgproduct; foreach ($row as $rowId) {

$s1 = 'qtybutton'.$rowId; $qty = $request->$s1; $s2 = 'color_product'.$rowId; $color = $request->$s2; $s3 = 'imgproduct'.$rowId; $image = $request->$s3;

Cart::update($rowId, ['qty'=> $qty,'options' => ['image' =>$image,'color' => $color ] ]);

return response()->json([ 'status' => true,

'message' => 'Cập Nhật Giỏ Hàng Thành Công' ], 200);

88

Mã nguồn của PaymentController, đây là phần được lập trình để khách hàng có thể giao dịch, thanh toán trực tuyến. Bằng việc sử dụng API của Stripe, việc xử lý các bước giao dịch sẽ dễ dàng và tiết kiệm thời gian hơn, đồng thời cũng đảm bảo tính chính xác và tốc độ xử lý. <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use DB; use Cart; use Illuminate\Support\Facades\Validator; use Session;

class PaymentController extends Controller {

public function paymentProcess(Request $request) {

$rules = [ 'name' => 'required', 'address' => 'required', 'phone' => 'required|numeric|digits_between:10,12']; $messages = [

'name.required' => 'Vui lòng nhập tên', 'address.required' => 'Vui lòng nhập địa chỉ',

'phone.required' => 'Vui lòng nhập số điện thoại',

'phone.numeric' => 'Vui lòng nhập đúng định dạng số điện thoại', 'phone.digits_between' => 'Số điện thoại không hợp lệ' ];

$validator = validator::make($request->all(), $rules, $messages); if ($validator->errors()->messages()) {

return response()->json([ 'status' => 'validator_fail',

'messages' => $validator->errors()->messages()], 400);} $payment = $request->payment_method;

89 $address = $request->address; $phone = $request->phone; $data = [ 'name' => $name, 'address' => $address, 'phone' => $phone, 'payment' => $payment]; Session::put('infoship',[ 'name' => $name, 'address' => $address, 'phone' => $phone, 'payment' => $payment ]); return response()->json([ 'payment' => $payment ], 200); }

public function stripeCharge(Request $request) { $total1 = $request->total; \Stripe\Stripe::setApiKey('sk_test_51IcoQgJYHi9ugH5xiSnVurF95BbV9J66tli R9VFqNtcMPgXVzyjErX62IBaik4MgmdHiU9dfiJUCR7I1Q8lB1Jaf00dFjIXP Ft'); $token = $_POST['stripeToken']; $charge = \Stripe\Charge::create([ 'amount' => $total1, 'currency' => 'vnd',

'description' => 'Thanh Toán Đơn Mua ManhZ Store', 'source' => $token,

90 'metadata' => ['order_id' => uniqid()], ]); $data = [ 'user_id' => Auth::id(), 'payment_id' => $charge->payment_method, 'paying_amount' => $charge->amount, 'balance_transaction' => $charge->balance_transaction, 'stripe_order_id' => $charge->metadata->order_id, 'shipping' => $request->shipping, 'vat' => $request->vat, 'total' => $request->total, 'payment_type' => $request->payment_type, 'status_code' => mt_rand(1000000,9999999) ]; if (Session::has('coupon')) { $data['subtotal'] = Session::get('coupon')['balance']; $data['coupon'] = Session::get('coupon')['name']; } else { $data['subtotal'] = Cart::subtotal(0,'.',''); } $data['status'] = 0; $data['date'] = date('d-m-y'); $data['month'] = date('F'); $data['year'] = date('Y'); $order_id = DB::table('orders')->insertGetId($data); $shipping = [ 'order_id' => $order_id, 'ship_name' => $request->ship_name, 'ship_phone' => $request->ship_phone,

91 'ship_address' => $request->ship_address, 'ship_city' => $request->ship_city, 'ship_state' => $request->ship_state ]; DB::table('shipping')->insert($shipping); $content = Cart::content(); $details = array();

foreach ($content as $item) { $details = [ 'order_id' => $order_id, 'product_id' => $item->id, 'product_name' => $item->name, 'color' => $item->options->color, 'quantity' => $item->qty, 'singleprice' => $item->price, 'totalprice' => $item->qty*$item->price, ]; DB::table('orders_details')->insert($details); } Cart::destroy(); if (Session::has('coupon')) { Session::forget('coupon'); } $notification=array('message'=>'Mua Hàng Thành Công', 'alert-type'=>'success'); return Redirect()->to('/')->with($notification); }

92

3.4. Tiểu kết

Để kiểm tra hệ thống trang web có hoạt động chính xác hay không thì bước thử nghiệm là rất quan trọng. Ở chương 3, tác giả khóa luận đã thực hiện việc cài đặt website thử nghiệm trên công cụ XAMPP, thực hiện kết nối cơ sở dữ liệu với MySQL, tiến hành các bước đưa dữ liệu lên website với các thông tin về sản phẩm, cửa hàng, nhãn hàng được tham khảo từ phía công ty Mai Trường Phúc. Mỗi giao diện trang web tương ứng với những chức năng, nghiệp vụ cụ thể, ở đó mỗi người dùng, khách hàng hay người quản trị có thể thực hiện những tác vụ khác nhau. Hoạt động mua sắm, giao dịch trực tuyến trên website cùng với hoạt động tiếp nhận và xử lý đơn hàng được mô tả chi tiết về cách thức hoạt động.

Thông qua những sự thử nghiệm hoạt động trên, tác giả còn đưa ra được những sự khác biệt về tính năng mới so với hệ thống website cũ. Ở web thử nghiệm này có nhiều chức năng hơn, đáp ứng được nhu cầu khách hàng nhiều hơn, đem lại trải nghiệm tốt hơn.

93

KẾT LUẬN Kết quả đạt được

Trong thời đại công nghệ phát triển như hiện nay, việc chuyển đổi số và ứng dụng các thành tựu công nghệ thông tin vào trong các ngành nghề, lĩnh vực là rất quan trọng, trong đó website là một phần không thể thiếu đối với các tổ chức, doanh nghiệp. Đề tài “Xây dựng website bán hàng bằng PHP cho công ty Mai Trường Phúc” mang tính thực tế cao, được thực hiện với mong muốn góp phần giúp công ty dần chuyển đổi quy trình bán hàng sang trực tuyến, phù hợp với thời đại hiện nay, góp phần nâng cao hiệu quả kinh doanh. Qua quá trình khảo sát, phân tích thiết kế cũng như lập trình các chức năng, đề tài đã đạt được một số kết quả như sau:

• Xây dựng được trang web bán hàng trực tuyến cho công ty Mai Trường Phúc, chuyển đổi một phần quy trình bán hàng sang bán hàng trực tuyến, nâng cao khả năng giới thiệu, quảng bá về cửa hàng trong thời đại công nghệ số đang phát triển mạnh.

• Cung cấp được các chức năng cơ bản cho khách hàng khi mua sắm trên trang web như thêm sản phẩm vào danh sách yêu thích, áp dụng mã giảm giá, giỏ hàng, lọc sản phẩm theo giá, tên, nhãn hàng, cung cấp các thông tin về các sản phẩm, theo dõi tình trạng đơn hàng, lịch sử mua hàng.

• Cung cấp hình thức tìm kiếm nhanh và trực tiếp, người dùng có thể tìm thấy được luôn những sản phẩm mà mình cần sau khi nhập thông tin.

• Người quản trị có thể quản lý được chi tiết các thông tin về sản phẩm, đơn hàng, tài khoản, tin tức, banner như thêm, sửa, xóa, chỉnh sửa trạng thái hoạt động của chúng.

• Phân chia được quyền hạn giữa các tài khoản thành viên trong trang quản trị web.

94

Ưu điểm

Đề tài tuy phần nào còn ở dạng cơ bản nhưng cũng đã có những biện pháp triển khai, giải quyết vấn đề. Dưới đây là những ưu điểm của đề tài:

• Website xây dựng góp phần giúp người dùng tiết kiệm thời gian, công sức để có được một sản phẩm ưng ý. Dễ dàng quản lý thông tin chi tiết người dùng, các thông tin về sản phẩm và những đơn hàng của người mua sản phẩm từ đó sẽ thuận tiện cho việc thanh toán và giao hàng.

• Hoàn thành đúng tiến độ, thời hạn được giao. • Trang web dễ sử dụng đối với người dùng.

Hạn chế

Trong thời gian thực hiện đề tài không thể tránh khỏi những thiếu sót chưa hoàn thiện được. Một số vấn đề còn hạn chế trong đề tài:

• Giao diện trang web còn đơn giản, tính thẩm mỹ chưa cao. Chưa thể cập nhật được hết tất cả các sản phẩm có liên quan trên thị trường

• Website mới chỉ giải quyết được những vấn đề cơ bản nhất. • Mã nguồn chưa được tối ưu hóa, nhiều phần còn dài dòng.

Hướng phát triển

Đề tài mới chỉ đáp ứng được những yêu cầu cơ bản nhất được đưa ra, khi áp dụng vào trong thực tế, cần phải có định hướng phát triển, nâng cấp, mở rộng quy mô một cách rõ ràng. Một số định hướng phát triển như sau:

• Tối ưu hóa lại mã nguồn để tăng tốc độ, trải nghiệm người dùng. Tối ưu SEO trang web bằng các thẻ html quan trọng.

• Sử dụng thư viện Axios trong lập trình để tối ưu hóa các chức năng như thêm, cập nhật bản sửa.

• Xây dựng cơ sở dữ liệu tập trung vào việc mua bán sản phẩm để tối ưu cho việc tìm kiếm, lọc sản phẩm theo nhiều tiêu chí hơn.

95

• Tăng cường bảo mật trang web, bảo mật máy chủ, sử dụng các phương thức bảo mật hai lớp.

Kiến nghị

Ngày nay, các doanh nghiệp luôn có nhu cầu mở rộng các mô hình kinh doanh với các hình thức khác nhau, trong đó hình thức trực tuyến đang được coi là có nhiều tiềm năng phát triển và đem lại nhiều lợi ích, hiệu quả cao trong kinh doanh. Để phát triển tốt, cạnh tranh đem lại nhiều lợi thế, em có một vài kiến nghị như sau đối với công ty Mai Trường Phúc:

• Cần có kế hoạch, lộ trình rõ ràng để phát triển, mở rộng quy mô kinh doanh trên website khi áp dụng thực tế.

• Đầu tư trang thiết bị phần cứng như máy chủ, hosting phải đủ mạnh để website có thể hoạt động tốt, đem lại hiệu quả cao

• Đầu tư, trang bị các chứng chỉ bảo mật trên trang web để khách hàng có thể yên tâm khi truy cập mua sắm các sản phẩm, thứ hạng của website cũng được cải thiện, nhiều người biết tới

• Hợp tác với các bên giải pháp thanh toán trực tuyến, đưa ra nhiều hình thức thanh toán hơn giúp người dùng có nhiều sự lựa chọn.

• Nâng cao trình độ nghiệp vụ của nhân viên trong quy trình hoạt động bán hàng, quản lý và hỗ trợ khách hàng.

96

TÀI LIỆU THAM KHẢO

1. Khuất Thùy Dương (2008), "Giáo Trình - Lập Trình Ứng Dụng Web Với PHP (Tập 1)", NXB Đại Học Quốc Gia TP.HCM, TP. Hồ Chí Minh. 2. Khuất Thùy Dương (2008), "Giáo Trình - Lập Trình Ứng Dụng Web Với

PHP (Tập 2)", NXB Đại Học Quốc Gia TP.HCM, TP. Hồ Chí Minh. 3. Nguyễn Trường Sinh (2005), "Sổ Tay HTML & JavaScript", NXB Lao

động - Xã hội, Hà Nội.

4. Nguyễn Trường Sinh (2006), "Sử Dụng PHP & MySQL Thiết Kế Web Động", NXB Thống kê, Hà Nội

5. Taylor Otwel (2019), “Installation - Laravel - The PHP Framework For Web Artisans.”, https://laravel.com/docs/7.x, Ngày truy cập: 14/03/2021 6. TrungX (13/3/2015), “Nghiên cứu về Laravel Framework”, Viblo,

https://viblo.asia/p/nghien-cuu-ve-laravel-framework-n7prv3n9GKod, Ngày truy cập: 20/03/2021.

Một phần của tài liệu Xây dựng website bán hàng bằng php cho công ty mai trường phúc (Trang 84 - 96)