ASP.NET CORE là một phiên bản của ASP.NET, được phát hành bởi Microsoft và là một mã nguồn mở trên GitHub ASP.NET Core được sử dụng để phát triể khuôn khổ website và có thể thích ứng với
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN
Trang 2TP HỒ CHÍ MINH – 2023
LỜI CẢM ƠN
Em xin chân thành gửi lời cảm ơn đến:
Ban giám hiệu trường Đại Học Sư phạm Thành phố Hồ Chí Minh vì đã tạo điều kiện về cơ sở vật chất với hệ thống thư viện hiện đại, đa dạng các loại sách, tài liệu thuận lợi cho việc tìm kiếm, nghiên cứu thông tin
Em xin gửi lời cảm ơn sâu sắc đến giảng viên bộ môn – Thầy Lương Trần Hy Hiến
đã quan tâm hướng dẫn, truyền đạt những kiến thức quý báu cho chúng em trong suốt thời gian học tập vừa qua Trong thời gian tham gia lớp học Công nghệ Net của thầy, chúng em
đã có thêm cho mình nhiều kiến thức bổ ích, tinh thần học tập hiệu quả, nghiêm túc Đây chắc chắn sẽ là những kiến thức quý báu, là hành trang để chúng em có thể vững bước sau này
Tuy nhiên, do vốn kiến thức còn nhiều hạn chế và khả năng tiếp thu thực tế còn nhiều bỡ ngỡ Mặc dù, chúng em đã cố gắng hết sức nhưng chắc chắn khó có thể tránh khỏi những thiếu sót và nhiều chỗ còn chưa chính xác, kính mong thầy xem xét, đánh giá và bỏ
qua cho chúng em để chúng em hoàn thành học phần này
Chúng em xin chân thành cảm ơn!
Trang 3MỤC LỤC
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 5
1.1 Lý do chọn đề tài 5
1.2 Mục tiêu đề tài 5
CHƯƠNG 2 : CƠ SỞ LÝ THUYẾT 6
2.1 ASP.NET CORE là gì? 6
2.2 Các thành phần trong ASP.NET CORE 6
2.3 ASP.NET Core MVC 7
2.4 Entity Framework 8
2.5 Ngôn ngữ lập trình 8
2.5.1 HTML 8
2.5.2 CSS 9
2.5.3 C# 9
2.5.4 Bootstrap 9
2.5.5 Javascript 9
2.6 Các công cụ hỗ trợ 9
2.6.1 Microsodt Visual Studio 9
2.6.2 Microsoft SQL Server 10
2.6.3 GitHub 10
CHƯƠNG 3: Ý TƯỞNG XÂY DỰNG HỆ THỐNG 11
3.1 Ý tưởng 11
3.2 Mô tả bài toán 11
3.3 Phân tích hệ thống 12
3.4 Thiết kế cơ sở dữ liệu 12
CHƯƠNG 4: XÂY DỰNG HỆ THỐNG 13
4.1 Xây dựng giao diện dành cho khách hàng 13
4.2 Xây dựng giao diện dành cho admin 20
CHƯƠNG 5: TÀI LIỆU THAM KHẢO 22
Trang 4DANH MỤC HÌNH ẢNH
Hình 2.1 – Thành phần trong ASP.NET CORE 6
Hình 3.1 – Usecase Hệ thống 12
Hình 3.2 – Cơ sở dữ liệu 13
Hình 4.1 - Giao diện Trang chủ 14
Hình 4.3 - Giao diện Trang chủ_Gợi ý hôm nay 15
Hình 4.4 - Giao diện Trang chủ_Footer 15
Hình 4.5 – Giao diện Cửa hàng 16
Hình 4.6 – Giao diện Giới thiệu 16
Hình 4.7 – Giao diện Liên hệ 17
Hình 4.8 – Giao diện Sản phẩm 18
Hình 4.9 – Giao diện Giỏ hàng 19
Hình 4.11– Giao diện Trang Admin 21
Hình 4.12 – Giao diện Quản lý Sản phẩm 21
Hình 4.13 – Giao diện Quản lý Thể loại 22
Hình 4.14 – Giao diện Quản lý Nhà Xuất Bản 22
Trang 5CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI
1.1 Lý do chọn đề tài
Thị trường sách trực tuyến đang phát triển mạnh, mang lại tiện lợi và khả năng tiếp cận rộng lớn cho khách hàng Với tiềm năng về thương mại điện tử ngày càng tăng trường, một website bán sách có thể mang lại nhiều lợi nhuận cho người bán và tiện lợi cho người mua Quản lý và tổ chức cũng trở nên dễ dàng Đó cũng là lý do nhóm chúng
em chọn làm một Website bán sách
1.2 Mục tiêu đề tài
Tìm hiểu lý thuyết ASP.NET CORE
Xây dựng và hoàn thiện website bán hàng
Quản lý sản phẩm, thêm, xóa và sửa sản phẩm
Trang 6CHƯƠNG 2 : CƠ SỞ LÝ THUYẾT
2.1 ASP.NET CORE là gì?
ASP.NET CORE là một phiên bản của ASP.NET, được phát hành bởi Microsoft và là một mã nguồn mở trên GitHub ASP.NET Core được sử dụng để phát triể khuôn khổ website và có thể thích ứng với nhiều trình duyệt khác nhau như Windows, Mac, Linux
kể cả trên nền tảng MVC
ASP.NET Core được thiết kể tối ưu development framework cho những ứng dụng mà nó chạy on-promise hay được triển khai trên đám mây ASP.NET Core bao gồm các thành theo hướng module với mục đích tối thiểu tài nguyên và tiết kiệm chi phí khi phát triển Đồng thời, ASP.NET Core cũng là một mã nguồn mở, một xu thế mà các ngôn ngữ lập trình hiện nay hướng đến
2.2 Các thành phần trong ASP.NET CORE
Hình 2.1 – Thành phần trong ASP.NET CORE
Cấu trúc ASP.NET Core bao gồm 3 phần: Application Frameworks, Utility Framwork và Platform
Application Frameworks: chứa các framework như MVC, Razor Pages và Blazor Các framework này giúp giải quyết các loại vấn đề khác nhau, và giải quyết cùng một vấn đề theo cách khác nhau
- Razor Pages là một Framework đươn giản hướng tới xây dựng các trang web tự thân
độ lập Mô hình của Razor Pages đơn giản hơn so với MVC
- Blazor là framework dành cho phát triển ứng dụng đơn trang (SPA) nhưng sử dụng ngôn ngữ C# thay cho javascript chạy trên trình duyệt
Trang 7Utility Framework chứa hai framework (không bắt buộc) nhưng lại được sử dụng gần như trong mọi ứng dụng ASP.NET Core là Entity Framework Core và ASP.NET CORE Identity
- Entity Framework Core là một ORM (Object Relational Mapping) giúp ứng dụng tương tác với cơ sở dữ liệu Entity Framework Core giúp ánh xạ (hai chiều) giữa các bảng cơ sở dữ liệu với các domain class của ứng dụng
Asp.net Core Identity là framework dành cho xác thực (authentication) và xác minh quyền (authorization) dành cho người dùng trong ứng dụng
Platform chứa nhiều thành phần cấp thấp cần cho thiết cho việc nhận và xử lý truy vấn HTTP, cũng như tạo ra phản hồi phù hợp
- HTTP Server, còn gọi là built-in- server với tên gọi là Kestrel có nhiệm vụ tiếp nhận truy vấn HTTP Kestrel có thể hoạt động độc lập (tích hợp trong một ứng dụng khác) hoặc phối hợp với một web server thông thường
- URL Routing là cơ chế ánh xạ chuỗi truy vấn HTTP sang thực thi một chương thức nào đó
- Model Binding là cơ chế ánh xạ dữ liệu chứa trong truy vấn HTTP sang tham số của phương thức cần thực thi
2.3 ASP.NET Core MVC
Mô hình MVC là một kiến trúc thiết kế của một phần mềm công nghệ thông tin Khi một phần mềm sử dụng mô hình này thì nó sẽ phải chia ra thành ba phần: Model-View-Controller (MVC) với ba nhiệm vụ khác nhau:
- Model: là thành phần chứa tất cả các phương thức xử lý, truy xuất database, đối tương mô tả dữ liệu như các class, hàm xử lý
- View: là phần đảm nhận việc hiển thị thông tin, tương tác với người dùng
- Controller: là phần xử lý và điều hướng các hành động của client, từ đó đưa ra các
xử lý với database nếu có Controller là cầu nối giữa View và Model
ASP.NET Core MVC là một framework, opensource giúp tối ưu hóa hiệu năng của ứng dụng với ASP.NET Core ASP.NET Core MVC cung cấp các tính năng dựa trên mô hình xây dựng website động cho phps 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
Các tính năng của ASP.NET Core MVC :
- Routing
- Model binding
- Model validation
- Dependency injection
Trang 8- Filters
- Areas
- Web APIs
- Testability
- Razor view engine
- Strongly typed views
2.5 Ngôn ngữ lập trình
2.5.1 HTML
HTML( ngôn ngữ đánh dấu siêu văn bản) là một ngôn ngữ đánh dấu được thiết kế để tạo nên các trang web trên World Wide Web Các trình duyệt nhận tài liệu HTML từ một web server hoặc một kho lưu trữ cục bộ và render tài liệu đó thành các trang web đa phương tiện HTML mô tả cấu trúc của một trang web về mặt ngữ nghĩa và các dấu hiệu ban đầu bao gồm sự xuất hiện của tài liệu
HTML có thể nhúng các chương trình được viết bằng scripting như JavaScript, điều này ảnh hưởng đến hành vi và nội dung của các trang web Việc bao gồm CSS xác định giao diện và bố cục của nội dung
Trang 92.5.4 Bootstrap
Bootstrap là một framework bao gồm 3 thành phần cơ bản là HTML, CSS, Javascript Framework này được sử dụng để phát triển trang web chuẩn theo Responsive Sử dụng Bootstrap giúp việc thiết kế web tiết kiệm nhiều thời gian và đơn giản hơn
Bootstrap là một bộ sưu tập hoàn toàn miễn phí Bộ sưu tập này bao gồm các mã nguồn
mở và các công cụ giúp bạn có thể tạo thành một website với đầy đủ các thành phần
Bootstrap sẽ quy định sẵn các thuộc tính về kích thích, màu sắc và các chiều dài, chiều rộng của các vùng website… Thông qua đó, designer có thể dễ dàng sáng tạo ra các website theo mong muốn nhưng vẫn đảm bảo tính thẩm mỹ Đồng thời, sử dụng Bootstrap
sẽ giúp tiết kiệm rất nhiều thời gian
2.5.5 Javascript
JavaScript là ngôn ngữ lập trình được nhà phát triển sử dụng để tạo trang web tương tác
Từ làm mới bảng tin trên trang mạng xã hội đến hiển thị hình ảnh động và bản đồ tương tác, các chức năng của JavaScript có thể cải thiện trải nghiệm người dùng của trang web
Là ngôn ngữ kịch bản phía máy khách, JavaScript là một trong những công nghệ cốt lõi của World Wide Web
2.6 Các công cụ hỗ trợ
2.6.1 Microsodt Visual Studio
Microsoft Visual Studio là một môi trường phát triển tích hợp (IDE) từ Microsoft Microsoft Visual Studio còn được gọi là "Trình soạn thảo mã nhiều người sử dụng nhất thế giới ", được dùng để lập trình C++ và C# là chính Nó được sử dụng để phát triển chương trình máy tính cho Microsoft Windows, cũng như các trang web, các ứng dụng web và các dịch vụ web Visual Studio sử dụng nền tảng phát triển phần mềm của Microsoft như Windows API, Windows Forms, Windows Presentation Foundation, Windows Store và Microsoft Silverlight Nó có thể sản xuất cả hai ngôn ngữ máy và mã số quản lý
Trang 102.6.2 Microsoft SQL Server
Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ được phát triển bởi Microsoft Là một máy chủ cơ sở dữ liệu, nó là một sản phẩm phần mềm có chức năng chính là lưu trữ và truy xuất dữ liệu theo yêu cầu của các ứng dụng phần mềm khác Có thể chạy trên cùng một máy tính hoặc trên một máy tính khác trên mạng (bao gồm cả Internet)
2.6.3 GitHub
GitHub là một hệ thống quản lý dự án và phiên bản code, hoạt động giống như một mạng
xã hội cho lập trình viên Các lập trình viên có thể clone lại mã nguồn từ một repository và Github chính là một dịch vụ máy chủ repository công cộng, mỗi người có thể tạo tài khoản trên đó để tạo ra các kho chứa của riêng mình để có thể làm việc
Trang 11CHƯƠNG 3: Ý TƯỞNG XÂY DỰNG HỆ THỐNG 3.1 Ý tưởng
Nhóm ban đầu lên ý tưởng cho một website hoàn chỉnh có các phần giao diện chính hiển thị cho khách hàng truy cập để mua hàng và một trang giao diện admin Hai trang này có chức năng đối lập nhau, một bên là dành cho việc mua, một bên dành cho việc quản lý và bán hàng
Yêu cầu giao diện cho các trang phải trực quan, gọn gàng, không đánh đố người dùng, không lỗi và luôn ổn định ở các tính năng cơ bản
3.2 Mô tả bài toán
Người quản trị nắm được tình hình mua bán, lưu trữ sách, doanh thu của website, thống
kê thông tin mua bán theo hàng tháng vàhiển thị trên trang admin Trang web sẽ là người giới thiệu cho khách hàng
Việc mua bán sách sẽ được thực hiện theo mô hình sau:
- Người quản lý sẽ quản lý tài khoản của khách, thông tin khách hàng, các loại, thương hiệu, sản phẩm mỹ phẩm, xác nhận đơn hàng
- Người quản lý thông qua tính năng của web hoặc khách liên hệ đến để tư vấn cho khách
- Khách hàng sử dụng tính năng của website để đăng ký đăng nhập, lựa chọn loại hinh sản phẩm, tìm kiếm các mặt hàng
- Khi khách hàng cảm thấy ưng ý sản phẩm nào khách hàng sẽ thêm sản phẩm vào giỏ hàng sau đó chọn đặt hàng, trang web sẽ hiển thị khách hàng cần nhập thông tin địa chỉ giao hàng và xác nhận đơn hàng Thông tin đơn hàng sẽ được người quản lý kiểm duyệt và xác nhận Khách hàng muốn kiểm tra thông tin đơn hàng có thể vào quản lý đơn hàng xem lại những đơn hàng mình đã đặt
- Người quản lý sẽ có chức năng thêm, xóa, cập nhật thông tin thông tin loại hàng, thương hiệu, sản phẩm Ngoài ra người quản lý còn xác nhận đơn hàng khi khách hàng đặt hàng từ trang web của mình, khách hàng sẽ đặt hàng và được người quản
lý xác nhận, khi xác nhận xong người quản lý sẽ giao hàng, khi giao xong sẽ để trạng thái đơn hàng là đã nhận
Trang 123.4 Thiết kế cơ sở dữ liệu
Cơ sở dữ liệu của hệ thống
Hình 3.2 – Cơ sở dữ liệu
Trang 13C HƯƠNG 4: XÂY DỰNG HỆ THỐNG
4.1 Xây dựng giao diện dành cho khách hàng
Hình 4.1 - Giao diện Trang chủ
Hình 4.2 - Giao diện Trang chủ_Sản phẩm nổi bật
Trang 14Hình 4.3 - Giao diện Trang chủ_Gợi ý hôm nay
Hình 4.4 - Giao diện Trang chủ_Footer
Trang 15Hình 4.5 – Giao diện Cửa hàng
Hình 4.6 – Giao diện Giới thiệu
Trang 16Hình 4.7 – Giao diện Liên hệ
Trang 17Hình 4.8 – Giao diện Sản phẩm
Trang 18Hình 4.9 – Giao diện Giỏ hàng
Trang 19Hình 4.10 – Giao diện Đặt hàng
Trang 204.2 Xây dựng giao diện dành cho admin
Hình 4.11 – Giao diện Trang Admin
Hình 4.12 – Giao diện Quản lý Sản phẩm
Trang 21Hình 4.13 – Giao diện Quản lý Thể loại
Hình 4.14 – Giao diện Quản lý Nhà Xuất Bản
Trang 22CHƯƠNG 5: TÀI LIỆU THAM KHẢO
https://tuhocict.com/cau-truc-asp-net-core/#cau-truc-aspnet-core-tong-qua Slide bài giảng :
https://drive.google.com/drive/folders/13AN5C80qhfWcuQOhb5ZfvexYjXsajGPFhttps://www.w3schools.com/