HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGKHOA CÔNG NGHỆ THÔNG TIN 1
-
-BÁO CÁO THỰC TẬP CƠ SỞ
ĐỀ TÀI: XÂY DỰNG WEBSITE THƯƠNG MẠI ĐIỆN TỬ BÁNTHIẾT BỊ CÔNG NGHỆ
Trang 2LỜI CẢM ƠN
Đầu tiên, em xin gửi lời cảm ơn chân thành tới Học Viện Công Nghệ BưuChính Viễn Thông đã đưa môn Thực Tập Cơ Sở vào chương trình giảng dạy.Từ đó, tạo điều kiện thuận lợi cho em thực hiện và hoàn thành báo cáo thực tậpcơ sở này
Đặc biệt, em xin gửi lời cảm ơn sâu sắc và chân thành tới giảng viênhướng dẫn – ThS Nguyễn Quỳnh Chi Sự hỗ trợ và hướng dẫn tận tình từ cô lànguồn động viên quý báu, giúp em có được nền tảng vững chắc để tiếp cận vàáp dụng kiến thức vào thực tiễn Em xin chân thành cảm ơn cô đã luôn nhiệttình chỉ bảo, đóng góp ý kiến và hỗ trợ em trong suốt quá trình hoàn thiện báocáo Thực Tập Cơ Sở
Tuy nhiên, vì thời gian và kiến thức chuyên môn còn hạn chế cùng nhiềuyếu tố khách quan khác nên trong quá trình thực hiện đề tài, em không tránhkhỏi những sai sót Kính mong được lời nhận xét và góp ý của cô, để em có thểhoàn thiện bài báo cáo tốt hơn Em xin chân thành cảm ơn cô!
Hà Nội, ngày 26 tháng 5 năm 2024
Võ Văn Bảo Phúc
2
Trang 3CHƯƠNG 3: THIẾT KẾ VÀ CÀI ĐẶT CHƯƠNG TRÌNH 14
3.1 Phân tích thiết kế website 14
3.2Các màn hình dự kiến 15
3.3Cài đặt ứng dụng 19
3.4Các tình huống kịch bản (Test scenarios) 34
CHƯƠNG 4: KẾT LUẬN CHUNG VÀ HƯỚNG PHÁT TRIỂN 38
Trang 4DANH MỤC CÁC TỪ VIẾT TẮT
AJAX Asynchronous JavaScript and XMLAPI Application programming interfaceCSDL Cơ sở dữ liệu
DOM Document Object ModelHTML HyperText Markup LanguageLINQ Language Integrated QueryCOD Cash on delivery
4
Trang 5Hình 3.2 f Màn hình quản lý đơn hàng của admin 18
Hình 3.2 g Màn hình quản lý tài khoản của người dùng (user) 18
Hình 3.3.3 c Quản lý danh mục sản phẩm cho người dùng 23
Hình 3.3.3 d Quản lý mã giảm giá cho người dùng 23
Hình 3.3.3 e Quản lý sản phẩm cho người dùng 24
Hình 3.3.3 f Quản lý đơn hàng cho người dùng 25
Hình 3.3.3 g Lớp gửi email xác nhận đến người dùng 26
Hình 3.3.3 h Quản lý người dùng của admin bằng Identity 27
Hình 3.3.3 i Quản lý thương hiệu cho admin 28
Hình 3.3.3 j Quản lý danh mục cho admin 29
Hình 3.3.3 k Quản lý mã giảm giá cho admin 30
Hình 3.3.3 l Quản lý sản phẩm cho admin 31
5
Trang 6CHƯƠNG 1: GIỚI THIỆU
1.1 Lý do chọn đề tài
Trong thời đại công nghệ số hiện nay, thương mại điện tử ngày càng trởthành một phương thức mua sắm phổ biến, mang lại sự tiện lợi và tiết kiệm thờigian cho người tiêu dùng Đặc biệt, thị trường thiết bị máy tính phát triển mạnhmẽ với nhu cầu lớn về các sản phẩm công nghệ cao Xây dựng một websitethương mại điện tử chuyên bán thiết bị máy tính không chỉ giúp tiếp cận đượclượng khách hàng lớn mà còn nâng cao khả năng cạnh tranh Đề tài này đượcchọn nhằm phát triển một hệ thống bán hàng trực tuyến hiệu quả, đáp ứng nhucầu của người tiêu dùng và hỗ trợ cho hoạt động kinh doanh.
Ngày nay, máy tính không chỉ là công cụ làm việc mà còn là phương tiệngiải trí phổ biến trong mọi gia đình Trong bối cảnh nền kinh tế toàn cầu hóa,nhu cầu trao đổi hàng hóa trên mạng ngày càng tăng, đòi hỏi sự phát triển củathương mại điện tử Công nghệ thông tin đã đem lại sự thuận tiện cho việc muasắm trực tuyến, giúp người dùng tiết kiệm thời gian và nỗ lực Việc xây dựngmột website thương mại điện tử chuyên bán thiết bị máy tính là một phản ánhcủa xu hướng này, đồng thời mang lại cơ hội phát triển kinh doanh.
Để đáp ứng nhu cầu ngày càng cao của thị trường, em đã quyết định tìmhiểu và xây dựng "Website thương mại điện tử" Mặc dù hình thức này đã phổbiến ở Việt Nam, nhưng vẫn còn một số hạn chế nhất định, đặc biệt là trongviệc thanh toán trực tuyến Do đó, em đã đề xuất một số giải pháp giả lập để tốiưu hóa quy trình và tạo ra một trải nghiệm mua sắm trực tuyến tốt hơn Điềunày không chỉ giúp nâng cao chất lượng dịch vụ mà còn thúc đẩy sự phát triểncủa thương mại điện tử tại Việt Nam.
1.2 Phạm vi đề tài
Đề tài này tập trung vào việc xây dựng một website thương mại điện tử bánthiết bị máy tính, bao gồm các chức năng chính như:
Quản lý sản phẩmQuản lý khách hàng
6
Trang 7Quản lý đơn hàng
Hỗ trợ thanh toán trực tuyếnTìm kiếm và lọc sản phẩm
Đánh giá và phản hồi của khách hàng
Website sẽ được phát triển trên nền tảng ASP.NET, sử dụng ngôn ngữ lậptrình C# và JavaScript, kết hợp với các công cụ hỗ trợ như jQuery và Bootstrap5 để tạo giao diện thân thiện và tương tác tốt với người dùng.
1.3 Phương pháp nghiên cứu
Tìm kiếm và nghiên cứu các tài liệu về Asp.net Framework và các côngnghệ có liên quan đến việc phát triển một ứng dụng web enterprise như LINQ,Bootstrap 5, jQuery của các tác giả trong và ngoài nước, các bài báo, thông tintrên mạng sau đó chọn lọc và sắp xếp lại theo ý tưởng của mình.
Dựa trên kết quả tìm hiểu được để xây dựng một ứng dụng web xemphim trực tuyến có áp dụng tất cả những nội dung đã nghiên cứu nhằm mụcđích minh họa cho phần cơ sở lý thuyết sẽ trình bày trong nội dung luận vănnày.
Các công cụ hỗ trợ nghiên cứu
1 Microsoft Word: dùng để viết tài liệu báo cáo
2 Microsoft Project: dùng để phân công nhiệm vụ cập nhật tiến độ dự án3 SQL Server Management Studio (SSMS): dùng để thiết kế cơ sở dữ liệu chohệ thống thương mại điện tử, viết và thực thi các truy vấn SQL, và quản lý dữliệu trong dự án.
4 Visual Studio: dùng để chỉnh sửa và chạy code
1.4 Bố cục luận văn
Luận văn này được chia thành các chương như sau:
Chương 1: Giới thiệu: Trình bày lý do chọn đề tài, phạm vi nghiên cứu,
phương pháp nghiên cứu và bố cục luận văn.
Chương 2: Cơ sở lý thuyết: Cung cấp kiến thức nền tảng về các ngôn
ngữ lập trình và công nghệ sử dụng trong đề tài, tập trung làm rõ về7
Trang 8Chương 3: Thiết kế và cài đặt chương trình: Mô tả chi tiết về yêu cầu hệ
thống, dữ liệu của hệ thống, và giao diện Đồng thời, trình bày kết quảkiểm thử và đánh giá hiệu quả của hệ thống.
Chương 4: Kết luận và hướng phát triển: Tóm tắt những kết quả đạt được
và đề xuất các hướng phát triển trong tương lai.
8
Trang 9CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Ngôn ngữ lập trình C#
C# là một ngôn ngữ lập trình hiện đại, được phát triển bởi Microsoft vàonhững năm cuối của thế kỷ 20 Sự ra đời của C# là một phần của nỗ lực củaMicrosoft để tạo ra một ngôn ngữ lập trình mạnh mẽ và linh hoạt, phục vụ chonền tảng phát triển NET Framework của họ.
Tính đến thời điểm hiện tại, C# vẫn tiếp tục phát triển và là một trongnhững ngôn ngữ lập trình phổ biến nhất cho phát triển ứng dụng web, desktopvà mobile trên nền tảng NET.
2.1.1 Ngôn ngữ truy vấn tích hợp
Ngôn ngữ truy vấn tích hợp (Language Integrated Query - LINQ) là mộttính năng quan trọng và mạnh mẽ của ngôn ngữ lập trình C#, giúp lập trình viênthực hiện các thao tác truy vấn dữ liệu một cách linh hoạt và dễ dàng VớiLINQ, lập trình viên có thể thực hiện các truy vấn trên các nguồn dữ liệu khácnhau như cơ sở dữ liệu (SQL Server, MySQL, etc.), tập tin XML, các collectiontrong bộ nhớ, và nhiều nguồn dữ liệu khác.
Các tính năng chính của LINQ bao gồm:
Cú pháp nhất quán: LINQ cung cấp một cú pháp đồng nhất cho các truyvấn dữ liệu, không phụ thuộc vào nguồn dữ liệu cụ thể Điều này giúplàm giảm sự phức tạp của mã và tăng khả năng đọc hiểu của mã nguồn.
Kiểm soát kiểu tại biên dịch: LINQ sử dụng các phương thức mở rộng(extension methods) và toán tử tải (operator overloading) để thực hiện cácphép toán trên dữ liệu Điều này cho phép kiểm soát kiểu tại thời điểmbiên dịch, giúp tránh được lỗi phát sinh ở thời điểm chạy ứng dụng.
Tích hợp với ngôn ngữ C#: LINQ được tích hợp chặt chẽ vào ngôn ngữC#, cho phép lập trình viên sử dụng các khái niệm quen thuộc như biến,vòng lặp, và điều kiện trong các truy vấn LINQ.
Với những ưu điểm này, LINQ đã trở thành một công cụ mạnh mẽ cho9
Trang 10việc xử lý và truy xuất dữ liệu trong ứng dụng C#, giúp tăng cường tính linhhoạt và hiệu suất của các ứng dụng phần mềm.
JavaScript là một ngôn ngữ lập trình kịch bản được sử dụng rộng rãi trênweb để tạo ra các trang web tương tác và động Với JavaScript, lập trình viên cóthể thực hiện các thao tác với DOM (Document Object Model), xử lý sự kiệnngười dùng, thay đổi nội dung của trang web mà không cần tải lại trang.
jQuery là một thư viện JavaScript nhẹ và mạnh mẽ, được phát triển đểgiảm bớt sự phức tạp trong việc lập trình trên web jQuery cung cấp một cúpháp đơn giản và ngắn gọn để thực hiện các thao tác DOM, xử lý sự kiện, tạohiệu ứng và gửi Ajax Việc sử dụng jQuery giúp lập trình viên viết ít mã hơn vàtăng cường khả năng tương tác trên trang web.
Các tính năng chính của jQuery bao gồm:
DOM manipulation: jQuery cho phép lập trình viên thực hiện các thao táctrên DOM một cách dễ dàng hơn, bao gồm thêm, sửa đổi và xóa các phầntử HTML.
Event handling: jQuery cung cấp một cú pháp đơn giản để xử lý sự kiệnngười dùng như click, hover, change, vv.
Ajax support: jQuery giúp tạo ra các yêu cầu HTTP một cách dễ dàng vàxử lý dữ liệu trả về từ máy chủ một cách hiệu quả.
Animation and effects: jQuery cung cấp các phương thức để tạo ra cáchiệu ứng và animation trên trang web mà không cần phải viết mãJavaScript phức tạp.
Bootstrap 5 là phiên bản mới nhất của framework Bootstrap, một bộ công10
Trang 11cụ phát triển giao diện web Bootstrap 5 cung cấp các thành phần giao diện sẵncó như nút, menu, biểu mẫu và lưới layout, giúp việc phát triển giao diện webtrở nên nhanh chóng và dễ dàng hơn Ngoài ra, Bootstrap 5 cũng hỗ trợ tích hợpresponsive design, đảm bảo rằng các trang web sẽ hiển thị một cách tốt trênnhiều loại thiết bị khác nhau, từ máy tính đến điện thoại di động.
Các tính năng chính của Bootstrap 5 bao gồm:
Responsive design: Bootstrap 5 được xây dựng với responsive designtrong tâm trí, giúp đảm bảo rằng các trang web sẽ hiển thị đẹp mắt và dễđọc trên các thiết bị khác nhau, từ máy tính đến điện thoại di động.
Thành phần giao diện: Bootstrap 5 cung cấp một bộ sưu tập các thànhphần giao diện sẵn có, giúp tiết kiệm thời gian và công sức trong việc xâydựng các trang web.
Customization: Bootstrap 5 cho phép lập trình viên tùy chỉnh và cấu hìnhcác thành phần theo ý muốn của họ, từ việc thay đổi màu sắc đến kiểudáng.
ASP.NET là một phần của NET framework, cung cấp một nền tảng đểxây dựng, triển khai và quản lý các ứng dụng web ASP.NET hỗ trợ nhiều tínhnăng hiện đại như:
MVC (Model-View-Controller): Đây là một mô hình thiết kế giúp táchbiệt logic của ứng dụng thành ba phần chính: Model (dữ liệu), View (giaodiện) và Controller (xử lý logic) Điều này giúp cải thiện tổ chức code vàdễ dàng bảo trì.
Razor Pages: Đây là một mô hình lập trình đơn giản và nhẹ, cho phép xâydựng giao diện web với cú pháp Razor, giúp kết hợp mã C# trực tiếptrong HTML.
Web API: ASP.NET Web API là một framework để xây dựng các dịchvụ HTTP, có thể được truy cập từ các ứng dụng khác nhau như web,mobile và desktop.
11
Trang 12Identity: Một hệ thống quản lý xác thực và phân quyền người dùng, cungcấp các chức năng đăng ký, đăng nhập, và quản lý người dùng an toàn.2.3.2 Quy trình phát triển ứng dụng với ASP.NET
Quy trình phát triển ứng dụng với ASP.NET bao gồm các bước chínhsau:
1 Phân tích yêu cầu: Xác định các yêu cầu chức năng và phi chức năng củahệ thống.
2 Thiết kế hệ thống: Xây dựng mô hình dữ liệu, thiết kế giao diện ngườidùng và luồng xử lý.
3 Lập trình và tích hợp: Xây dựng các thành phần của hệ thống bằngASP.NET và tích hợp chúng lại với nhau.
4 Kiểm thử: Đảm bảo các chức năng hoạt động đúng yêu cầu và không cólỗi.
5 Triển khai: Đưa ứng dụng lên môi trường sản xuất và đảm bảo hệ thốnghoạt động ổn định.
6 Bảo trì và nâng cấp: Theo dõi và cải thiện hệ thống để đáp ứng các yêucầu mới và cải thiện hiệu suất.
SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ do Microsoft pháttriển, được sử dụng rộng rãi để lưu trữ, quản lý và truy xuất dữ liệu Nó cungcấp các tính năng mạnh mẽ như ngôn ngữ truy vấn T-SQL, bảo mật, khả năng
12
Trang 13mở rộng và tích hợp các dịch vụ như SQL Server Integration Services (SSIS),SQL Server Analysis Services (SSAS) và SQL Server Reporting Services(SSRS) để xây dựng các giải pháp phân tích dữ liệu và báo cáo.
MailKit là một thư viện mã nguồn mở được sử dụng trong lập trình NETđể thực hiện các thao tác liên quan đến email Thư viện này cung cấp các APIđể gửi, nhận và xử lý email từ ứng dụng NET Trong ứng dụng web mailkitđược sử dụng để gửi các email như khuyến mãi hay là mail xác nhận tài khoảnhoặc mail để reset mật khẩu khi quên mật khẩu.
13
Trang 14CHƯƠNG 3: THIẾT KẾ VÀ CÀI ĐẶT CHƯƠNG TRÌNH
3.1 Phân tích thiết kế website
Quản lý đăng nhập và đăng ký: cho phép người dùng đăng nhập và đăng kýtài khoản trên trang web Điều này cũng cần phải đảm bảo tính bảo mật vàtránh các hoạt động giả mạo tài khoản.
Quản lý xác thực người dùng: quản lý viên cần xác thực người dùng trêntrang web để đảm bảo tính bảo mật và tránh các hoạt động giả mạo hoặc truycập trái phép.
3.1.2 Quản lý sản phẩm, bán hàng, thanh toán
Quản lý sản phẩm: Quản lý thông tin sản phẩm bao gồm tên sản phẩm, môtả, giá, ảnh sản phẩm và số lượng hàng tồn kho Ngoài ra, còn có thể có cáctính năng như danh mục sản phẩm, phân loại sản phẩm…
Đặt hàng: Khách hàng có thể chọn sản phẩm và thêm vào giỏ hàng, đặt hàngsau khi điền thông tin liên hệ và địa chỉ giao hàng Để đảm bảo tính chínhxác và an toàn, có thể sử dụng công nghệ mã hóa SSL để bảo mật thông tinkhách hàng.
Giỏ hàng: Giỏ hàng là một phần quan trọng để quản lý các sản phẩm kháchhàng đã chọn, tính toán tổng tiền và phí vận chuyển, cập nhật số lượng sảnphẩm trong giỏ hàng và cho phép khách hàng chỉnh sửa giỏ hàng của mìnhtrước khi thanh toán.
Phương thức thanh toán: Hệ thống thanh toán trực tuyến là một trong những14
Trang 15phương thức thanh toán phổ biến trên trang web bán hàng Có thể chấp nhậncác hình thức thanh toán trực tuyến như COD, Momo…Bên cạnh đó, còn cóthể cung cấp phương thức thanh toán khi nhận hàng hoặc chuyển khoản.
Quản lý đơn hàng: Quản lý đơn hàng giúp quản lý thông tin đặt hàng, thanhtoán, vận chuyển và trạng thái đơn hàng Nó cung cấp các tính năng quảnlýnhư xem danh sách đơn hàng, chỉnh sửa đơn hàng, hủy đơn hàng, và gửithông tin vận chuyển đến khách hàng.
Gửi thông tin vận chuyển: Sau khi thanh toán, cần gửi thông tin vận chuyểnđến khách hàng để họ có thể kiểm tra trạng thái vận chuyển và đảm bảo sảnphẩm được giao đúng địa chỉ.
3.2 Các màn hình dự kiến
Hình 3.2 a Màn hình đăng nhập
15
Trang 16Hình 3.2 b Màn hình đăng ký
Hình 3.2 c Màn hình danh mục sản phẩm
16
Trang 17Hình 3.2 d Màn hình quản lý sản phẩm của admin
Hình 3.2 e Màn hình thanh toán
17
Trang 18Hình 3.2 f Màn hình quản lý đơn hàng của admin
Hình 3.2 g Màn hình quản lý tài khoản của người dùng (user)
18
Trang 19Hình 3.2 h Màn hình quên mật khẩu
3.3 Cài đặt ứng dụng3.3.1 Mô hình MVC
MVC là viết tắt của cụm từ “Model-View-Controller“ Đây là mô hình thiếtkế được sử dụng trong kỹ thuật phần mềm MVC là một mẫu kiến trúc phầnmềm để tạo lập giao diện người dùng trên máy tính MVC chia thành ba phầnđược kết nối với nhau và mỗi thành phần đều có mô ˆt nhiê ˆm vụ riêng của nó vàđô ˆc lâ ˆp với các thành phần khác Tên gọi 3 thành phần:
1 Model (dữ liệu): Quản lí xử lí các dữ liê ˆu.
2 View (giao diện): Nới hiển thị dữ liê ˆu cho người dùng.
3 Controller (bộ điều khiển): Điều khiển sự tương tác của hai thành phầnModel và View.
19
Trang 20View: Đây là phần giao diện (theme) dành cho người sử dụng View là
phương tiện hiển thị các đối tượng trong một ứng dụng Chẳng hạn nhưhiển thị một cửa sổ, nút hay văn bản trong một cửa sổ khác Nó bao gồmbất cứ thứ gì mà người dùng có thể nhìn thấy được.
Controller: Là bộ phận có nhiệm vụ xử lý các yêu cầu người dùng đưa
đến thông qua View Một controller bao gồm cả Model lẫn View Nónhận input và thực hiện các update tương ứng.
3.3.2 Thiết kế database
20