CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1. Giới thiệu về hệ thống Nhu cầu mua sắm online hiện nay ngày càng phổ biến hơn, một phần là do COVID-19 đã kéo dài dai dăng trong suốt thời gian gần đây. Việc mọi người không được đi lại tự do cũng như phải tuân thủ biện pháp 5k của chính phủ đã làm cho việc mua sắm khó khăn hơn. Theo một khảo sát vào cuối năm 2021 của PwC, trong 9.000 người tiêu dùng thuộc 26 quốc gia (có Việt Nam), có tới 41% người tiêu dùng toàn cầu đã tăng cường mua sắm trực tuyến qua thiết bị điện tử thay vì trực tiếp tại cửa hàng, tỷ lệ này là 69% tại Việt Nam.
Trong tương lai, 50% người mong muốn sẽ mua sắm trực tuyến nhiều hơn. Năm 2022, hơn 51 triệu người Việt Nam đã tham gia hoạt động mua sắm trực tuyến, tổng chi tiêu đạt 12,42 tỷ USD. Trong đó, 73% người cho biết họ thường xuyên mua hàng trên các nền tảng mua sắm thương mại điện tử và 59% người đã từng đặt hàng hoặc mua sắm trên các website. Từ những yêu cầu thực tế đó và cũng như phân tích từ những trang website bán hàng đi trước, em đã tìm hiểu và nghiên cứu cũng như đánh giá để đi đến giải pháp là xây dựng một trang web bán hàng online.
Để người dùng tiện lợi dễ dàng trong việc mua sắm hàng hoá. Trang web cung cấp đầy đủ thông tin hàng hoá, người dùng dễ dàng trong việc tìm kiếm thông tin hàng hoá. Thông tin cá nhân, giá thành sản phẩm cũng số lượng hàng hoá mà người dùng đặt. Lựa chọn công nghệ cho hệ thống.
Angular Angular là một javascript framework do google phát triển để xây dựng các Single Page Application (SPA) bằng JavaScript, HTML và TypeScript. Angular cung cấp các tính năng tích hợp cho animation, http service và có các tính năng như auto-complete, navigation, toolbar, menus, … Code được viết bằng TypeScript, biên dịch thành JavaScript và hiển thị tương tự trong trình duyệt.1 Angular Angular có rất nhiều đặc điểm hỗ trợ cho việc tạo trang web ở front end 1 cách nhanh chóng và mạnh mẽ. Ví dụ SPA, Data Binding, Component, Validate, tương tác Back-End. Trong Angular còn có Angular CLI là công cụ giúp tạo và quản lý project rất nhanh chóng.2 Phương thức hoạt động của Angular Component Component được tạo ra để hiện thực 1 chức năng nào đó trong ứng dụng của bạn.
Ví dụ component Liên hệ, component giới thiệu, bình luận, đăng ký, giỏ hàng, chi tiết sản phẩm… Mỗi component gồm 3 phần: Phần view (file .css) – là nơi code html, css và hiện dữ liệu. Phần code chính (file .ts) – là nơi viết code typescript để tính toán, xử lý trong component. Phần metadata là nơi khai báo các thông tin bổ sung cho component.3 Component trong Angular Data binding DataBinding là tính năng rất được yêu thích của Angular. Đây là khả năng truyền dữ liệu qua các comppnent và từ component ra view.
Chi tiết hơn đề cập trong link Data Binding Trong Angular Module Angular cung cấp sẵn nhiều module, các module này được gọi là NgModules. Ví dụ như Forms Module, RouterModule, HttpClientModule. Ngoài ra có thể tạo mới nhiều module để sử dụng. Mỗi ứng dụng Angular có 1 module đặc biệt, tên là AppModule.
Đây là module gốc, được dùng để khởi chạy ứng dụng. Service Service là các đoạn code được tạo ra để phục vụ một chức năng nào đó. Chẳng hạn như tính toán, lấy dữ liệu từ server, validate dữ liệu…Service được sử dụng trong component thông qua dependency injection. Mỗi service lưu trong file tênService.NET CORE 4 ASP.NET Core là một framework mới của Microsoft.
Nó được thiết kế lại từ đầu để trở nên nhanh chóng, linh hoạt và chạy trên được nhiều nền tảng khác nhau. Trong bài viết này, ASP.NET Core là một framework có thể được sử dụng để phát triển web với. Nếu bạn có kinh nghiệm làm việc với MVC hoặc Web API trong một vài năm thì bạn sẽ nhận thấy những tính năng quen thuộc. Kết thúc khóa học ASP.NET Core của NET CORE VN.
Bạn sẽ có những thứ cần thiết để bắt đầu làm việc được với ASP.NET Core và viết 1 ứng dụng có thể thêm, sửa hay xem dữ liệu từ database như các môn lập trình khác bạn đã từng học.NET Core Sơ lượt về lịch sử của ASP.NET Core ASP.NET đã được sử dụng từ nhiều năm để phát triển các ứng dụng web. Kể từ đó, framework này đã trải qua một sự thay đổi tiến hóa đều đặn và cuối cùng đã đưa chúng ta đến với ASP.0 hậu duệ mới gần đây nhất của nó.NET Core không phải là phiên bản tiếp theo của ASP.6 Đó là một framework hoàn toàn mới, may mắn rằng nó một dự án side-by-side tương tự với mọi thứ mà chúng ta biết. Nó thực ra được viết lại trên framework ASP.6 hiện tại những kích thước nhỏ hơn và nhiều modular hơn.NET Core là gì? ASP.NET Core là một web framework mã nguồn và được tối ưu hóa cho cloud để phát triển các ứng dụng web chạy trên nhiều nền tảng như Windows, Linux và Mac. Hiện tại, nó bao gồm MVC framework được kết hợp các tính năng của MVC và Web API thành một web framework duy nhất.
Các ứng dụng ASP.NET Core có thể chạy trên .NET Core hoặc trên .NET Framework hoàn chỉnh. Nó đã được thiết kế để cung cấp một framework tối ưu cho các ứng dụng để triển khai tới cloud hoặc chạy on-premises. Nó bao gồm những modular với các thành phần tối thiểu, do đó bạn giữ được tính linh hoạt trong quá trình xây dựng các giải pháp của mình. Bạn có thể phát triển và chạy các ứng dụng đa nền tảng từ ASP.NET Core trên Windows, Mac và Linux.
Ưu điểm của ASP.NET Core ASP.NET Core đi kèm với những ưu điểm sau: ASP.NET Core có một số thay đổi kiến trúc dẫn đến modular framework nhỏ hơn.NET Core không còn dựa trên System. Nó dựa trên một tập hợp nhiều yếu tố của Nuget packages. Điều này cho phép bạn tối ưu ứng dụng của mình chỉ cần những NuGet packages cần thiết. Lợi ích của diện tích bề mặt ứng dụng nhỏ hơn thì bảo mật chặt chẽ hơn, giảm dịch vụ, cải thiện hiệu suất và giảm chi phí.NET Core, bạn có thể nhận được các cải tiến sau: Xây dựng và chạy các ứng dụng ASP.NET Core đa nền tảng trên Windows, Mac và Linux.
Được xây dựng trên .NET Core, hỗ trợ side-by-side app versioning. Công cụ mới giúp đơn giản hóa việc phát triển web hiện đại. Liên kết đơn các web stack như Web UI và API Web. Cấu hình dựa trên môi trường đám mây sẵn có.
6 Được xây dựng dựa trên cho DI (Dependency Injection). Tag Helpers làm cho các Razor makup trở nên tự nhiên hơn với HTML. Có khả năng host trên IIS hoặc self-host.NET Core 6 Microsoft .Net 6 đã được release vào tháng 11 năm 2021 với rất nhiều cải tiến và features mới cho lập trình viên. Điểm nhấn mạnh nhất trong đó là sự ra đời của ASP.NET CORE 6, một bản nâng cấp quan trọng của nền tảng xây dựng websites mã nguồn mở của Microsoft.NET core 6 được xây dựng trên nền tảng của .Net core runtime, qua đó cho phép các nhà phát triển xây dựng ứng dụng Web có thể chạy trên nhiều nền tảng khác nhau từ Windows đến Linux hay MacOS.
Với đặc thù công việc tại Niteco, việc tìm hiểu và apply các công nghệ mới vào công việc và xây dựng giải pháp gần như là điều bắt buộc với mỗi lập trình viên. Trong bài này, chúng ta hãy cùng nhau điểm qua những tính năng nổi bật nhất của ASP. Tăng hiệu năng (performance) Performance là một phần rất quan trọng khi phát triển ứng dụng hiện đại ngày nay. Về mặt kỹ thuật, tăng performance đồng nghĩa với việc tối ưu hóa tài nguyên server tốt hơn, giảm được chi phí hosting.
Mặt khác, performance tốt hơn cũng đồng nghĩa với việc SEO cho website cũng tốt hơn. Có thể nói, ai cũng muốn tốc độ website của mình nhanh nhất có thể. Với phiên bản ASP.NET core 6, về hiệu năng chúng ta có: Throughput của middleware request tăng ~5%. MVC trên Linux tăng ~12% Kết nối HTTPS sử dụng ít bộ nhớ hơn ~40% Protobuf serialization nhanh hơn ~20% Với các trang CMS và Commerce của Optimzely, vốn build dựa trên nền tảng ASP.NET, khi nâng cấp lên ASP.NET core 6 (Optimizely CMS 12 và Commerce 14), performance đã nhanh hơn đáng kể.
Với CMS 12, tốc độ phản hồi (response time) đã nhanh hơn đến 3 lần, thậm chí có những page có tốc độ nhanh hơn đến 10 lần. Các server của CMS 12 và Commerce 14 cũng có khả năng xử lý lượng server request gấp 3 lần so với các phiên bản trước đó ở cùng 7 cấu hình phần cứng.NET core 6 mang lại một trải nghiệm khác hẳn về performance so với version trước đây. Typescript TypeScript là một dự án mã nguồn mở được phát triển bởi Microsoft, nó có thể được coi là một phiên bản nâng cao của Javascript bởi việc bổ sung tùy chọn kiểu tĩnh và lớp hướng đối tượng mà điều này không có ở Javascript. TypeScript có thể sử dụng để phát triển các ứng dụng chạy ở client-side (Angular2) và server-side (NodeJS).5 Typescript TypeScript sử dụng tất cả các tính năng của của ECMAScript 2015 (ES6) như classes, modules.
Không dừng lại ở đó nếu như ECMAScript 2017 ra đời thì mình tin chắc rằng TypeScript cũng sẽ nâng cấp phiên bản của mình lên để sử dụng mọi kỹ thuật mới nhất từ ECMAScript. Thực ra TypeScript không phải ra đời đầu tiên mà trước đây cũng có một số thư viện như CoffeScript và Dart được phát triển bởi Google, tuy nhiên điểm yếu là hai thư viện này sư dụng cú pháp mới hoàn toàn, điều này khác hoàn toàn với TypeScript, vì vậy tuy ra đời sau nhưng TypeScript vẫn đang nhận được sự đón nhận từ các lập trình viên. Lợi thế khi sử dụng JavaScript đã đủ tốt và bạn có khả năng tự hỏi: Liệu tôi có thực sự cần học TypeScript? Về mặt kỹ thuật, bạn không cần học TypeScript để trở nên một lập trình viên giỏi, hầu như mọi người đều ổn mà không có nó. Tuy vậy, thực hiện công việc với TypeScript có một số lợi thế sau: Với static typing, code viết bằng TypeScript dễ dự đoán hơn, và dễ debug hơn.
Đơn giản tổ chức code cho các ứng dụng cực lớn và phức tạp nhờ modules, namespaces và giúp đỡ OOP mạnh mẽ. 8 TypeScript có một bước biên dịch thành JavaScript, sẽ bắt toàn bộ các loại lỗi trước khi chúng chạy và làm hỏng một vài thứ. Framework Angular 2 viết với TypeScript và nó cũng khuyến khích các lập trình viên dùng ngôn ngữ này trong các dự án của họ. Biên dịch sang Javascript TypeScript được viết trong các file .