Xây dựng phần mềm bán hàng , quản lý bằng laravel 8x

Phần mềm bán hàng được build trên nên web. Mình sử dụng laravel 8x. Hạn chế tối đa reload trang trong lúc xử lý đơn hàng để tăng trải nghiệm.

Ngoài tính những tính năng trên nếu các bạn có nhu cầu thay đổi hoạc làm thêm các tính năng khác cũng như thuê code, làm thuê đồ án thì có thể liên hệ với mình nhé.

Nội dung mô tả đồ án

Mục Lục

  1. Giới thiệu
  2. Nội dung bài học
    1. Bài 1. Cài đặt project
    2. Bài 2. Tạo các controller mẫu và một số thư mục 
    3. Bài 3. Tạo mẫu cơ sở dữ liệu và model
    4. Bài 4. Faker Category && Product
    5. Bài 5. Show Category && Product
    6. Bài 6: Cài đặt webpack - Show sản phẩm và danh mục bằng ajax
    7. Bài 7 Xử lý giỏ hàng show giỏ hàng
    8. Bài 8: Tăng giảm số lượng giỏ hàng - Search sản phẩm
    9. Bài 9: Tạo Modal thêm mới khách hàng 
    10. Bài 10: Tạo Controller xử lý sự kiện click lưu Khách hàng ajax
    11. Bài 11: Xử lý validate và lưu thông tin khách hàng
    12. Bài 12: Huỷ đơn hàng, xử lý đơn hàng
    13. Bài 13: Lưu đơn hàng - Tích hợp thông báo
    14.  Bài 14: Search khách hàng
    15. Bài 15: Ghép giao diện admin
    16. Bài 16: Show user và đơn hàng trong admin
    17. Bài 17:  Đăng nhập admin
    18. Bài 18 Check login admin
    19. Bài 19. Cấu hình gửi email
    20. Bài 20:  Gửi email khi có đơn hàng
    21. Bài 21:  Khởi tạo lại input search khách hàng js
    22. Bài 22: Render lại view home
    23. Bài 23: Tạo giao diện blog - CSDL - Model
    24. Bài 24:  Thêm sửa xoá menu, bài viết
    25. Bài 25: Hiển thị menu blog
    26. Bài 26: Sử dụng queue trong laravel
    27. Bài 27 Thống kê Dashboard
    28. Bài 28: Sử dụng pusher tạo thông báo realtime khi có đơn hàng
    29. Bài 29 Popup login , register
    30.  Bài 30 Xử lý đăng ký thành viên
    31. Bài 31 Đăng nhập thành viên - Confirm password
    32. Bài 32 Quên mật khẩu
    33. Bài 33 Gửi link lấy lại mật khẩu
    34. Bài 34 Xác nhận tài khoản
    35. Bài 35 Tạo popup thông báo
    36. Bài 36 Time link restart password and confirm account
    37. Bài 37 Review lần 1

Giới thiệu

Phần mềm này mình sẽ sử dụng laravel 8x cũng như kết hợp jquery, ajax để xử lý. Tăng trải nghiệm của người dùng. Và điều đặc biệt hơn nữa là full video support. Mình sẽ ghi lại toàn bộ quá trình xây dựng nó.

Nội dung bài học

Bài 1. Cài đặt project

Quá trình cài đặt mình cũng đã ghi và nói rõ ở video phía dưới. Các bạn theo dõi kỹ và làm theo hướng dẫn nhé.

Bài 2. Tạo các controller mẫu và một số thư mục 

Phần này mình sẽ tạo trước một vài controller mình sẽ sử dụng ở các video ngay sau đó cũng như phân chia thư mục view ( hiển thị ). Những controller nào xử lý ajax mình sẽ nhóm nó vào 1 folder Ajax trong App/Http/Controller/Ajax 

Tạm thời mình chỉ để đúng 1 controller ở ngoài là HomeController

=> Video hướng dẫn ở dưới các bạn tham khảo nhé.

Bài 3. Tạo mẫu cơ sở dữ liệu và model

Mình sẽ tạo trước một số bảng như sau

  1. User
  2. Category
  3. Product

Và tương ứng với nó là các Model cũng như liên kết giữa product và category

Các bạn chú ý ở video này mình có sai 1 chỗ là trong Model Product

public function category()
{
    return $this->belongsTo(Category, 'pro_category_id');
}

Đoạn này mình đang sai chỗ Category các bạn đổi thành Category::class như sau 

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use App\Models\Category;


class Product extends Model
{
    use HasFactory;

    protected $table = 'products';
    protected $guarded = [''];

    public function category()
    {
    	return $this->belongsTo(Category::class, 'pro_category_id');
    }
}

Và các bạn nhớ use Model Category vào nhé

Bài 4. Faker Category && Product

Trong video này mình có cài thêm 2 package là

  1. bumbummen99/shoppingcart  xem link tại đây
  2. fzaninotto/faker Link tại đây

Một số chú ý từ các bài về sau 

  1. Các bài về sau xử lý rất nhiều về jquery, ajax nên các bạn cần tìm hiểu kỹ ajax và jquery nhé. 
  2. Thứ 2 nữa là cách include view trong laravel và truyền biến qua view

Bài 5. Show Category && Product

Bài viết và video ở chế độ riêng tư. Chỉ những thành viên đăng ký mua source này mới có thể xem được. Xin vui lòng liên hệ với admin để đăng ký

Bài 6: Cài đặt webpack - Show sản phẩm và danh mục bằng ajax

Bài viết và video ở chế độ riêng tư. Chỉ những thành viên đăng ký mua source này mới có thể xem được. Xin vui lòng liên hệ với admin để đăng ký

Bài 7 Xử lý giỏ hàng show giỏ hàng

Bài viết và video ở chế độ riêng tư. Chỉ những thành viên đăng ký mua source này mới có thể xem được. Xin vui lòng liên hệ với admin để đăng ký

Bài 8: Tăng giảm số lượng giỏ hàng - Search sản phẩm

Bài viết và video ở chế độ riêng tư. Chỉ những thành viên đăng ký mua source này mới có thể xem được. Xin vui lòng liên hệ với admin để đăng ký

Bài 9: Tạo Modal thêm mới khách hàng 

Phần này mình sẽ tạo popup thêm mới khách hàng và sử dụng jquery-modal

Bài 10: Tạo Controller xử lý sự kiện click lưu Khách hàng ajax

Bài 11: Xử lý validate và lưu thông tin khách hàng

Bài 12: Huỷ đơn hàng, xử lý đơn hàng

Bài viết và video ở chế độ riêng tư. Chỉ những thành viên đăng ký mua source này mới có thể xem được. Xin vui lòng liên hệ với admin để đăng ký

Bài 13: Lưu đơn hàng - Tích hợp thông báo

 Bài viết và video ở chế độ riêng tư. Chỉ những thành viên đăng ký mua source này mới có thể xem được. Xin vui lòng liên hệ với admin để đăng ký

 Bài 14: Search khách hàng

 Bài viết và video ở chế độ riêng tư. Chỉ những thành viên đăng ký mua source này mới có thể xem được. Xin vui lòng liên hệ với admin để đăng ký

Bài 15: Ghép giao diện admin

Bài 16: Show user và đơn hàng trong admin

Bài viết và video ở chế độ riêng tư. Chỉ những thành viên đăng ký mua source này mới có thể xem được. Xin vui lòng liên hệ với admin để đăng ký

Bài 17:  Đăng nhập admin

Bài viết và video ở chế độ riêng tư. Chỉ những thành viên đăng ký mua source này mới có thể xem được. Xin vui lòng liên hệ với admin để đăng ký

Bài 18 Check login admin

Check và xử lý login admin

Bài 19. Cấu hình gửi email

Ở phần video có 1 phần các bán ửa lại như đoạn code sau nhé.

Các bạn vào file MailConfigServiceProvider và chỉnh sửa lại đoạn register như sau

public function register()
    {
        if (\Schema::hasTable('emails')) {
            $mail = DB::table('emails')->first();
            if ($mail) //checking if table is not empty
            {
                $config = array(
                    'driver'     => $mail->mail_driver,
                    'host'       => $mail->mail_host,
                    'port'       => $mail->mail_port,
                    'from'     => [
                        'address' => $mail->mail_from_address,
                        'name'    => $mail->mail_domain
                    ],
                    'username'   => $mail->mail_username,
                    'encryption' => 'tls',
                    'password'   => $mail->mail_password,
                    'sendmail'   => '/usr/sbin/sendmail -bs'
                );
                \Config::set('mail', $config);
            }
        }
    }

mình có chỉnh lại đoạn này một chút  'encryption' => 'tls'

Mình đã có test và kiểm tra thành công cấu hình gửi email rồi nhé

Phần mềm bán hàng  - Cấu hình gửi emailPhần mềm bán hàng  - Cấu hình gửi email

Bài 20:  Gửi email khi có đơn hàng

Bài viết và video ở chế độ riêng tư. Chỉ những thành viên đăng ký mua source này mới có thể xem được. Xin vui lòng liên hệ với admin để đăng ký

Bài 21:  Khởi tạo lại input search khách hàng js

Bài viết và video ở chế độ riêng tư. Chỉ những thành viên đăng ký mua source này mới có thể xem được. Xin vui lòng liên hệ với admin để đăng ký

Ở bài này dữ liệu html sẽ được append mới liên tục. Chính vì thế phần typehead nó sẽ không hoạt động nếu các bạn ko F5 lại. Mình đã xử lý và hướng dẫn ở video rồi nhé

Bài 22: Render lại view home

Bài 23: Tạo giao diện blog - CSDL - Model

Bài viết và video ở chế độ riêng tư. Chỉ những thành viên đăng ký mua source này mới có thể xem được. Xin vui lòng liên hệ với admin để đăng ký

Bài 24:  Thêm sửa xoá menu, bài viết

Bài viết và video ở chế độ riêng tư. Chỉ những thành viên đăng ký mua source này mới có thể xem được. Xin vui lòng liên hệ với admin để đăng ký

Bài 25: Hiển thị menu blog

Bài 26: Sử dụng queue trong laravel

Bài viết và video ở chế độ riêng tư. Chỉ những thành viên đăng ký mua source này mới có thể xem được. Xin vui lòng liên hệ với admin để đăng ký

Bài 27 Thống kê Dashboard

Bài viết và video ở chế độ riêng tư. Chỉ những thành viên đăng ký mua source này mới có thể xem được. Xin vui lòng liên hệ với admin để đăng ký

Bài 28: Sử dụng pusher tạo thông báo realtime khi có đơn hàng

Bài viết và video ở chế độ riêng tư. Chỉ những thành viên đăng ký mua source này mới có thể xem được. Xin vui lòng liên hệ với admin để đăng ký

 

Bài 29 Popup login , register

 Bài 30 Xử lý đăng ký thành viên

Bài viết và video ở chế độ riêng tư. Chỉ những thành viên đăng ký mua source này mới có thể xem được. Xin vui lòng liên hệ với admin để đăng ký

Bài 31 Đăng nhập thành viên - Confirm password

Bài 32 Quên mật khẩu

Bài viết và video ở chế độ riêng tư. Chỉ những thành viên đăng ký mua source này mới có thể xem được. Xin vui lòng liên hệ với admin để đăng ký

Bài 33 Gửi link lấy lại mật khẩu

Bài viết và video ở chế độ riêng tư. Chỉ những thành viên đăng ký mua source này mới có thể xem được. Xin vui lòng liên hệ với admin để đăng ký

Bài 34 Xác nhận tài khoản

Bài viết và video ở chế độ riêng tư. Chỉ những thành viên đăng ký mua source này mới có thể xem được. Xin vui lòng liên hệ với admin để đăng ký

Bài 35 Tạo popup thông báo

Bài 36 Time link restart password and confirm account

Bài viết và video ở chế độ riêng tư. Chỉ những thành viên đăng ký mua source này mới có thể xem được. Xin vui lòng liên hệ với admin để đăng ký

Bài 37 Review lần 1

Đang cập nhật