1. Trang chủ
  2. » Luận Văn - Báo Cáo

đồ án cuối kì học phần công nghệ net đề tài nhà sách trực tuyến made in heaven

36 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM THÀNH PHỐ HỒ CHÍ MINHKHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN CUỐI KÌ HỌC PHẦN CÔNG NGHỆ NET

ĐỀ TÀI:

NHÀ SÁCH TRỰC TUYẾNMADE IN HEAVEN

TP HỒ CHÍ MINH - 2023

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM THÀNH PHỐ HỒ CHÍ MINHKHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN CUỐI KÌ HỌC PHẦN CÔNG NGHỆ NET

ĐỀ TÀI:

NHÀ SÁCH TRỰC TUYẾNMADE IN HEAVEN

Giảng viên hướng dẫn: Thầy Mai Vân Phương

Nhóm sinh viên thực hiện: Nhóm C-Moon

1 47.01.104.080 - Nguyễn Phạm Minh Giang2 47.01.104.236 - Nguyễn Thanh Viết

3 47.01.104.243 - Lê Văn Vũ

Trang 3

LỜI CẢM ƠN

Lời đầu tiên, chúng em xin gửi lời tri ân chân thành và sâu sắc nhất để bày tỏ lòng

biết ơn đến Thầy Mai Vân Phương Vũ - người đã trực tiếp giúp đỡ, quan tâm, hướng

chúng em hoàn thành đồ án môn học Công nghệ NET.

Trong quá trình tìm hiểu và học tập bộ môn, chúng em đã nhận được sự giảng dạyvà hướng dẫn rất tận tình, tâm huyết của Thầy Thầy đã giúp chúng em tích lũy thêmnhiều

kiến thức hay và bổ ích để phục vụ cho những học phần liên quan, chuyên môn nghềnghiệp trong cuộc sống Từ những kiến thức mà Thầy truyền đạt, chúng em xin trình bày

lại những gì mình đã tìm hiểu và học được thông qua đề tài “Nhà sách trực tuyến Made

in Heaven”.

Tuy nhiên, kiến thức của chúng em vẫn còn những hạn chế nhất định về nhữngkhía cạnh chuyên sâu Với điều kiện thời gian cũng như kinh nghiệm còn hạn chế, đồán này không thể tránh được những thiếu sót Chúng em rất mong nhận được những ýkiến đóng góp quý báu của Thầy để kiến thức của chúng em trong lĩnh vực này đượchoàn

thiện đồng thời có điều kiện bổ sung, nâng cao kiến thức của mình Kính chúc Thầy vàgia

đình nhiều sức khỏe.

Chúng em xin chân thành cảm ơn!

Nhóm sinh viên thực hiện đồ án

Trang 4

2.2 ENTITY FRAMEWORK CORE 18

2.2.1 ENTITY FRAMEWORK CORE LÀ GÌ? 18

2.2.2 CÁC HƯỚNG TIẾP CẬN TRONG ENTITY FRAMEWORK CORE 19

Trang 6

DANH MỤC CÁC HÌNH VẼ VÀ SƠ ĐỒ

Hình 1: ASP.NET 13

Hình 2: Các thành phần trong mô hình MVC 14

Hình 3: Luồng xử lý trong MVC 15

Hình 4: Hướng tiếp cận Database First 19

Hình 5: Hướng tiếp cận Code First 20

Hình 6: Cloud hosting 24

Hình 7: Tổng quan hệ thống 25

Hình 8: Cơ sở dữ liệu hệ thống 26

Hình 9: Giao diện trang chủ 27

Hình 10: Giao diện chức năng đăng nhập/đăng ký tài khoản 27

Hình 11: Danh mục các loại sách 28

Hình 12: Ví dụ về danh mục sách: Learning 28

Hình 13: Thêm sách vào giỏ hàng/mục yêu thích 29

Hình 14: Giao diện xem thông tin sách 29

Hình 15: Giao diện đặt hàng 30

Hình 16: Giao diện điền thông tin giao hàng 31

Hình 17: Giao diện trang thông tin liên lạc nhà sách 32

Hình 18: Giao diện trang admin 32

Hình 19: Giao diện chức năng Quản lý sách 33

Hình 20: Giao diện chức năng Quản lý mã giảm giá 33

Hình 21: Giao diện chức năng Quản lý tài khoản 34

Hình 22: Giao diện chức năng Quản lý đơn hàng 34

Trang 7

DANH MỤC TỪ VIẾT TẮT

Model-View-Controller

Trang 8

MỞ ĐẦU

Khi việc sử dụng máy tính ngày càng phổ biến thì mạng máy tính (mạng Internet)ngày càng phát triển Lợi ích của việc sử dụng mạng Internet rất nhiều và đa dạng Có thểlấy ví dụ về việc mua bán, giao dịch và kinh doanh trên mạng (hay còn gọi là thương mạiđiện tử) cũng đang phát triển và góp phần không nhỏ trong đời sống hàng ngày của chúngta Mua bán qua mạng là một giải pháp tối ưu trong việc phân phối thông tin và mục đíchthương mại, và đây cũng là một mảnh đất mới cho thị trường hàng tiêu dùng trong giaiđoạn phát triển kinh tế ở nước ta Thương mại điên tử là một hình thức kinh doanh trênmạng đang rất phát triển trên thế giới Với một chi phí thấp, khả thi, bất cứ một doanhnghiệp nào cũng có thể nhanh chóng tham gia thương mại điện tử để đem lại cơ hội kinhdoanh cho doanh nghiệp

Bên cạnh đó, trong thời đại ngày nay, khi thế giới đang chuyển dịch mạnh mẽ vềhình thức số hóa, ngành xuất bản và sách không thể tránh khỏi sự biến đổi toàn diện.Những nhà sách thương mại điện tử, trở thành điểm gặp gỡ của vô vàn nguồn tri thức vàniềm đam mê đọc sách, mở ra một hướng mới cho sự tiếp cận và tận hưởng văn hóa đọc.Và website bán sách trực tuyến cũng nằm trong sự phát triển đó.

Đồ án phân tích thiết kế hệ thống bán sách trực tuyến dựa trên cách tiếp cậnthương mại điện tử và nền tảng lập trình NET của Microsoft và các phần tiếp theo củabài báo cáo được trình bày như sau:

Chương 1: Tổng quan: Chương này tập trung vào việc giới thiệu đề tài, xác định

mục tiêu, phạm vi nghiên cứu, khảo sát thực tế, và phân tích các quy trình nghiệpvụ để hình dung rõ hơn về hoạt động của nhà sách trực tuyến

Chương 2: Cơ sở lý thuyết: Từ những kiến thức được học, từ sự hướng dẫn của

thầy và từ sự tìm tỏi, tìm hiểu về học phần này, chương này sẽ cung cấp nền tảngkiến thức cho việc hiểu rõ hơn về những công nghệ được sử dụng để hình thànhnhà sách trực tuyến.

Chương 3: Cài đặt hệ thống: Trong chương này, nhóm sinh viên sẽ tiến hành cài

đặt và triển khai hệ thống dựa trên các thiết kế đã hoàn thành ở các chương trước.Tiếp đến sẽ thực hiện các chức năng chính của hệ thống và kiểm thử hệ thống vớidữ liệu thực tế Kết quả của chương này là một hệ thống hoạt động được với cácchức năng cơ bản.

Cuối cùng là phần Kết luận và Tài liệu tham khảo

Trang 9

CHƯƠNG 1 TỔNG QUAN

1.1 GIỚI THIỆU ĐỀ TÀI

Trong thời đại số hóa hiện nay, việc tận dụng công nghệ để thuận lợi hóa mọi khíacạnh của cuộc sống là không thể phủ nhận Nhưng hiện nay vẫn còn những cách quản lýbằng sổ sách và mua bán sách truyền thống Trong ngữ cảnh này, việc phát triển một hệthống bán sách trực tuyến không chỉ là một xu hướng mà còn là một giải pháp đáng chú ýđể đáp ứng nhu cầu đọc sách ngày càng đa dạng của cộng đồng Bởi, sách vừa là món ăntinh thần, vừa là chìa khóa để mở ra kho tàng kiến thức nhân loại, như câu nói: “Sách làngười bạn không thể thiếu mỗi người cần phải đọc để khám phá, tu thân và trưởngthành”

Hệ thống bán sách trực tuyến giúp chủ cửa hàng dễ dàng đăng nhập để quản lý,giúp cập nhật thông tin sách cũng như quảng bá sản phẩm Đây là hình thức truyền tảithông tin nhanh chóng, hiệu quả và chi phí thấp Tầm quan trọng đầu tiên của cửa hàngbán sách trực tuyến là sự thuận tiện Với chỉ một vài cú nhấp chuột, khách hàng có thểtruy cập vào hàng ngàn cuốn sách trong mọi lĩnh vực và thể loại Không cần phải dichuyển đến cửa hàng vật lý, không mất nhiều thời gian, khách hàng có thể dễ dàng tìmkiếm, chọn lựa và mua sách thông qua website trực tuyến ngay tại nhà Điều này đặc biệthữu ích đối với những người có cuộc sống bận rộn hoặc sinh sống ở những khu vực xathành phố.

Xuất phát từ thực tế trên, nhóm chúng em đã chọn đề tài “Nhà sách trực tuyến

Made in Heaven” để nghiên cứu và thực hiện Hệ thống bán sách trực tuyến là một hình

thức kinh doanh sách hiện đại, mang lại nhiều lợi ích cho cả người mua và người bán.Trong tương lai, cửa hàng bán sách trực tuyến sẽ tiếp tục phát triển và chiếm lĩnh thịtrường sách.

1.2 MỤC TIÊU ĐỀ TÀI

Với mong muốn đem lại sự tiện lợi và một dịch vụ hoàn hảo cho khách hàng, nhàsách trực tuyến Made in Heaven sẽ cung cấp các đầu sách phù hợp với nhiều đối tượngkhác nhau, và luôn phát triển không ngừng để phục vụ khách hàng một cách tốt nhất vớinhững tiêu chí như:

- Số lượng, số loại sách phải phong phú, đa dạng và nhiều thể loại

Trang 10

- Giá cả hợp lý và chất lượng tốt nhất có thể

- Rút ngắn thời gian tìm kiếm sản phẩm, giao dịch nhanh chóng và an toàn, đảmbảo được quyền lợi của khách hàng

- Có nhiều chương trình khuyến mãi hấp dẫn dành cho khách hàng

Mục tiêu của đề tài này là xây dựng một hệ thống bán sách trực tuyến thông minh,tiện lợi và đáng tin cậy, nhằm mang lại trải nghiệm mua sắm sách tốt nhất cho kháchhàng với những chức năng chính sau:

- Chức năng của người quản lý

+ Quản lý sách : thêm sách, xem sách, tìm kiếm sách, xoá sách+ Quản lý đơn đặt hàng

+ Quản lý tài khoản : Đăng nhập, đăng xuất, xem thông tin khách hàng, tìm kiếmthông tin khách hàng

- Chức năng của khách hàng + Đăng nhập, đăng ký

+ Quản lý tài khoản : xem thông tin, đổi mật khẩu+ Quản lý giỏ hàng: thêm sách, cập nhật số lượng, xoá+ Xem đơn hàng

+ Xem sách và chi tiết sách+ Mua sách

+ Thanh toán

Tổng thể, mục tiêu của đề tài hệ thống bán sách trực tuyến là xây dựng một nềntảng mua sắm sách trực tuyến hoàn hảo, đáp ứng đầy đủ các yêu cầu và mong đợi củakhách hàng Bằng cách tạo ra một giao diện người dùng thân thiện, đảm bảo tính bảomật, cung cấp sách đa dạng và chất lượng, cung cấp thông tin chi tiết và hỗ trợ kháchhàng tốt, hệ thống bán sách trực tuyến này sẽ mang lại trải nghiệm mua sắm sách tuyệtvời cho mọi người.

1.3 PHƯƠNG PHÁP TIẾP CẬN

Nghiên cứu quy trình quản lý nhà sách trực tuyến, nghiên cứu ngôn ngữ C#ASP.NET, MVC Framework, Entity Framework và mô hình Model - View – Controller.

Trang 11

- Sử dụng các phương pháp nghiên cứu:+ Phương pháp đọc tài liệu.

+ Phương pháp phân tích mẫu, thực nghiệmNội dung thực hiện cụ thể của đề tài:

- Hiểu được cách sử dụng cơ bản của ngôn ngữ C# ASP.NET, trong đó có các đốitượng, biến, hàm, phương thức, thuộc tính…

- Tìm hiểu cách sử dụng MVC Framework, Entity Framework trong thiết kế và lậptrình website bằng ngôn ngữ C# ASP.NET.

- Tìm hiểu cách sử dụng phần mềm Visual Studio 2022 và SQL Server để thiết kếgiao diện và xây dựng các chức năng website quản lý bằng ngôn ngữ C#.

- Biết cách sử dụng hệ quản trị CSDL bằng Microsoft SQL Server 2019.- Khảo sát và phân tích yêu cầu quy trình quản lý.

- Thiết kế và đặc tả hệ thống.- Xây dựng cơ sở dữ liệu.

- Lập trình các module của hệ thống.- Kiểm thử hệ thống

- Triển khai thực nghiệp hệ thống trên cloud hosting

Trang 12

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

2.1 ASP.NET CORE MVC2.1.1 ASP.NET

ASP viết đầy đủ là Active Server Pages, và NET là viết tắt của NETwork EnabledTechnologies ASP.NET là một nền tảng web được sử dụng để tạo các trang web, ứngdụng và dịch vụ web Đây là sản phẩm tích hợp của các ngôn ngữ HTML, CSS vàJavaScript ASP.NET hoạt động trên HTTP, sử dụng các lệnh và chính sách của HTTPđể trình duyệt có thể trở thành giao tiếp song phương của máy chủ

ASP.NET được ra đời vào năm 2002 và đến nay đã được nâng cấp thành nhiềuphiên bản khác nhau.Phiên bản ASP.NET đầu tiên được triển khai là 1.0 và phiên bảnASP.NET mới nhất là phiên bản 4.6 ASP.NET được thiết kế để tương thích với giaothức HTTP HTTP là giao thức chuẩn được sử dụng trên tất cả các ứng dụng web Cácứng dụng ASP.NET có thể được viết bằng nhiều ngôn ngữ NET khác nhau Trong đó cócác kiểu ngôn ngữ như C#, VB.NET và J#

ASP.NET hỗ trợ trên 3 dạng phát triển khác nhau:

- Web Forms: ASP.NET cung cấp tương tác hướng sự kiện cho các ứng dụng web,nó được sử dụng để phát triển ứng dụng có quyền truy cập dữ liệu Đồng thời, kiểuphát triển web này cũng sẽ cung cấp dữ liệu cho máy chủ và sự kiện để tạo nênứng dụng phù hợp Web Forms được phát triển một cách nhanh chóng nhờ vào sửdụng thư viện điều khiển phong phú đánh dấu HTML.

- ASP.NET MVC: cung cấp các mẫu MVC (Model View Controller) để xây dựnglên trang web động Những mẫu này được sử dụng cho dữ liệu (Model), giao diệnngười dùng (View) và logic ứng dụng (Controller) Mô hình này sẽ đảm nhậnnhiệm vụ duy trì dữ liệu và logic của ứng dụng Chế độ xem sẽ là giao diện ngườidùng và hiển thị dữ liệu Bộ điều khiển sẽ xử lý yêu cầu của người dùng về phầnView và Model này.

- ASP.NET web Pages: được sừ dụng để tạo ra các trang web động kết hợp máy chủvới HTML một cách nhanh chóng ASP.NET web Pages sẽ đánh dấu mã của bạn vàHTML cùng nhau trong cùng một tệp.

Trang 13

Hình 1: ASP.NET

2.1.2 MÔ HÌNH MVC

Mô hình MVC (Model – View – Controller) là mô ̣t mô hình thiết kế hay kiến trúcđược sử dụng phổ biến trong k礃̀ thuâ ̣t phần mềm Mô hình MVC giúp các nhà thiết kế,lâ ̣p trình web xử lý các yêu cầu k礃̀ thuâ ̣t và hoàn thiê ̣n sản phẩm dễ dàng và nhanh chónghơn Nó có nhiê ̣m vụ phân bổ các source code thành 3 phần chính Mỗi thành phần cómô ̣t nhiê ̣m vụ riêng biê ̣t và xử lý đô ̣c lâ ̣p với các thành phần khác:

- Model: Là bộ phận có chức năng lưu trữ toàn bộ dữ liệu của ứng dụng và là cầunối giữa 2 thành phần bên dưới là View và Controller Một model là dữ liệu đượcsử dụng bởi chương trình Đây có thể là cơ sở dữ liệu, hoặc file XML bình thườnghay một đối tượng đơn giản Chẳng hạn như biểu tượng hay là một nhân vật tronggame Nó hiê ̣n rõ các thao tác với cơ sở dữ liê ̣u như cho ph攃Āp xem, truy xuất, xử lýdữ liê ̣u,…

- View: Đây là phần giao diện (theme) dành cho người sử dụng View là phươngtiện hiển thị các đối tượng trong một ứng dụng Nơi mà người dùng có thể lấy đượccác thông tin dữ liê ̣u của MVC thông qua thao tác truy vấn như tìm kiếm hoă ̣cthông qua các website Chẳng hạn như hiển thị một cửa sổ, nút hay văn bản trongmột cửa sổ khác Nó bao gồm bất cứ thứ gì mà người dùng có thể nhìn thấy được.Thông thường, các ứng dụng web sẽ sử dụng MVC View như mô ̣t phần của hê ̣thống, nơi các thành phần HTML được tạo ra Bên cạnh đó, View cũng có chứcnăng ghi nhâ ̣n hoạt đô ̣ng của người dùng để tương tác với phần Controller Tuynhiên, View lại không có mối quan hê ̣ trực tiếp với Controller Đồng thời, nó cũngkhông lấy được dữ liê ̣u từ Controller mà chỉ có chức năng hiển thị yêu cầu vàchuyển cho Controller.

Trang 14

- Controller: Là bộ phận có nhiệm vụ xử lý các yêu cầu người dùng đưa đến thôngqua View Một controller bao gồm cả Model lẫn View Nó nhận input và thực hiệncác update tương ứng, đưa ra những dữ liê ̣u phù hợp nhất cho người dùng.

Hình 2: Các thành phần trong mô hình MVC

Trang 15

1 Đầu tiên, client sẽ gửi một request tới server thông qua Controller.

2 Controller tiếp nhận request, và xử lý luồng đi tiếp theo của yêu cầu Trong trường hợpchỉ chuyển từ trang này sang trang khác mà không yêu cầu gửi và nhận dữ liệu thì lúc nàyController sẽ chuyển hướng lại cho browser và kết thúc luồng Lúc này luồng xử lý sẽ đitheo thứ tự 1à 6 à 7 à 8.

3 Nếu request của người dùng yêu cầu phải xử lý dữ liệu thì Controller gọi xuống Modelđể lấy dữ liệu Lúc này Model sẽ tương tác với database để lấy dữ liệu, dữ liệu đượcModel gửi về Controller, Controller gọi đến View phù hợp với request kèm theo dữ liệucho View, View sẽ lắp dữ liệu tương ứng vào HTML và gửi lại một HTML choController sau khi thực hiện xong nhiệm vụ của mình Cuối cùng Controller sẽ trả kết quảvề Browser Lúc này luồng xử lý sẽ đi từ 1 à 2 à 3 à 4 à 5 à 6 à 7 à 8.

4 Nếu request của người dùng chỉ yêu cầu dữ liệu nhưng không chuyển trang thì thay vìController sẽ trả dữ liệu về cho View thì Controller sẽ respone lại cho trình duyệt thôngqua API, dữ liệu trả về thường sẽ là dạng JSON Luồng xử lý lúc này sẽ là 1 à 2 à 3 à 4à 5 à 8.

Hình 3: Luồng xử lý trong MVC

Trang 16

2.1.3 ASP.NET CORE MVC

ASP.NET Core MVC là một framework “nhẹ”, opensource, giúp tối ưu hóa hiệunăng của ứng dụng với ASP.NET Core ASP.NET Core MVC cung cấp các tính năngdựa trên mô hình xây dựng website động cho ph攃Āp phân chia rõ ràng các khối lệnh Nócung cấp cho bạn toàn quyền kiểm soát đánh dấu, hỗ trợ phát triển với TDD-friendly vàsử dụng các tiêu chuẩn web mới nhất.

ASP.NET Core MVC có những tính năng sau:1 Routing

Routing sẽ xác định URL và điều khiển thông tin tương ứng với URL mà ngườidùng web nhập vào Tất cả các cấu hình Routing của một ứng dụng ASP.NETMVC được lưu trữ trong RouteTable, nó đóng vai trò định tuyến các URL để xácđịnh các lớp xử lý tương ứng khi có request được gửi đến từ người dùng web.Ví dụ:

2 Model binding

Trong ASP.NET Core MVC Model binding chuyển đổi dữ liệu yêu cầu từ phíaclient (form values, route data, query string parameters, HTTP headers) vào bêntrong đối tượng để controller có thể xử lí Kết quả là Controller của bạn khôngphải thực hiện công việc tìm ra dữ liệu từ đâu đến Nó chỉ đơn giản là kiểm tra dữliệu và tham số từ phương thức action.

Ví dụ:

Trang 17

using System.ComponentModel.DataAnnotations public class LoginViewModel

public string Password { get; set; }

[Display(Name = "Remember me? on cmoon.net")]public bool RememberMe { get; set; }

Và model được gọi trong action của controller:

public async Task<IActionResult> Login(LoginViewModel model, string returnUrl = null)  

{  

      if (ModelState.IsValid)        {

      // work with the model        }

        // At this point, something failed, redisplay form        return View(model);

    <title>@ServiceName.GetTitle</title><head>

    <h1>@ServiceName.GetTitle</h1></body>

5 Filters

Filters giúp các lập trình viên đóng gói “cross-cutting concerns” giống như là xửlý ngoại lệ và phân quyền Filter được kích hoạt để chạy trước và sau các actioncủa controller Ví dụ về phân quyền [Authorize] được đặt trước action.

Ví dụ:

Trang 18

public class AccountController : Controller{

6 Razor view engine

SP.NET Core MVC views sử dụng Razor view engine để render các code htmlđến view.Razor được sử dụng để tự động tạo nội dung web trên máy chủ.

7 Tag Helpers

Tag Helper giúp chúng ta viết phần tử HTML trong Razor sử dụng cú pháp thânthiện với HTML Nó nhìn như là HTML chuẩn vậy nhưng code được xử lý bởiRazor Engine trên server và nó tận dụng đươc các ưu điểm của việc xử lý phíaserver.

Razor được tạo sử dụng Tag Helper nhìn như phần tử HTML thuần Nó thao tácvới các phần tử HTML như thêm mới phần tử HTML hay thay thế các nội dung cósẵn bằng một cái mới.

8 View Components

View Component là cơ chế tái sử dụng trong Razor Pages (cùng với PartialPages) View Component hướng tới xây dựng các thành phần tương đối độc lập,phức tạp với các logic xử lý dữ liệu riêng Theo logic này, ta có thể chia giao diệnra thành các View Component (header, menu, tag cloud, footer …) và phát triểnđộc lập Sau đó gh攃Āp nối chúng vào layout hoặc nhúng vào một số trang cụ thể.

2.2 ENTITY FRAMEWORK CORE

2.2.1 ENTITY FRAMEWORK CORE LÀ GÌ?

Entity Framework Core (EF Core) là một framework ánh xạ cơ sở dữ liệu - đối tượngmới cho NET Nó hỗ trợ các truy vấn LINQ, theo dõi thay đổi, cập nhật và thay đổi cấutrúc EF Core hoạt động với SQL Server/ SQL Azure, SQLite, Azure Cosmos DB,MySQL, PostgreSQL và nhiều cơ sở dữ liệu khác thông qua mô hình plugin của cơ sở dữliệu.

Entity Framework Core mang những đặc điểm sau:

Ngày đăng: 02/08/2024, 16:11