Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 26

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

TRƯỜNG ĐẠI HỌC ĐÔNG Á


----------

ĐỒ ÁN
LẬP TRÌNH PYTHON 2

Đề tài:
XÂY DỰNG WEBSITE BÁN ĐỒNG HỒ

GVHD: Ths. Nguyễn Năng Hùng Vân


SVTH: Hồ Vũ Xuân Tùng
Nguyễn Nghĩa Trung
Lớp: IT22A

Đà Nẵng, 16 tháng 4 năm 2024


Mục lục
LỜI MỞ ĐẦU.................................................................................................................3
1. Tính cấp thiết của đề tài:.........................................................................................3
2. Mục tiêu của đề tài:.................................................................................................4
3. Đối tượng nghiên cứu:.............................................................................................5
4. Phạm vi nghiên cứu:................................................................................................6
5. Cấu trúc đề tài:........................................................................................................7
6. Kết quả đạt được:....................................................................................................9
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT – TỔNG QUAN..................................................10
1. Giới thiệu chung:...................................................................................................10
2. Giới thiệu ngôn ngữ lập trình Python....................................................................11
3. Giới thiệu về hệ cơ sở dữ liệu MySQL.................................................................12
4. Giới thiệu về Django:............................................................................................13
CHƯƠNG 2: PHÂN TÍCH CÁC CHỨC NĂNG.........................................................14
1. Chức năng Guest:..................................................................................................14
2. Chức năng users:...................................................................................................17
3. Chức năng admin:.................................................................................................19
CHƯƠNG 3: Xây dựng website bán hàng....................................................................20
Kết quả đạt được...........................................................................................................25
Hướng phát triển............................................................................................................25
Cải thiện trang chi tiết sản phẩm:..........................................................................25
LỜI MỞ ĐẦU

1. Tính cấp thiết của đề tài:


1.1. Nhu cầu thị trường:

 Nhu cầu sở hữu đồng hồ ngày càng cao: Đồng hồ không chỉ đơn thuần là công
cụ xem giờ mà còn là phụ kiện thời trang thể hiện phong cách và đẳng cấp của
người dùng. Nhu cầu này ngày càng tăng cao, đặc biệt là ở các khu vực thành
phố lớn và giới trẻ.
 Sự phát triển của thương mại điện tử: Mua sắm trực tuyến ngày càng trở nên
phổ biến, tạo điều kiện thuận lợi cho việc kinh doanh đồng hồ online. Khách
hàng có thể dễ dàng so sánh giá cả, tìm kiếm sản phẩm mong muốn và mua
hàng trực tuyến mà không cần tốn nhiều thời gian di chuyển.
 Cạnh tranh gay gắt: Thị trường bán đồng hồ online đang trở nên cạnh tranh gay
gắt với sự tham gia của nhiều doanh nghiệp lớn nhỏ. Để thu hút khách hàng và
thành công trong thị trường này, doanh nghiệp cần có chiến lược kinh doanh
hiệu quả, trong đó việc xây dựng website bán hàng chuyên nghiệp đóng vai trò
quan trọng.
1.2. Lợi ích của website bán đồng hồ:

 Mở rộng thị trường: Website giúp doanh nghiệp tiếp cận lượng khách hàng tiềm
năng rộng lớn hơn, không giới hạn bởi vị trí địa lý.
 Tiết kiệm chi phí: So với việc mở cửa hàng truyền thống, chi phí xây dựng và
vận hành website bán hàng thấp hơn nhiều.
 Dễ dàng quản lý: Website bán hàng giúp doanh nghiệp dễ dàng quản lý sản
phẩm, đơn hàng, khách hàng và các hoạt động kinh doanh khác.
 Tăng doanh thu: Website bán hàng hiệu quả có thể giúp doanh nghiệp tăng
doanh thu đáng kể.
1.3. Lý do chọn đề tài website bán đồng hồ:

 Tính tiềm năng: Thị trường bán đồng hồ online có tiềm năng phát triển lớn
trong tương lai nhờ vào nhu cầu ngày càng tăng của khách hàng và sự phát triển
của thương mại điện tử.
 Lợi nhuận cao: Đồng hồ là sản phẩm có lợi nhuận cao, do vậy kinh doanh
website bán đồng hồ có thể mang lại lợi nhuận hấp dẫn cho doanh nghiệp.
 Khả năng sáng tạo: Website bán đồng hồ có thể được thiết kế theo nhiều
phong cách khác nhau, thể hiện cá tính riêng của doanh nghiệp.
 Cơ hội học hỏi: Việc xây dựng và vận hành website bán đồng hồ giúp doanh
nghiệp học hỏi được nhiều kiến thức về marketing online, quản trị bán hàng và
thương mại điện tử.
2. Mục tiêu của đề tài:
Mục tiêu của đề tài website bán đồng hồ có thể được chia thành 3 nhóm chính:

2.1. Mục tiêu kinh doanh:

 Tăng doanh thu: Đây là mục tiêu quan trọng nhất của website bán đồng hồ.
Doanh nghiệp cần đặt ra mục tiêu doanh thu cụ thể cho website trong một
khoảng thời gian nhất định (ví dụ: tháng, quý, năm).
 Tăng thị phần: Mục tiêu này nhằm nâng cao vị thế của doanh nghiệp trên thị
trường bán đồng hồ online. Doanh nghiệp cần xác định thị phần mục tiêu và
chiến lược để đạt được mục tiêu này.
 Tăng lợi nhuận: Doanh nghiệp cần đặt ra mục tiêu lợi nhuận cụ thể cho
website bán đồng hồ. Mục tiêu này cần đảm bảo tính thực tế và khả thi dựa trên
giá vốn, giá bán và chi phí vận hành website.
 Tiết kiệm chi phí: Website bán hàng giúp doanh nghiệp tiết kiệm chi phí so với
việc mở cửa hàng truyền thống. Doanh nghiệp cần theo dõi và đánh giá hiệu
quả chi phí của website để tối ưu hóa hoạt động kinh doanh.
2.2. Mục tiêu marketing:

 Thu hút khách hàng tiềm năng: Website bán đồng hồ cần thu hút lượng lớn
khách hàng tiềm năng truy cập và quan tâm đến sản phẩm. Doanh nghiệp cần
triển khai các chiến lược marketing online hiệu quả để đạt được mục tiêu này.
 Tăng tỷ lệ chuyển đổi: Tỷ lệ chuyển đổi là tỷ lệ khách hàng truy cập website
và thực hiện hành động mua hàng. Doanh nghiệp cần tối ưu hóa website và trải
nghiệm người dùng để tăng tỷ lệ chuyển đổi.
 Xây dựng thương hiệu: Website bán đồng hồ cần góp phần xây dựng và quảng
bá thương hiệu của doanh nghiệp. Doanh nghiệp cần thiết kế website ấn tượng,
thể hiện được cá tính riêng của thương hiệu.
 Tăng độ nhận diện thương hiệu: Doanh nghiệp cần triển khai các chiến lược
marketing online để tăng độ nhận diện thương hiệu trên thị trường.
2.3. Mục tiêu dịch vụ khách hàng:

 Cung cấp dịch vụ khách hàng chuyên nghiệp: Website bán đồng hồ cần cung
cấp cho khách hàng dịch vụ tư vấn, hỗ trợ và giải đáp thắc mắc một cách nhanh
chóng, hiệu quả.
 Tăng mức độ hài lòng của khách hàng: Doanh nghiệp cần theo dõi và đánh
giá mức độ hài lòng của khách hàng đối với website và dịch vụ bán hàng
online.
 Giữ chân khách hàng: Doanh nghiệp cần triển khai các chương trình khuyến
mãi, ưu đãi và chăm sóc khách hàng để giữ chân khách hàng và khuyến khích
họ mua hàng повторно.

Ngoài ra, website bán đồng hồ cũng có thể đặt ra một số mục tiêu khác như: thu thập
dữ liệu khách hàng, xây dựng cộng đồng trực tuyến, v.v.
3. Đối tượng nghiên cứu:
Đối tượng nghiên cứu website bán đồng hồ là những cá nhân hoặc tổ chức có liên quan
đến hoạt động kinh doanh online đồng hồ. Có thể chia đối tượng nghiên cứu thành 4
nhóm chính:

3.1. Khách hàng tiềm năng:

 Nhân khẩu học:


o Tuổi tác: Website bán đồng hồ cần xác định nhóm tuổi khách hàng mục
tiêu chính (ví dụ: giới trẻ, trung niên, người cao tuổi).
o Giới tính: Nam hay nữ là đối tượng khách hàng tiềm năng chính của
website.
o Thu nhập: Khách hàng tiềm năng có mức thu nhập trung bình hay cao.
o Nghề nghiệp: Nhóm ngành nghề nào có nhu cầu mua đồng hồ cao.
o Vị trí địa lý: Khách hàng tiềm năng tập trung ở khu vực nào (ví dụ:
thành phố, nông thôn).
 Hành vi:
o Sở thích: Khách hàng tiềm năng thích loại đồng hồ nào (ví dụ: đồng hồ
thời trang, đồng hồ thể thao, đồng hồ thông minh).
o Nhu cầu: Khách hàng tiềm năng mua đồng hồ để sử dụng cho mục đích
gì (ví dụ: làm quà tặng, sử dụng hàng ngày, sưu tầm).
o Thói quen mua sắm: Khách hàng tiềm năng thường mua sắm đồng hồ
online hay offline.
3.2. Đối thủ cạnh tranh:

 Danh sách các website bán đồng hồ online: Cần xác định các website bán
đồng hồ online đang hoạt động trên thị trường.
 Phân tích điểm mạnh, điểm yếu, cơ hội và thách thức (SWOT) của đối thủ
cạnh tranh: Để đánh giá vị thế cạnh tranh của website bán đồng hồ.
 Sản phẩm và dịch vụ của đối thủ cạnh tranh: Phân tích các loại đồng hồ, giá
cả, chương trình khuyến mãi, dịch vụ khách hàng của đối thủ cạnh tranh.
 Chiến lược marketing của đối thủ cạnh tranh: Phân tích các kênh marketing,
hoạt động quảng cáo, nội dung website của đối thủ cạnh tranh.
3.3. Nhà cung cấp:

 Danh sách các nhà cung cấp đồng hồ: Cần xác định các nhà cung cấp đồng
hồ uy tín, chất lượng.
 Điều kiện hợp tác của nhà cung cấp: Giá cả, chính sách thanh toán, chính
sách đổi trả hàng hóa, dịch vụ hỗ trợ khách hàng.
 Khả năng cung cấp hàng hóa của nhà cung cấp: Đảm bảo nguồn cung cấp
sản phẩm ổn định, đáp ứng nhu cầu của khách hàng.
3.4. Chuyên gia:

 Các chuyên gia về marketing online: Tham khảo ý kiến của các chuyên gia về
marketing online để xây dựng chiến lược marketing hiệu quả cho website bán
đồng hồ.
 Các chuyên gia về thiết kế website: Tham khảo ý kiến của các chuyên gia về
thiết kế website để tạo ra giao diện website đẹp mắt, thu hút và dễ sử dụng.
 Các chuyên gia về SEO: Tham khảo ý kiến của các chuyên gia về SEO để tối
ưu hóa website cho các công cụ tìm kiếm, thu hút lượng truy cập tự nhiên.

 Báo cáo thị trường về ngành hàng đồng hồ: Các báo cáo này cung cấp thông
tin về xu hướng thị trường, nhu cầu của khách hàng, và cạnh tranh trong ngành.
 Nghiên cứu thị trường trực tuyến: Bạn có thể sử dụng các công cụ nghiên
cứu thị trường trực tuyến như Google Trends, SEMrush, Ahrefs để thu thập dữ
liệu về khách hàng tiềm năng và đối thủ cạnh tranh.
 Khảo sát khách hàng: Khảo sát khách hàng giúp bạn hiểu rõ hơn về nhu cầu,
mong muốn và hành vi của họ.

4. Phạm vi nghiên cứu:


Phạm vi nghiên cứu website bán đồng hồ bao gồm các yếu tố sau:

4.1. Nghiên cứu thị trường:

 Phân tích thị trường đồng hồ: Phân tích quy mô thị trường, tốc độ tăng
trưởng, xu hướng thị trường, phân khúc thị trường, v.v.
 Phân tích đối thủ cạnh tranh: Xác định các đối thủ cạnh tranh chính, phân
tích điểm mạnh, điểm yếu, cơ hội và thách thức (SWOT) của đối thủ cạnh
tranh.
 Phân tích khách hàng: Xác định đối tượng khách hàng mục tiêu, phân tích
nhu cầu, mong muốn và hành vi của khách hàng.
4.2. Nghiên cứu sản phẩm:

 Xác định các loại đồng hồ sẽ bán: Phân loại đồng hồ theo thương hiệu, kiểu
dáng, chức năng, giá cả, v.v.
 Nghiên cứu nguồn cung cấp: Tìm kiếm các nhà cung cấp đồng hồ uy tín, chất
lượng, giá cả cạnh tranh.
 Phân tích giá cả: Xác định giá bán phù hợp cho từng loại đồng hồ, đảm bảo lợi
nhuận và khả năng cạnh tranh.
4.3. Nghiên cứu kỹ thuật:

 Lựa chọn nền tảng website: Lựa chọn nền tảng website phù hợp với nhu cầu
và ngân sách của doanh nghiệp (ví dụ: WordPress, Shopify, Magento).
 Thiết kế giao diện website: Thiết kế giao diện website đẹp mắt, thu hút, dễ sử
dụng và thân thiện với người dùng.
 Phát triển chức năng website: Phát triển các chức năng cần thiết cho website
bán hàng online như giỏ hàng, thanh toán, quản lý đơn hàng, v.v.
 Tối ưu hóa website cho công cụ tìm kiếm (SEO): Tối ưu hóa website để đạt
thứ hạng cao trên các công cụ tìm kiếm như Google, Bing.
4.4. Nghiên cứu marketing:
 Xây dựng chiến lược marketing: Xác định các kênh marketing phù hợp để
tiếp cận khách hàng tiềm năng (ví dụ: marketing nội dung, marketing trên mạng
xã hội, quảng cáo trực tuyến).
 Tạo dựng nội dung marketing: Tạo dựng nội dung marketing chất lượng cao,
thu hút về đồng hồ và xu hướng thời trang để thu hút khách hàng.
 Quản lý chiến dịch marketing: Theo dõi và đánh giá hiệu quả của các chiến
dịch marketing, điều chỉnh chiến lược khi cần thiết.
4.5. Nghiên cứu pháp lý:

 Nghiên cứu các quy định pháp luật liên quan đến kinh doanh online: Đảm
bảo website bán hàng online tuân thủ các quy định pháp luật hiện hành.
 Xây dựng chính sách bán hàng và đổi trả: Xây dựng chính sách bán hàng và
đổi trả rõ ràng, minh bạch để bảo vệ quyền lợi của khách hàng.

Ngoài ra, doanh nghiệp cũng cần nghiên cứu một số yếu tố khác như:

 Nghiên cứu về vận chuyển và thanh toán: Lựa chọn nhà cung cấp dịch vụ
vận chuyển và thanh toán uy tín, chất lượng.
 Nghiên cứu về dịch vụ khách hàng: Xây dựng quy trình dịch vụ khách hàng
chuyên nghiệp, tận tâm để giải đáp thắc mắc và hỗ trợ khách hàng một cách tốt
nhất.

Phạm vi nghiên cứu website bán đồng hồ cần được thực hiện một cách chi tiết và kỹ
lưỡng để đảm bảo website đáp ứng được nhu cầu của khách hàng, thị trường và cạnh
tranh. Doanh nghiệp cần thường xuyên cập nhật thông tin và xu hướng thị trường để
điều chỉnh phạm vi nghiên cứu cho phù hợp.

5. Cấu trúc đề tài:


5.1. Lựa chọn đề tài

 Lý do chọn đề tài:
o Nhu cầu thị trường cao
o Tiềm năng phát triển lớn
o Lợi nhuận hấp dẫn
 Mục tiêu đề tài:
o Mục tiêu kinh doanh: Doanh thu, lợi nhuận, thị phần
o Mục tiêu marketing: Thu hút khách hàng, tăng tỷ lệ chuyển đổi, xây
dựng thương hiệu
o Mục tiêu dịch vụ khách hàng: Nâng cao chất lượng dịch vụ, tăng mức độ
hài lòng khách hàng
5.2. Phân tích thị trường:

 Phân tích thị trường đồng hồ:


o Quy mô thị trường
o Tốc độ tăng trưởng
o Xu hướng thị trường
o Phân khúc thị trường
 Phân tích đối thủ cạnh tranh:
o Xác định đối thủ cạnh tranh chính
o Phân tích điểm mạnh, điểm yếu, cơ hội và thách thức (SWOT) của đối
thủ cạnh tranh
 Phân tích khách hàng:
o Xác định đối tượng khách hàng mục tiêu
o Phân tích nhu cầu, mong muốn và hành vi của khách hàng

5.3. Xây dựng website:

 Lựa chọn nền tảng website: WordPress, Shopify, Magento


 Thiết kế giao diện website: Hiện đại, tối giản, thu hút
 Phát triển chức năng website: Giỏ hàng, thanh toán, quản lý đơn hàng, v.v.
 Tối ưu hóa website cho công cụ tìm kiếm (SEO)
5.4. Xây dựng chiến lược marketing:

 Xác định các kênh marketing phù hợp: Marketing nội dung, marketing trên
mạng xã hội, quảng cáo trực tuyến
 Tạo dựng nội dung marketing: Chất lượng cao, thu hút về đồng hồ và xu hướng
thời trang
 Quản lý chiến dịch marketing: Theo dõi, đánh giá hiệu quả, điều chỉnh chiến
lược khi cần thiết
5.5. Dự trù kinh phí:

 Chi phí xây dựng website


 Chi phí marketing
 Chi phí vận hành website
5.6. Lịch trình thực hiện

 Chia nhỏ đề tài thành các công việc cụ thể


 Xác định thời gian hoàn thành từng công việc
 Lập lịch trình thực hiện chi tiết
5.7. Kết luận:

 Khẳng định tính khả thi của đề tài


 Nêu ra những đóng góp của đề tài

Ngoài ra, đề tài website bán đồng hồ cần bao gồm các phần sau:

 Danh sách tài liệu tham khảo


 Phụ lục
6. Kết quả đạt được:
Kết quả đạt được của website bán đồng hồ có thể được đánh giá dựa trên nhiều tiêu chí
khác nhau, tùy thuộc vào mục tiêu đề ra ban đầu. Dưới đây là một số tiêu chí đánh giá
phổ biến:

6.1. Mục tiêu kinh doanh:

 Doanh thu: Doanh thu website bán đồng hồ đạt được trong một khoảng thời
gian nhất định (ví dụ: tháng, quý, năm).
 Lợi nhuận: Lợi nhuận thu được từ website bán đồng hồ sau khi trừ đi các
khoản chi phí.
 Thị phần: Tỷ lệ thị phần của website bán đồng hồ so với tổng thị trường đồng
hồ online.
6.2. Mục tiêu marketing:

 Lượng truy cập website: Số lượng người truy cập website bán đồng hồ trong
một khoảng thời gian nhất định.
 Tỷ lệ chuyển đổi: Tỷ lệ khách hàng truy cập website và thực hiện hành động
mua hàng.
 Doanh thu trên mỗi lượt truy cập (ROAS): Doanh thu thu được từ website
bán đồng hồ chia cho số lượng lượt truy cập.
 Tỷ lệ khách hàng quay lại: Tỷ lệ khách hàng đã mua hàng trên website và
quay lại mua hàng trong tương lai.
6.3. Mục tiêu dịch vụ khách hàng:

 Mức độ hài lòng khách hàng: Đánh giá mức độ hài lòng của khách hàng đối
với sản phẩm, dịch vụ và trải nghiệm mua sắm trên website.
 Số lượng đánh giá sản phẩm: Số lượng đánh giá sản phẩm của khách hàng
trên website.
 Tỷ lệ phản hồi đánh giá: Tỷ lệ đánh giá sản phẩm của khách hàng được
website phản hồi.
 Số lượng khiếu nại: Số lượng khiếu nại của khách hàng về sản phẩm, dịch vụ
hoặc website.
 Thời gian giải quyết khiếu nại: Thời gian trung bình để website giải quyết
khiếu nại của khách hàng.

Ngoài ra, kết quả đạt được của website bán đồng hồ cũng có thể được đánh giá
dựa trên một số tiêu chí khác như:

 Thương hiệu: Mức độ nhận diện thương hiệu và uy tín của website bán đồng
hồ trên thị trường.
 Cộng đồng: Số lượng thành viên tham gia vào cộng đồng trực tuyến của
website bán đồng hồ.
 Mạng xã hội: Số lượng người theo dõi website bán đồng hồ trên mạng xã hội
và mức độ tương tác của họ.
Doanh nghiệp cần theo dõi và đánh giá kết quả đạt được của website bán đồng hồ một
cách thường xuyên để có thể điều chỉnh chiến lược kinh doanh, marketing và dịch vụ
khách hàng cho phù hợp. Việc đánh giá kết quả đạt được một cách hiệu quả sẽ giúp
doanh nghiệp nâng cao hiệu quả hoạt động của website và đạt được mục tiêu đề ra.

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT – TỔNG QUAN.


1. Giới thiệu chung:
- Lập trình website là quá trình tạo ra và phát triển các trang web và ứng dụng web
bằng cách sử dụng các ngôn ngữ lập trình, công nghệ và công cụ web. Nó bao gồm
nhiều công việc khác nhau, từ thiết kế giao diện người dùng (UI) và trải nghiệm người
dùng (UX) đến viết mã back-end, tích hợp cơ sở dữ liệu và triển khai website lên máy
chủ.

1.1. Lợi ích của việc học lập trình website:

 Tạo dựng website cho riêng bạn: Bạn có thể tự do sáng tạo và phát triển
website theo ý tưởng và nhu cầu của bản thân.
 Khả năng kiếm tiền: Nhu cầu về lập trình viên website ngày càng cao, mở ra
nhiều cơ hội việc làm hấp dẫn với mức lương cạnh tranh.
 Phát triển tư duy logic và kỹ năng giải quyết vấn đề: Lập trình đòi hỏi tư
duy logic, khả năng phân tích và giải quyết vấn đề hiệu quả, những kỹ năng này
rất hữu ích trong nhiều lĩnh vực khác nhau.
 Học hỏi và cập nhật kiến thức mới: Lĩnh vực công nghệ luôn đổi mới, việc
học lập trình website giúp bạn cập nhật những xu hướng mới nhất và nâng cao
kỹ năng của bản thân.
1.2. Các bước cơ bản để lập trình website:

1. Xác định mục tiêu và yêu cầu: Bạn cần xác định rõ mục đích của website, đối
tượng mục tiêu và các chức năng cần thiết.
2. Lên kế hoạch và thiết kế: Lập kế hoạch chi tiết cho website, bao gồm bản đồ
trang web, wireframes và giao diện người dùng.
3. Phát triển front-end: Viết mã HTML, CSS và JavaScript để tạo giao diện và
tương tác của website.
4. Phát triển back-end: Viết mã ngôn ngữ lập trình back-end để xử lý logic, kết
nối cơ sở dữ liệu và thực hiện các tác vụ phía máy chủ.
5. Kiểm tra và gỡ lỗi: Kiểm tra website để đảm bảo hoạt động chính xác và
không có lỗi.
6. Triển khai website: Xuất bản website lên máy chủ để người dùng có thể truy
cập.
7. Bảo trì và cập nhật: Cập nhật website thường xuyên để đảm bảo an toàn, bảo
mật và tối ưu hóa hiệu suất.
1.3. Công nghệ và công cụ phổ biến:
 Ngôn ngữ lập trình: HTML, CSS, JavaScript, PHP, Python, Java, Node.js, v.v.
 Framework: Django, Ruby on Rails, Laravel, React, Angular, Vue.js, v.v.
 Hệ quản trị cơ sở dữ liệu (DBMS): MySQL, PostgreSQL, MongoDB, v.v.
 Công cụ kiểm tra và gỡ lỗi: Chrome DevTools, Firefox Developer Tools, v.v.
 Công cụ quản lý phiên bản: Git, SVN, v.v.
1.4. Học lập trình website:

Lập trình website là một kỹ năng có giá trị và nhu cầu cao trong thị trường lao động
hiện nay. Bạn có thể học lập trình website thông qua nhiều cách khác nhau, bao gồm:

 Tự học: Tham khảo sách, tài liệu trực tuyến và các khóa học trực tuyến miễn
phí.
 Tham gia các khóa học: Tham gia các khóa học lập trình website tại các
trường đại học, cao đẳng hoặc trung tâm đào tạo.
 Tham gia cộng đồng: Tham gia các cộng đồng lập trình website để học hỏi và
chia sẻ kinh nghiệm với những người khác.

2. Giới thiệu ngôn ngữ lập trình Python.


2.1. Giới thiệu về ngôn ngữ lập trình Python:

- Python là ngôn ngữ lập trình bậc cao, đa năng, được sử dụng rộng rãi trong nhiều
lĩnh vực như phát triển web, khoa học dữ liệu, trí tuệ nhân tạo và tự động hóa. Nó
được đánh giá cao bởi sự dễ đọc, dễ học, dễ sử dụng và tính linh hoạt.

2.2. Đặc điểm nổi bật của Python:

 Dễ đọc, dễ học: Python có cú pháp đơn giản, rõ ràng, gần gũi với ngôn ngữ tự
nhiên, giúp người mới bắt đầu dễ dàng tiếp cận và học lập trình.
 Dễ sử dụng: Python cung cấp nhiều thư viện và bộ công cụ hỗ trợ đa dạng,
giúp việc lập trình trở nên nhanh chóng và hiệu quả.
 Tính linh hoạt: Python có thể được sử dụng cho nhiều mục đích khác nhau, từ
phát triển web và ứng dụng di động đến phân tích dữ liệu và học máy.
 Cộng đồng lớn: Python sở hữu cộng đồng người dùng và nhà phát triển sôi
động, luôn sẵn sàng hỗ trợ và chia sẻ kiến thức.
2.3. Ưu điểm của Python:

 Dễ học, dễ sử dụng: Python là ngôn ngữ lý tưởng cho người mới bắt đầu học
lập trình, đặc biệt là những ai không có nền tảng về lập trình trước đây.
 Năng suất cao: Python giúp bạn viết mã nhanh chóng và hiệu quả nhờ cú pháp
đơn giản và các thư viện hỗ trợ đa dạng.
 Tính linh hoạt: Python có thể được sử dụng cho nhiều mục đích khác nhau, từ
phát triển web và ứng dụng di động đến phân tích dữ liệu và học máy.
 Cộng đồng lớn: Cộng đồng người dùng và nhà phát triển Python luôn sẵn sàng
hỗ trợ và chia sẻ kiến thức, giúp bạn giải quyết các vấn đề gặp phải trong quá
trình học tập và lập trình.
2.4. Ứng dụng của Python:

 Phát triển web: Python được sử dụng rộng rãi để phát triển các trang web và
ứng dụng web backend với các framework phổ biến như Django và Flask.
 Khoa học dữ liệu: Python là ngôn ngữ hàng đầu trong lĩnh vực khoa học dữ
liệu nhờ các thư viện mạnh mẽ như NumPy, Pandas và Scikit-learn.
 Trí tuệ nhân tạo: Python được sử dụng để phát triển các mô hình học máy và
trí tuệ nhân tạo với các thư viện như TensorFlow và PyTorch.
 Tự động hóa: Python được sử dụng để tự động hóa các tác vụ thủ công, giúp
tiết kiệm thời gian và công sức.

3. Giới thiệu về hệ cơ sở dữ liệu MySQL


- MySQL là hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) mã nguồn mở phổ biến nhất
trên thế giới. Nó được sử dụng rộng rãi trong nhiều lĩnh vực như phát triển web, ứng
dụng di động, thương mại điện tử, tài chính, giáo dục và nghiên cứu khoa học.

3.1. Đặc điểm nổi bật của MySQL:

 Mã nguồn mở: MySQL được phát hành theo giấy phép GNU GPL, cho phép
sử dụng, sửa đổi và phân phối miễn phí.
 Dễ sử dụng: MySQL có cú pháp đơn giản, dễ học và dễ sử dụng, phù hợp cho
cả người mới bắt đầu.
 Hiệu suất cao: MySQL được tối ưu hóa cho tốc độ và hiệu suất, đáp ứng nhu
cầu truy cập dữ liệu nhanh chóng và hiệu quả.
 Tính tin cậy: MySQL có độ tin cậy cao, đảm bảo an toàn và bảo mật cho dữ
liệu.
 Khả năng mở rộng: MySQL có thể mở rộng dễ dàng để đáp ứng nhu cầu lưu
trữ dữ liệu ngày càng tăng.
 Hỗ trợ đa nền tảng: MySQL có thể chạy trên nhiều hệ điều hành khác nhau
như Windows, Linux, macOS và Unix.
 Cộng đồng lớn: MySQL sở hữu cộng đồng người dùng và nhà phát triển sôi
động, luôn sẵn sàng hỗ trợ và chia sẻ kiến thức.
3.2. Ưu điểm của MySQL:

 Miễn phí: MySQL hoàn toàn miễn phí để sử dụng, giúp tiết kiệm chi phí cho
doanh nghiệp và tổ chức.
 Dễ cài đặt và sử dụng: MySQL có thể được cài đặt và sử dụng dễ dàng trên
nhiều hệ điều hành khác nhau.
 Hiệu suất cao: MySQL cung cấp hiệu suất truy cập dữ liệu nhanh chóng và
hiệu quả.
 Tính tin cậy: MySQL có độ tin cậy cao, đảm bảo an toàn và bảo mật cho dữ
liệu.
 Khả năng mở rộng: MySQL có thể mở rộng dễ dàng để đáp ứng nhu cầu lưu
trữ dữ liệu ngày càng tăng.
 Hỗ trợ đa ngôn ngữ: MySQL hỗ trợ nhiều ngôn ngữ lập trình phổ biến như
PHP, Java, Python, C++ và C#.
 Cộng đồng lớn: Cộng đồng người dùng và nhà phát triển MySQL luôn sẵn
sàng hỗ trợ và chia sẻ kiến thức, giúp bạn giải quyết các vấn đề gặp phải trong
quá trình sử dụng.
3.3. Ứng dụng của MySQL:

 Phát triển web: MySQL được sử dụng rộng rãi để lưu trữ dữ liệu cho các trang
web và ứng dụng web với các framework phổ biến như PHP, Django và Ruby
on Rails.
 Ứng dụng di động: MySQL có thể được sử dụng để lưu trữ dữ liệu cho các
ứng dụng di động phát triển trên các nền tảng như Android và iOS.
 Thương mại điện tử: MySQL được sử dụng để lưu trữ dữ liệu sản phẩm, đơn
hàng, khách hàng và các thông tin khác cho các trang web thương mại điện tử.
 Tài chính: MySQL được sử dụng để lưu trữ dữ liệu tài khoản, giao dịch và các
thông tin tài chính khác cho các ngân hàng và tổ chức tài chính.
 Giáo dục: MySQL được sử dụng để lưu trữ dữ liệu học sinh, giáo viên, điểm số
và các thông tin giáo dục khác cho các trường học và hệ thống giáo dục.
 Nghiên cứu khoa học: MySQL được sử dụng để lưu trữ dữ liệu thí nghiệm, kết
quả nghiên cứu và các thông tin khoa học khác.

4. Giới thiệu về Django:


-Django là một framework mã nguồn mở viết bằng Python được sử dụng để phát triển
website nhanh chóng, an toàn và có thể mở rộng. Nó được biết đến với sự dễ sử dụng,
tính linh hoạt và cộng đồng hỗ trợ lớn.

4.1. Đặc điểm nổi bật của Django:

 Dễ sử dụng: Django cung cấp nhiều tính năng tích hợp sẵn giúp đơn giản hóa
quá trình phát triển website, bao gồm hệ thống quản trị nội dung (CMS), xác
thực người dùng và quản lý URL.
 Nhanh chóng: Django sử dụng hệ thống "ready to use" giúp bạn bắt đầu phát
triển website nhanh chóng mà không cần viết nhiều mã.
 An toàn: Django được thiết kế để bảo mật website khỏi các lỗ hổng và tấn công
mạng phổ biến.
 Có thể mở rộng: Django có thể được sử dụng để phát triển website từ đơn giản
đến phức tạp với nhiều tính năng và khả năng mở rộng cao.
 Cộng đồng lớn: Django sở hữu cộng đồng người dùng và nhà phát triển sôi
động, luôn sẵn sàng hỗ trợ và chia sẻ kiến thức.
4.2. Lợi ích sử dụng Django:

 Tiết kiệm thời gian và chi phí: Django giúp bạn phát triển website nhanh
chóng và hiệu quả, tiết kiệm thời gian và chi phí so với viết mã từ đầu.
 Dễ bảo trì: Code Django dễ đọc và dễ hiểu, giúp việc bảo trì và sửa lỗi website
trở nên dễ dàng hơn.
 Website an toàn và bảo mật: Django được thiết kế để bảo mật website khỏi
các lỗ hổng và tấn công mạng phổ biến.
 Khả năng mở rộng cao: Django có thể được sử dụng để phát triển website từ
đơn giản đến phức tạp với nhiều tính năng và khả năng mở rộng cao.
 Cộng đồng hỗ trợ lớn: Khi gặp vấn đề trong quá trình phát triển website, bạn
có thể dễ dàng tìm kiếm sự trợ giúp từ cộng đồng Django sôi động.
4.3. Ứng dụng của Django:

 Website tin tức: Django được sử dụng rộng rãi để phát triển các website tin
tức, blog và trang web truyền thông.
 Website thương mại điện tử: Django là lựa chọn phổ biến cho phát triển các
website thương mại điện tử, cho phép bạn bán sản phẩm và dịch vụ trực tuyến.
 Mạng xã hội: Django có thể được sử dụng để phát triển các mạng xã hội và
cộng đồng trực tuyến.
 Website giáo dục: Django được sử dụng để phát triển các website giáo dục,
cung cấp bài giảng và tài nguyên học tập trực tuyến.
 Website doanh nghiệp: Django là lựa chọn phù hợp cho phát triển website
doanh nghiệp, giới thiệu sản phẩm, dịch vụ và thông tin liên hệ.

CHƯƠNG 2: PHÂN TÍCH CÁC CHỨC NĂNG.


1. Chức năng Guest:
Slider:

Hiển thị hình ảnh


Danh mục sản phẩm

Phân loại các sản phẩm, giá cả, thương hiệu…

Giúp khách hàng sẽ dễ dàng tìm kiếm sản phẩm mình mong muốn hơn

Giúp khách hàng dễ dàng truy cập lọc danh mục sản phẩm theo các tiêu chí cụ thể.

Hiển thị các sản phẩm:

Cung cấp thông tin về số lượng sản phẩm còn hàng.

Cho phép khách truy cập thêm sản phẩm vào giỏ
Giỏ hàng:

Hiển thị đầy đủ thông tin về các sản phẩm đã được thêm vào, bao gồm hình ảnh sản
phẩm, tên sản phẩm, giá sản phẩm, số lượng sản phẩm.
Khách hàng có thể điển thông tin vào để có thể đặt hàng
2. Chức năng users:
Chức năng Users là một tính năng cơ bản trong nhiều hệ thống phần mềm, ứng dụng
web và website, cho phép người dùng tạo tài khoản, đăng nhập, quản lý thông tin cá
nhân và thực hiện các hành động khác nhau trong hệ thống.

Đăng nhập:

 Cho phép người dùng đăng nhập khi họ đã tạo tài khoản đăng nhập vào trang
web bằng cách nhập tên đăng nhập và mật khẩu.
 Cung cấp cho người dùng quyền truy cập vào tài khoản của họ.

Đăng ký:

Cho phép người dùng tạo tài khoản mới để có thể mua hàng, lưu trữ sản phẩm
Thu thập thông tin cá nhân cơ bản của người dùng như họ tên, địa chỉ email.
Yêu cầu người dùng đặt mật khẩu và xác nhận mật khẩu.
Giỏ hàng:

Cho phép người dung xem và chỉnh sửa giỏ hàng: Hiển thị danh sách các sản phẩm
trong giỏ hàng và cho phép người dùng chỉnh sửa số lượng.
Tính toán tổng giá trị: Tính toán tổng giá trị của các sản phẩm trong giỏ hàng và hiển
thị tổng tiền.
3. Chức năng admin:
Chức năng Admin, hay còn gọi là chức năng quản trị viên, là một tập hợp các tính
năng cho phép người dùng có quyền hạn cao thực hiện các thao tác quản lý, cấu hình
và điều khiển hệ thống. Nó đóng vai trò quan trọng trong việc đảm bảo hoạt động trơn
tru, hiệu quả và an toàn của hệ thống.

Quản lý sản phẩm:

 Tạo, chỉnh sửa và xóa sản phẩm: Cho phép quản trị viên thêm sản phẩm mới,
chỉnh sửa thông tin của sản phẩm hiện có và xóa bỏ các sản phẩm không còn
được bán nữa.
 Quản lý danh mục: Cung cấp khả năng tạo, chỉnh sửa và xóa danh mục sản
phẩm để tổ chức sản phẩm một cách rõ ràng và dễ quản lý.
 Quản lý hình ảnh và mô tả: Cho phép quản trị viên tải lên hình ảnh và mô tả sản
phẩm, cũng như quản lý các tệp đính kèm.

Quản lý người dùng

 Xem và chỉnh sửa thông tin người dùng: Hiển thị thông tin cá nhân của người
dùng, bao gồm tên, địa chỉ,gmail và cung cấp khả năng chỉnh sửa thông tin,
ngày đăng nhập và lần cuối đăng nhập.
 Quản lý tài khoản: Cho phép quản trị viên khóa hoặc xóa tài khoản người dùng,
cũng như cung cấp các quyền hạn phù hợp cho từng tài khoản.
CHƯƠNG 3: Xây dựng website bán hàng
Chúng ta sẽ tạo một project tên là Shop để làm ví dụ về một web bán
hàng đơn giản dựa theo mô hình trên
Đầu tiên chúng ta tạo các app tương ứng là những bảng trong hình
dưới bằng lệnh :
django-admin starapp (tên app),rồi chạy ra câu lệnh cd project để thực hiện
tạo ra một app có tên là product thông qua câu lệnh python manage.py
startapp product
Các chức năng:
Hiển thị các sản phẩm
def home (request):
if request.user.is_authenticated:
customer = request.user
order, created = Order.objects.get_or_create(customer
=customer,complete =False)
items = order.orderitem_set.all()
cartItems = order.get_cart_items
user_not_login = "hidden"
user_login = "show"
else:
items = []
order = {'get_cart_items':0,'get_cart_total':0}
cartItems = order['get_cart_items']
user_not_login = "show"
user_login = "hidden"
categories = Category.objects.filter(is_sub = False)
products = Product.objects.all()
context= {'categories':categories, 'products': products,'cartItems':
cartItems, 'user_not_login': user_not_login, 'user_login': user_login}
return render(request, 'app/home.html', context)

Chức năng checkout


def checkout(request):
if request.user.is_authenticated:
customer = request.user
order, created = Order.objects.get_or_create(customer
=customer,complete =False)
items = order.orderitem_set.all()
cartItems = order.get_cart_items
user_not_login = "hidden"
user_login = "show"
else:
items = []
order = {'get_cart_items':0,'get_cart_total':0}
cartItems = order['get_cart_items']
context= {'items':items, 'order':order, 'cartItems':cartItems,
'user_not_login': user_not_login, 'user_login': user_login}
user_not_login = "show"
user_login = "hidden"
return render(request, 'app/checkout.html', context)

Chức năng giỏ hàng


def cart (request):
if request.user.is_authenticated:
customer = request.user
order, created = Order.objects.get_or_create(customer
=customer,complete =False)
items = order.orderitem_set.all()
cartItems = order.get_cart_items
else:
items = []
order = {'get_cart_items':0,'get_cart_total':0}
cartItems = order['get_cart_items']
context= {'items':items, 'order':order,'cartItems':cartItems}
return render(request, 'app/cart.html', context)is_authenticated dung
để xác nhận người dung

Chức năng đăng ký và đăng nhập


def register(request):
form = CreateUserForm
context = {'form':form}
if request.method == "POST":
form = CreateUserForm(request.POST)
if form.is_valid():
form.save()
return redirect('login')
context = {'form':form}
return render(request,'app/register.html', context)
def loginPage(request):
if request.user.is_authenticated:
return redirect('home')
if request.method == "POST":
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(request,username =username,password=password)
if user is not None:
login(request,user)
return redirect('home')
else: messages.info(request,'user or password not correct!')

Khi người dung đăng ký sẽ nhập vào username,password và xác nhận


mật khẩu,gmail,họ và tên, sau khi đăng ký thành công thì trang sẽ tự
động chuyển qua trang login.

Chức năng xem danh mục từng sản phẩm


def category(request):
categories = Category.objects.filter(is_sub = False)
active_category = request.GET.get('category','')
if active_category:
products = Product.objects.filter(category__slug = active_category)
context = {'categories':categories,'products': products,'active_category':
active_category}
return render(request,'app/category.html', context)

Chức năng cập nhật đơn hàng


def updateItem(request):
data = json.loads(request.body)
productId = data['productId']
action = data['action']
customer = request.user
product = Product.objects.get(id = productId)
order, created = Order.objects.get_or_create(customer =customer,complete
=False)
orderItem, created = OrderItem.objects.get_or_create(order =order,product
=product)
if action == 'add':
orderItem.quantity +=1
elif action == 'remove':
orderItem.quantity -=1
orderItem.save()
if orderItem.quantity<=0:
orderItem.delete()
return JsonResponse('added', safe=False)
Chức năng xem chi tiết sản phẩm
def detail(request):
items = []
order = {'get_cart_items': 0, 'get_cart_total': 0}
cartItems = order['get_cart_items']
user_not_login = "hidden"
user_login = "show"

if request.user.is_authenticated:
customer = request.user
order, created = Order.objects.get_or_create(customer=customer,
complete=False)
items = order.orderitem_set.all()
cartItems = order.get_cart_items

id = request.GET.get('id')
# if id:
products = Product.objects.filter(id=id)
# else:
# products = []

categories = Category.objects.filter(is_sub=False)

context = {
'products': products,
'items': items,
'order': order,
'cartItems': cartItems,

Chức năng tìm kiếm


def search(request):
if request.method == "POST":
searched = request.POST["searched"]
keys = Product.objects.filter(name__contains = searched)
return render(request, 'app/search.html',
{"searched":searched,"keys":keys})
Kết quả đạt được
Thiết kế được một Website đáp ứng được kiện cần và đủ của 1 Web bán đồng hồ trực
tuyến.
- Giao diện chưa thu hút được khách hàng
- Chức năng Guest vẫn giúp khách hàng trải nghiệm và thực hiện những tác vụ cần
thiết: Tìm kiếm thông tin sản phẩm, danh mục sản phẩm, sản phẩm được bày bán theo
thị hướng mới nhất
- Giỏ hàng khi người dùng đã đăng nhập vào có thêm những đặc quyền như:
+ Hiển thị đầy đủ thông tin về các sản phẩm đã được thêm vào
+ Xem và chỉnh sửa giỏ hàng
+ Tính toán tổng giá trị
- Chức năng User: Đăng ký và đăng nhập
+ Người dùng dễ dàng thao tác
- Chức năng Admin: cho phép quản lí đơn hàng, quản lí người dùng và quản lí sản
phẩm

Hướng phát triển


Cải thiện trang chi tiết sản phẩm:
- Cung cấp thông tin chi tiết và đầy đủ hơn: Bao gồm mô tả sản phẩm, thông số kỹ
thuật, hình ảnh,hướng dẫn sử dụng, chính sách bảo hành,...
- Tăng tính tương tác: Cho phép khách hàng đặt câu hỏi, đánh giá và chia sẻ ý kiến về
sản phẩm.
- Tối ưu hóa trải nghiệm người dùng: Thiết kế giao diện đẹp mắt, dễ sử dụng, thân
thiện với mọi thiết bị.
-Thêm mục đánh giá người dùng và bình luận của mỗi sản phẩm
-Hiển thị mua hàng thành công khi người dùng bấm vào đặt hàng
-Thêm tính năng tìm kiếm khi người dùng muốn tìm sản phẩm họ mong muốn
Tài liệu tham khảo
Giới thiệu về django
https://aws.amazon.com/vi/what-is/django/

You might also like