Web-b-n-m-y-t-nh

Project: Website bán máy tính

Thông tin cá nhân

👤 Họ tên: Nguyễn Duy Tiến

🎓 Mã sinh viên: 23010468

📝 Mô tả dự án

Website bán hàng, cho phép người quản lý thêm, xóa, phân loại sản phẩm. Dự án sử dụng Laravel, MySQL.

🧰 Công nghệ sử dụng

🚀 Cài đặt & Chạy thử

git: https://github.com/duytien05/Web-b-n-m-y-t-nh
composer install
npm install
cp .env.example .env
php artisan key:generate
php artisan migrate

Sơ đồ khối

csdlweb

⚙Sơ đồ chức năng

image

🧠Sơ đồ thuật toán

AdminController: admincontroller

CRUD Category : CRUD Category

Brandproducts : BrandProduct

CardController : CardController

Một số Code chính minh họa

Controller

##Product :

- CategoryProduct :
```bash
class CategoryProduct extends Controller
{
    public function authlogin(){
        $admin_id = Session::get('admin_id');
        if($admin_id){
            return Redirect::to('admin.dashboard');
        }
        else{
            return Redirect::to('admin')->send();
        }
    }
    public function add_category_product(){
        $this->authlogin();
        return view('admin.add_category_product');
    }
    public function all_category_product(){
        $this->authlogin();
        $all_category_product = DB::table('tbl_category_product')->get();
        $manager_category_product = view('admin.all_category_product')->with('all_category_product', $all_category_product);
        return view('admin_layout')->with('admin.all_category_product',$manager_category_product);

    }
    public function save_category_product(Request $request){
        $this->authlogin();
        $data = array();
        $data['category_name'] = $request->category_product_name;
        $data['category_description'] = $request->category_product_description;
        $data['category_status'] = $request->category_product_status;
        if ($data['category_name'] === null || $data['category_name'] === '') {
            Session::put('error', 'Vui lòng nhập đầy đủ thông tin');
            return Redirect::to('add-category-product');
        }
        else if ($data['category_description'] === null || $data['category_description'] === '') {
            Session::put('error', 'Vui lòng nhập đầy đủ thông tin');
            return Redirect::to('add-category-product');
        }
        else {

            DB::table('tbl_category_product')->insert($data);
            Session::put('message', 'Thêm danh mục sản phẩm thành công');
            return Redirect::to('add-category-product');
        }
    }
    public function unactive_category_product($category_product_id){
        $this->authlogin();
        DB::table('tbl_category_product')->where('category_id',$category_product_id)->update(['category_status'=>1]);
        Session::put('message','Không kích hoạt danh mục sản phẩm thành công');
        return Redirect::to('all-category-product');
    }
    public function active_category_product($category_product_id){
        $this->authlogin();
        DB::table('tbl_category_product')->where('category_id',$category_product_id)->update(['category_status'=>0]);
        Session::put('message','Kích hoạt danh mục sản phẩm thành công');
        return Redirect::to('all-category-product');
    }
    public function edit_category_product($category_product_id){
        $this->authlogin();
        $edit_category_product = DB::table('tbl_category_product')->where('category_id',$category_product_id)->get();
        $manager_category_product = view('admin.edit_category_product')->with('edit_category_product', $edit_category_product);
        return view('admin_layout')->with('admin.edit_category_product',$manager_category_product);
    }
    public function update_category_product(Request $request, $category_product_id){
        $this->authlogin();
        $data = array();
        $data['category_name'] = $request->category_product_name;
        $data['category_description'] = $request->category_product_description;
        DB::table('tbl_category_product')->where('category_id',$category_product_id)->update($data);
        Session::put('message','Cập nhật danh mục sản phẩm thành công');
        return Redirect::to('all-category-product');

    }
    public function delete_category_product($category_product_id){
        $this->authlogin();
        DB::table('tbl_category_product')->where('category_id',$category_product_id)->delete();
        Session::put('message','Xóa danh mục sản phẩm thành công');
        return Redirect::to('all-category-product');
    }

    //end function admin page


    public function show_category_home($category_id){

        $cate_product = DB::table('tbl_category_product')->where('category_status','0')->orderby('category_id','desc')->get();
        $brand_product = DB::table('tbl_brand')->where('brand_status','0')->orderby('brand_id','desc')->get();

        $category_by_id = DB::table('tbl_product')->join('tbl_category_product','tbl_product.category_id','=','tbl_category_product.category_id')->where('tbl_product.category_id','=',$category_id)->get();

        $category_name = DB::table('tbl_category_product')->where('tbl_category_product.category_id',$category_id)->limit(1)->get();

        return view('pages.category.show_category')->with('category',$cate_product)->with('brand',$brand_product)->with('category_by_id',$category_by_id)->with('category_name',$category_name);
    }

}

View

Cấu trúc chính của view

Ảnh chụp Màn hình 2025-06-26 lúc 11 19 29

Security Setup

Luôn sử dụng phiên bản mới nhất giúp ứng dụng được cải tiến hiệu năng và các tính năng mới nhất

Ảnh chụp Màn hình 2025-06-26 lúc 11 23 18

Link

https://github.com/duytien05/Web-b-n-m-y-t-nh

Github page

https://duytien05.github.io/Web-b-n-m-y-t-nh/

Một số hình ảnh chức năng chính

Xác thực người dùng

Trang đăng nhập

Ảnh chụp Màn hình 2025-06-26 lúc 08 29 06 Trang đăng ký

Ảnh chụp Màn hình 2025-06-26 lúc 08 30 30

Trang chính

Ảnh chụp Màn hình 2025-06-26 lúc 08 31 55

CRUD Products

Ảnh chụp Màn hình 2025-06-26 lúc 09 40 33

Thêm sản phẩm

Ảnh chụp Màn hình 2025-06-26 lúc 09 37 52 Xem , sửa và xóa :

Ảnh chụp Màn hình 2025-06-26 lúc 09 42 49

CRUD Categories

image Thêm mới:

Ảnh chụp Màn hình 2025-06-26 lúc 09 37 52

Sửa và xóa:

Ảnh chụp Màn hình 2025-06-26 lúc 09 48 55

Xem sản phẩm:

Ảnh chụp Màn hình 2025-06-26 lúc 09 48 55

CRUD Brands

Ảnh chụp Màn hình 2025-06-26 lúc 09 50 20

Thêm mới:

Ảnh chụp Màn hình 2025-06-26 lúc 09 51 39

sửa và xóa:

image