Tải bản đầy đủ (.docx) (14 trang)

BÁO CÁO HỌC PHẦN CÔNG NGHỆ WEB Công nghệ thông tin đề tài Quản lý quán cafe

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (733.34 KB, 14 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b> Tên đề tài:Quản lý quán cafe</b>

<b>Người hướng dẫn: Vũ Sơn LâmSinh viên thực hiện: Đoàn Lê Duy</b>

<b> Nguyễn Trương Thái KhangMã số sinh viên: 4351055000</b>

<b> 4451050154</b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>1. GIỚI THIỆU</b>

Tổng quan về dự án:

 Mục tiêu: Xây dựng một hệ thống quản lý qn cafe tồn diện, giúp tối ưu hóa quy trình quản lý và phục vụ khách hàng.

 Xử lý đơn hàng: Theo dõi và quản lý đơn hàng từ lúc khách hàng đặt đến khi thanh toán. Quản lý kho: Kiểm sốt và cập nhật tình trạng ngun liệu trong kho.

 Báo cáo và thống kê: Cung cấp các báo cáo doanh thu, hoạt động bán hàng, giúp quản lý dễ dàng theo dõi tình hình kinh doanh.

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b>2. CẤU TRÚC DỰ ÁN</b>

Giải thích về cấu trúc Solution và Project:

 Solution (.sln file): Solution là một tập hợp các project và các file liên quan, giúp quản lý và tổ chức các thành phần của ứng dụng. Trong dự án này, file solution chính là

 Project: Một project là một thành phần con của solution, chứa các file mã nguồn, tài nguyên, và các thông tin cấu hình cần thiết để xây dựng một phần của ứng dụng. Trong dự án này, project chính là `QLCoffee`, và nó chứa các thành phần sau:

Configuration Files:

 appsettings.Development.json, appsettings.json: Các file cấu hình dùng để lưu trữ các thiết lập của ứng dụng như kết nối cơ sở dữ liệu, các thơng số cấu hình khác nhau cho các môi trường (phát triển, sản xuất, v.v.).

 bundleconfig.json: Dùng để cấu hình các gói tài ngun front-end.Folders:

 Controllers: Chứa các lớp controller điều khiển luồng dữ liệu giữa model và view. Mỗi controller xử lý các yêu cầu HTTP cụ thể và trả về các kết quả tương ứng.

 Data: Chứa các lớp và file liên quan đến việc truy cập và quản lý dữ liệu, như lớp DbContext của Entity Framework.

 Migrations: Chứa các file migration dùng để quản lý và thay đổi schema của cơ sở dữ liệu.

 Models: Chứa các lớp model đại diện cho dữ liệu và các logic nghiệp vụ của ứng dụng. Views: Chứa các file view (Razor) dùng để hiển thị giao diện người dùng.

 wwwroot: Chứa các file tĩnh như CSS, JavaScript, hình ảnh, v.v.Source Files

 Program.cs: Là file khởi tạo và cấu hình ứng dụng, bao gồm hàm Main là điểm bắt đầu của ứng dụng.

 QLCoffee.csproj: File cấu hình của project, chứa thông tin về các package, tài nguyên và các thiết lập cần thiết để xây dựng project.

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b>3. THIẾT KẾ CƠ SỞ DỮ LIỆU</b>

Thiết kế cơ sở dữ liệu cho hệ thống quản lý quán cafe bao gồm các bảng chính như sau: Bảng Users: Quản lý thông tin người dùng (nhân viên, khách hàng).

 Bảng Products: Quản lý thông tin về các sản phẩm (thức uống, đồ ăn) của quán.

 Bảng OrderDetails: Quản lý chi tiết từng sản phẩm trong mỗi đơn hàng. Bảng Inventory: Quản lý thông tin về kho hàng và nguyên liệu.

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>4. CÁC TÍNH NĂNG CHÍNH</b>

Quản lý người dùng:

Báo cáo & thống kê:

Giao diện người dùng thân thiện:

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

o Index: Hiển thị trang chủ của ứng dụng.

o Privacy: Hiển thị trang thông tin về chính sách bảo mật.QLDoUongsControllers

sửa, xóa và hiển thị chi tiết sản phẩm.

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b>6. MODELS</b>

Các Models chính trong hệ thống quản lý quán café:Users Model

o Price: Giá của sản phẩm.

o Category: Loại sản phẩm (đồ uống, đồ ăn).o Stock: Số lượng tồn kho của sản phẩmOrder Model

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

o ProductID: ID của sản phẩm (Foreign Key).o Quantity: Số lượng sản phẩm tồn kho..o LastUpdated: Ngày cập nhật cuối cùng.

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<b>7. VIEWS</b>

<b>Các Views chính trong hệ thống quản lý quán caféHome Views:</b>

 <b>Index.cshtml: Hiển thị trang chủ với các thông tin cơ bản về qn cafe.</b>

 <b>Privacy.cshtml: Hiển thị trang thơng tin về chính sách bảo mật của quán cafe.</b>

<b>QLDoUongs Views:</b>

 <b>Index.cshtml: Hiển thị danh sách các đồ uống hiện có trong thực đơn.</b>

 <b>Create.cshtml: Form để thêm đồ uống mới vào thực đơn.</b>

 <b>Edit.cshtml: Form để chỉnh sửa thông tin đồ uống hiện có.</b>

 <b>Delete.cshtml: Xác nhận xóa đồ uống khỏi thực đơn.</b>

 <b>Details.cshtml: Hiển thị thông tin chi tiết của một đồ uống cụ thể.</b>

<b>QLHoaDons Views:</b>

 <b>Index.cshtml: Hiển thị danh sách các hóa đơn hiện có.</b>

 <b>Create.cshtml: Form để tạo hóa đơn mới.</b>

 <b>Edit.cshtml: Form để chỉnh sửa thơng tin hóa đơn hiện có.</b>

 <b>Delete.cshtml: Xác nhận xóa hóa đơn khỏi hệ thống.</b>

 <b>Details.cshtml: Hiển thị thông tin chi tiết của một hóa đơn cụ thể.</b>

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<b>QLNhanViens Views:</b>

 <b>Index.cshtml: Hiển thị danh sách các nhân viên hiện có.</b>

 <b>Create.cshtml: Form để thêm nhân viên mới.</b>

 <b>Edit.cshtml: Form để chỉnh sửa thơng tin nhân viên hiện có.</b>

 <b>Delete.cshtml: Xác nhận xóa nhân viên khỏi hệ thống.</b>

 <b>Details.cshtml: Hiển thị thơng tin chi tiết của một nhân viên cụ thể.</b>

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<b>8. TRUY CẬP DỮ LIỆU</b>

<b>Giải thích về lớp truy cập dữ liệu QLCoffeeContext</b>

<b>Tổng quan: Lớp QLCoffeeContext là một lớp DbContext trong Entity Framework Core, chịu trách nhiệm quản lý kết nối với cơ sở dữ liệu và theo dõi các thay đổi của các thực thể. Lớp này định nghĩa các DbSet tương ứng với các bảng trong cơ sở dữ liệu, giúp thực hiện các thao tác CRUD (Create, Read, Update, Delete) trên các thực thể.</b>

<b>Giải thích chi tiết</b>

<b>Namespace & Using Directives:</b>

namespace QLCoffee.Data: Định nghĩa namespace cho lớp QLCoffeeContext.

Các using directives nhập khẩu các namespace cần thiết để sử dụng các tính năng của .NET và Entity Framework Core, cũng như các models từ namespace QLCoffee.Models

<b>Khai báo lớp QLCoffeeContext:</b>

Public class QLCoffeeContext : DbContext: Lớp QLCoffeeContext kế thừa từ lớp DbContext củaEntity Framework Core. Điều này cho phép QLCoffeeContext sử dụng các tính năng của Entity Framework Core để quản lý kết nối cơ sở dữ liệu và theo dõi các thay đổi của thực thể.

Public QLCoffeeContext(DbContextOptions<QLCoffeeContext> options) : base(options): Constructor của lớp QLCoffeeContext nhận tham số DbContextOptions<QLCoffeeContext> để cấu hình các tùy chọn kết nối cơ sở dữ liệu. Constructor này gọi đến constructor của lớp cơ sở DbContext với các tùy chọn này.

<b>DbSet Properties:</b>

public DbSet<QLCoffee.Models.QLNhanVien> QLNhanVien { get; set; } = default!;: Định nghĩa một DbSet cho thực thể QLNhanVien. DbSet này tương ứng với một bảng trong cơ sở dữ liệu và cho phép thực hiện các thao tác CRUD trên thực thể QLNhanVien.

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

public DbSet<QLCoffee.Models.QLDoUong> QLDoUong { get; set; } = default!;: Định nghĩa một DbSet cho thực thể QLDoUong. DbSet này tương ứng với một bảng trong cơ sở dữ liệu và cho phép thực hiện các thao tác CRUD trên thực thể QLDoUong.

public DbSet<QLCoffee.Models.QLHoaDon> QLHoaDon { get; set; } = default!;: Định nghĩa một DbSet cho thực thể QLHoaDon. DbSet này tương ứng với một bảng trong cơ sở dữ liệu và cho phép thực hiện các thao tác CRUD trên thực thể QLHoaDon.

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<b>9. KẾT LUẬN</b>

Những điểm cần cải thiện:

 Tối ưu hóa hiệu suất: Cải thiện thời gian phản hồi của ứng dụng

 Giao diện người dùng: Cải thiện thiết kế giao diện để thân thiện và trực quan hơn.

 Tính năng bổ sung: Tích hợp các tính năng mới như báo cáo thống kê chi tiết hơn, quản lýchương trình khuyến mãi và giảm giá.

Những điểm không cải thiện:

 Cấu trúc cơ sở dữ liệu: Thiết kế cơ sở dữ liệu hiện tại đáp ứng tốt các yêu cầu của hệ thống, đảm bảo tính tồn vẹn và truy xuất hiệu quả.

xử lý đơn hàng hoạt động ổn định và đáng tin cậy.

giản hóa các thao tác với cơ sở dữ liệu và đảm bảo hiệu suất cao.

</div>

×