CHƯƠNG I: GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI 1. Lý do chọn đề tài: - Ngày nay, xu hướng phát triển công nghiêp hóa – hiện đại hóa đất nước ngày càng được đẩy mạnh. Để có thể đáp ứng được khối công việc ngày càng gia tăng , đòi hỏi con người phải có phương pháp quản lý hợp lý giúp tiết kiệm thời gian và chi phí cũng như công sức lao động. - Thấy những khó khăn, hạn chế trong quản lý cửa hàng quần áo, việc xây dựng một website quản lý giúp người quản lý, chủ cửa hàng dễ dàng hơn trong việc quản lý mua bán quần áo và cung cấp các thông tin vận chuyển một cách nhanh chóng, truy xuất dữ liệu nhanh hơn, quản lý khách hàng hợp lý là điều vô cùng cần thiết.
- Với đề tài “Xây dựng web app bán quần áo” thì phần mềm giúp quản lý khách hàng, quản lý các sản phẩm quần áo, quản lý thông tin các đơn hàng và tài khoản một cách nhanh chóng, chính xác. Mục đích nghiên cứu: - Đảm bảo tính an toàn và bảo mật: ➢ Nếu bạn đang kinh doanh quần áo online chắc không còn lạ lẫm với những trường hợp Facebook rà soát hình ảnh, nội dung trên các bài đăng trên các tài khoản, khóa tài khoản, comment đả kích vô căn cứ hay thậm chí chặn bình luận tại nhiều bài đăng ➢ Vậy nên, những nền tảng này không phải nơi mà bạn có thể lưu trữ thông tin khách hàng, đơn hàng… lâu dài. Nhưng với Website được ứng dụng công nghệ thông tin hiện đại, không những nâng cao tính bảo mật Website mà còn đảm bảo lưu trữ thông tin, cơ sở dữ liệu một cách tốt nhất Trang 7 GVHD: Mai Xuân Tráng - Quản lý kinh doanh có hệ thống và khoa học hơn: ➢ Công việc liên quan đến quản lý Website như sửa đổi nội dung, trích xuất đơn hàng, dữ liệu khách hàng hay theo dõi đánh giá hành vi mua hàng của người tiêu dùng… ➢ Bên cạnh đó, khi tạo dựng Website thì việc tìm kiếm khách hàng mới, kiểm tra tình trạng đơn hàng, số lượng đơn hàng trong kho… sẽ được quản lý một cách hệ thống và dễ dàng hơn ➢ Thay vì phải mất hàng giờ đồng hồ và tốn nhiều công sức để kiểm kê đơn hàng của mình, mọi thứ sẽ được tự động hóa dưới sự quản lý Website - Tăng tính chuyên nghiệp cho thương hiệu: ➢ Website chính là bộ mặt của doanh nghiệp, nơi giao tiếp trực tiếp với khách hàng trên Internet. Vậy nên, việc bạn chỉn chu và tập trung vào xây dựng hình ảnh Website sẽ tạo nên những ấn tượng tốt của khách hàng dành cho doanh nghiệp - Khả năng tiếp cận khách hàng mới và tăng doanh thu: ➢ Khi tham gia vào mạng lưới kinh doanh của Website, bạn đã tự mở ra cơ hội tiếp cận thêm nhiều tệp khách hàng mới.
Việc khách hàng truy cập vào Website cũng đã tạo nên ấn tượng về thương hiệu ➢ Thêm vào đó, khi thấy website luôn xuất hiện top đầu tìm kiếm của Google sẽ nâng cao sự tin tưởng và tác động đến quyết định mua của người dùng 3. Đối tượng và phạm vi nghiên cứu - Đối tượng khách hàng: Ở đây website thiết kế là bán hàng “Quần áo cả nam, nữ và trẻ em’’ đối tượng khách hàng là tất cả mọi người đặc biệt là các bạn trẻ thanh thiếu niên. Trang 8 GVHD: Mai Xuân Tráng 4. Phương pháp nghiên cứu thực hiện đề tài: - Phương pháp nghiên cứu tài liệu: Tham khảo, nghiên cứu thêm các tài liệu liên quan đến thực trạng đề tài, cấu trúc của một web app bán quần áo, kiến thức liên quan đến lập trình.
- Phương pháp nghiên cứu thực tiễn: Quan sát cách vận hành của một số thương hiệu quần áo như: Clownz, Dirtycoins, Tsun, Badhabit… 5. Ý nghĩa của đề tài: - Ý nghĩa khoa học: ➢ Vận dụng kiến thức đã học để xây dựng web app bán quần áo : • Làm quen với những kiến thức cơ bản và nâng cao của ngôn ngữ lập trình • Xây dựng giao diện website. - Ý nghĩa thực tiễn: ➢ Website bán quần áo ra đời, giúp đáp ứng nhu cầu mua sắm của người dùng nhanh chóng và tiện lợi. Website giúp chủ cửa hàng, cũng như quản trị viên dễ dàng trong việc quản lý và lưu trữ các thông tin sản phẩm, khách hàng và đơn hàng… ➢ Ngoài việc quản lý thông minh, nhanh gọn, website còn có giao diện thân thiện, dễ sử dụng… Từ đó, có thể thấy website mang lại rất nhiều lợi ích.
Trang 9 GVHD: Mai Xuân Tráng CHƯƠNG II: KIẾN THỨC NỀN TẢNG 1. Frameword Fastapi - Khái niệm: ➢ FastAPI là nền tảng thiết kế, lập trình xây dựng API cực kỳ nhanh trên cả 2 phương diện phát triển và thực thi trên Python 3.6+ thì bạn đã có thể sử dụng cú pháp await/async để chạy code bất đồng bộ, vì lý do này các framework trên Python sẽ đạt được hiệu năng cao, FastAPI là một trong số Python framework nhanh nhất hiện nay. ➢ tarlette, còn phần data được support bởi Pydantic. - Đặc điểm: ➢ Fast: Hiệu suất cao ngang với NodeJS và Go.
➢ Fast to code: Code nhanh hơn, tốc độ code các features tăng khoảng 200 đến 300 %. ➢ Fewer bugs: do đơn giản nên giảm số bugs của developper đến 40%. ➢ Intuitive: hỗ trợ code dễ hơn với tự động gợi ý, debug cần ít thời gian hơn so với trước. ➢ Easy: được thiết kế sao cho dễ dùng dễ học.
➢ Short: Tối thiểu việc lặp code. Các tham số truyền vào có nhiều tính năng. ➢ Robust: hiệu năng mạnh mẽ, có thể tương tác API qua docs. Ngôn ngữ lập trình Python - Python là một ngôn ngữ lập trình bậc cao cho các mục đích lập trình đa năng, do Guido van Rossum tạo ra và lần đầu ra mắt vào năm 1991.
Python được thiết kế với ưu điểm mạnh là dễ đọc, dễ học và dễ nhớ. Python là ngôn ngữ có hình thức rất sáng sủa, cấu trúc rõ ràng, thuận tiện cho người mới học lập trình và là ngôn ngữ lập trình dễ học; được dùng Trang 10 GVHD: Mai Xuân Tráng rộng rãi trong phát triển trí tuệ nhân tạo. Cấu trúc của Python còn cho phép người sử dụng viết mã lệnh với số lần gõ phím tối thiểu. Vào tháng 7 năm 2018, van Rossum đã từ chức lãnh đạo trong cộng đồng ngôn ngữ Python sau 30 năm làm việc.
- Python hoàn toàn tạo kiểu động và dùng cơ chế cấp phát bộ nhớ tự động; do vậy nó tương tự như Perl, Ruby, Scheme, Smalltalk, và Tcl. Python được phát triển trong một dự án mã mở, do tổ chức phi lợi nhuận Python Software Foundation quản lý. - Ban đầu, Python được phát triển để chạy trên nền Unix. Nhưng rồi theo thời gian, Python dần mở rộng sang mọi hệ điều hành từ MS-DOS đến Mac OS, OS/2, Windows, Linux và các hệ điều hành khác thuộc họ Unix.
Mặc dù sự phát triển của Python có sự đóng góp của rất nhiều cá nhân, nhưng Guido van Rossum hiện nay vẫn là tác giả chủ yếu của Python. Ông giữ vai trò chủ chốt trong việc quyết định hướng phát triển của Python. - Python luôn được xếp hạng vào những ngôn ngữ lập trình phổ biến nhất - Python là một ngôn ngữ lập trình đa mẫu hình. Lập trình hướng đối tượng và lập trình cấu trúc được hỗ trợ hoàn toàn, và nhiều tính năng của nó cũng hỗ trợ lập trình hàm và lập trình hướng khía cạnh (bao gồm siêu lập trình và siêu đối tượng (phương thức thần kì).
Các mẫu hình khác cũng được hỗ trợ thông qua các phần mở rộng, bao gồm thiết kế theo hợp đồng và lập trình logic. Ngôn ngữ lập trình Typescrip - TypeScript là một ngôn ngữ mã nguồn mở miễn phí hiện đang được phát triển và bảo trì bởi Microsoft. Nó là tập cha của JavaScript, với các bổ sung các tuỳ chọn kiểu tĩnh và lớp trên cơ sở lập trình hướng đối tượng cho ngôn ngữ này. Anders Hejlsberg, kiến trúc sư ngôn ngữ C# và là Trang 11 GVHD: Mai Xuân Tráng người tạo ra ngôn ngữ Delphi và Turbo Pascal đã tham gia phát triển TypeScript.
TypeScript có thể sử dụng để phát triển ứng dụng chạy phía client, hay phía server (Node.js) - TypeScript được thiết kế để phát triển ứng dụng lớn và được biến đổi - biên dịch sang JavaScript. Vì TypeScript là tập cha của JavaScript nên bất kì chương trình JavaScript nào đã có cũng đều là chương trình TypeScript hợp lệ. - TypeScript hỗ trợ định nghĩa các file chứa thông tin kiểu của các thư viện JavaScript, giống như các file header của C/C++ mô tả cấu trúc của các file object. Điều này cho phép các chương trình khác sử dụng các giá trị được định nghĩa trong các file giống như các thực thể TypeScript được định kiểu tĩnh.
Đó là các file header hãng thứ ba (third-party) cho các thư viện thông dụng như jQuery, MongoDB, D3. Các file header cho các module cơ bản cho Node.js cũng có sẵn cho phép phát triển chương trình Node.js bằng TypeScript. - Bản thân trình biên dịch TypeScript cũng được viết bằng TypeScript, biến đổi – biên dịch sang JavaScript và được cấp phép theo Giấy phép Apache - TypeScript lần đầu được gắn sẵn như một ngôn ngữ lập trình trong Microsoft Visual Studio 2003 Update 2 và các phiên bản sau đó, cùng C# và các ngôn ngữ khác của Microsoft. Một thành phần mở rộng chính thức cũng cho phép Visual Studio 2012 hỗ trợ tốt cho TypeScript.
Ngôn ngữ lập trình Javascrip - Javascript là một ngôn ngữ lập trình kịch bản dựa vào đối tượng phát triển có sẵn hoặc tự định nghĩa. Javascript được sử dụng rộng rãi trong các ứng dụng Website. Javascript được hỗ trợ hầu như trên tất cả các trình duyệt như Firefox, Chrome,. trên máy tính lẫn điện thoại.
Trang 12 GVHD: Mai Xuân Tráng - Nhiệm vụ của Javascript là xử lý những đối tượng HTML trên trình duyệt. Nó có thể can thiệp với các hành động như thêm / xóa / sửa các thuộc tính CSS và các thẻ HTML một cách dễ dàng. Hay nói cách khác, Javascript là một ngôn ngữ lập trình trên trình duyệt ở phía client. Tuy nhiên, hiện nay với sự xuất hiện của NodeJS đã giúp cho Javascript có thể làm việc ở backend.
Hệ quản trị cơ sở dữ liệu - Hệ quản trị cơ sở dữ liệu (DBMS) là một phần mềm cho phép tạo lập các CSDL cho các ứng dụng khác nhau và điều khiển mọi truy cập tới các CSDL đó. Nghĩa là, hệ quản trị CSDL cho phép định nghĩa (xác định kiểu, cấu trúc, ràng buộc dữ liệu), tạo lập (lưu trữ dữ liệu trên các thiết bị nhớ) và thao tác (truy vấn, cập nhật, kết xuất, .) các CSDL cho các ứng dụng khác nhau. SQL Server, ORACLE, IBM DB2, .