1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo cuối kì môn lập trình python đề tài website quản lí và bán máy tính

120 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Trang 1

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC BÁCH KHOAKHOA CÔNG NGHỆ THÔNG TIN

SINH VIÊN THỰC HIỆN:

Lê Thanh Việt MSSV: 102210287

Hoàng Chiến Thắng MSSV: 102210277Nguyễn Thị Thanh Thảo MSSV: 102210278

BÁO CÁO CUỐI KÌMôn: Lập trình Python

NHÓM 7

Đề tài: Website quản lí và bán máy tính

GVHD: Nguyễn Văn Hiếu

ĐÀ NẴNG THÁNG 5/2024

Trang 2

PHÂN CHIA CÔNG VIỆC

Họ tên Nhiệm vụ Tỉ lệ

Lê Thanh Việt- Thiết kế cơ sở dữ liệuPhía client:

- Đăng kí và xác thực email- Đăng nhập người dùng- Chức năng đổi mật khẩu

- Chức năng sửa thông tin cá nhân- Xem lịch sửa đặt hàng

- Chức năng reorder- Thiết kế giao diện - Chức năng thanh toánPhía admin:

- Quản lí người dùng- Quản lí giá tiền ship

- Phân trang

- Hiển thị sản phẩm cho khách hàng- Thêm sản phẩm vào giỏ hàng- Chức năng thanh toán bằng momoPhía admin:

- Quản lí thương hiệu- Quản lí sản phẩm

- Thống kê số sản phẩm của mỗi

33,33%

Trang 3

thương hiệuNguyễn Thị Thanh

Thảo - Thiết kế cơ sở dữ liệuPhía client:

- Sắp xếp sản phẩm theo giá sản phẩm (từ cao tới thấp, từ thấp tới cao)

- Hiển thị sản phẩm bán chạy nhất- Hiển thị sản phẩm mới nhất- Thiết kế giao diện

- Xây dựng trang hiển thị chi tiết sản phẩm

Phía admin:

- Quản lí đơn hàng- Quản lí hoá đơn

- Quản lí chi tiết hoá đơn

- Thống kê số tiền bán được mỗi sảnphẩm theo ngày

- Thiết kế giao diện

33,33%

Trang 4

MỤC LỤC

I GIỚI THIỆU 8

1.1 Lý do chọn đề tài 8

1.2 Giới thiệu về đề tài 8

II TỔNG QUAN VỀ FLASK 9

2.1 Định nghĩa 9

Những lợi thế của Flask: 9

Sự phổ biến của Flask 10

Cách đặt thư viện Flask 10

2.2 Quản lý thư viện dùng trong Project 11

III CÁC CHỨC NĂNG CHÍNH 12

1 Đăng nhập và phân quyền 12

2 Đăng ký tài khoản 12

3 Quên mật khẩu 12

4 Đăng xuất 12

5 Quản lý tài khoản 12

6 Quản lý thương hiệu: 13

7 Quản lí sản phẩm: 13

8 Quản lí đơn hàng: 13

9 Quản lí biên lai: 13

10 Quản lí chi tiết biên lai: 14

11 Quản lí giá ship tới từng thành phố: 14

12 Thống kê sản phẩm theo danh mục 14

13 Thống kê số tiền bán được của mỗi sản phẩm 14

14 Tìm kiếm sản phẩm: 14

15 Sắp xếp sản phẩm: 14

16 Thêm sản phẩm vào giỏ hàng và thanh toán: 15

17 Hiển thị các sản phẩm mới nhất và bán chạy nhất 15

18 Xem chi tiết sản phẩm và hiện những sản phẩm tương tự 15

Trang 5

1.1 Đặc tả use case người dùng 17

1.2 Đặc tả usecase quản trị viên 18

1.3 Đặc tả usecase chức năng quản lí người dùng 20

1.4 Đặc tả usecase chức năng quản lí thương hiệu 21

1.5 Đặc tả usecase chức năng quản lí sản phẩm 22

1.6 Đặc tả usecase chức năng quản lí đơn hàng 23

1.7 Đặc tả usecase chức năng quản lí hoá đơn 24

1.8 Đặc tả usecase chức năng quản lí chi tiết hoá đơn 25

1.9 Đặc tả usecase chức năng quản lí giá tiền ship 26

2 Biểu đồ tuần tự 27

2.1 Biểu đồ tuần tự đăng nhập 27

2.2 Biểu đồ tuần tự chức năng đăng kí 28

2.3 Biểu đồ tuần tự thêm sản phẩm vào giỏ hàng 30

2.4 Biểu đồ tuần tự lọc sản phẩm theo giá 31

2.5 Biểu đồ tuần tự tìm kiếm sản phẩm theo tên 31

V GIAO DIỆN CHƯƠNG TRÌNH 33

1 Giao diện trang client 33

1.1 Giao diện trang chủ 33

1.2 Giao diện trang mua sắm 35

1.3 Giao diện trang đăng nhập 37

1.4 Giao diện trang đăng kí tài khoản 39

1.5 Giao diện trang cá nhân 41

1.6 Giao diện trang đổi mật khẩu 43

1.7 Giao diện xem lịch sử đặt hàng 44

1.8 Xem chi tiết sản phẩm 46

Trang 6

1.9 Giao diện giỏ hàng 49

1.10 Giao diện tiến hành thanh toán 51

2 Giao diện trang quản lí 55

2.1 Giao diện trang đăng nhập dành cho Admin 55

2.2 Giao diện sau khi đăng nhập thành công bằng tài khoản Admin 56

2.3 Giao diện trang quản lí người dùng 57

2.3.1 Hiển thị danh sách 57

2.3.2 Thêm người dùng 59

2.3.3 Sửa thông tin người dùng 62

2.3.4 Xem chi tiết thông tin người dùng 64

2.3.5 Xuất file excel danh sách người dùng 65

2.4 Giao diện quản lí thương hiệu 66

2.4.1 Hiển thị danh sách thương hiệu 66

2.4.2 Thêm một thương hiệu mới 68

2.4.3 Cập nhật thông tin một thương hiệu 70

2.4.4 Xem thông tin chi tiết của thương hiệu 72

2.4.5 Xuất file excel danh sách thương hiệu 73

2.5 Quản lí sản phẩm 74

2.5.1 Hiển thị danh sách sản phẩm 74

2.5.2 Thêm sản phẩm mới theo danh mục 76

2.5.3 Sửa thông tin một sản phẩm 79

2.5.4 Xem thông tin chi tiết một sản phẩm 82

2.5.5 Xuất file excel danh sách số sản phẩm 84

2.6 Quản lí đơn đặt hàng 85

2.6.1 Giao diện hiển thị danh sách đơn đặt hàng 85

2.6.2 Giao diện chỉnh sửa đơn đặt hàng 87

2.6.3 Xuất file excel danh sách đơn đặt hàng 89

2.7 Quản lí hoá đơn 90

2.7.1 Giao diện hiển thị danh sách hoá đơn 90

2.7.2 Xuất file excel danh sách hoá đơn 91

2.8 Quản lí chi tiết hoá đơn 92

Trang 7

2.8.1 Giao diện hiển thị danh sách chi tiết hoá đơn 92

2.8.2 Giao diện xem chi tiết hoá đơn 93

2.9 Quản lí giá tiền ship tới từng thành phố 95

2.9.1 Hiển thị danh sách giá tiền ship tới các thành phố khác nhau 95

2.9.2 Thêm giá tiền ship tới thành phố khác 97

2.9.3 Sửa thông tin giá tiền hoặc thành phố 98

2.9.4 Xem chi tiết giá tiền ship 100

2.9.5 Xuất file excel danh sách chi tiết giá tiền 100

2.10 Thống kê danh sách sản phẩm theo danh mục 101

2.11 Thống kê số tiền mỗi sản phầm đã bán được 102

10 Quản lí hoá đơn 117

11 Quản lí chi tiết hoá đơn 118

12 Quản lí giá ship 119

VII KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 120

1 Kết luận 120

2 Hướng phát triển 120

Trang 8

I GIỚI THIỆU1.1 Lý do chọn đề tài

Nhận thấy được sự phát triển và phổ biến của các thiết bị thông minh thì nhu cầuđể sỡ hữu một chiếc máy tính ngày càng tăng cao Nắm bắt được nhu cầu ngày càng tăngcao ấy, chúng em quyết định xây dựng một website cho phép người dùng có thể dễ dàngsỡ hữu cho mình một chiếc máy tính

1.2 Giới thiệu về đề tài

Công nghệ thông tin (CNTT) ngày càng có vai trò quan trọng trong cuộc sốnghàng ngày của chúng ta.Việc ứng dụng công nghệ thông tin vào các lĩnh vực trong đờisống giúp công việc được tiến hành nhanh chóng và hiệu quả hơn.Có rất nhiều công việcmới phát triển song song cùng với CNTT, một trong số đó là lập trình wed, một hướng đidịch vụ mang lại hiệu quả kinh tế rất lớn.

Một ứng dụng của lập trình wed khá phổ biến là wedsite ecommerce và đó là đềtài của chúng em tiến hành.Ở đề tài này chúng tôi sẽ tạo ra một wedsite để người dùng cóthể mua những chiêc laptop một cách dễ dàng Tại đây người dùng sẽ tiếp cận được nhiềuloại máy tình đến từ nhiều hãng khác nhau và dễ dàng thanh toán

Với sự phát triển của công nghệ thông tin thì bây giờ chúng ta đã có rất nhiều côngnghệ để tạo ra một wedsite cho riêng mình, ví dụ như : JavaScrip,Python,PHP,C#,… Vàở đây chug em sẽ làm về ứng dụng Flask tạo website Các ưu điểm của Flask như giaodiện quản trị đơn giản, thư viện hỗ trợ đầy đủ, khả năng mở rộng, sẽ giúp cho đồ án dễdàng và tốt hơn.Kết hợp với kiến thức về cơ sở dữ liệu SQL chúng em sẽ tạo ra mộtwedsite mua bán máy tính với đầy đủ chức năng cho người dùng và admin.

Trang 9

II TỔNG QUAN VỀ FLASK

2.1 Định nghĩa

Flask là một micro web framework được viết bằng Python, không yêu cầu tool hay thư

viện cụ thể nào “Micro” không có nghĩa là thiếu chức năng mà “micro” theo triết lý thiết kế là cung cấp một lõi chức năng “súc tích” nhất cho ứng dụng web nhưng người dùng cóthể mở rộng bất cứ lúc nào Flask luôn hỗ trợ các thành phần tiện ích mở rộng cho ứng dụng như tích hợp cơ sở dữ liệu, xác thực biểu mẫu, xử lý upload, các công nghệ xác thực, template, email, RESTful , chỉ khác là khi nào bạn muốn thì bạn mới đưa vào thôi.Người dùng có thể tập trung xây dựng web application ngay từ đầu trong một khoảng thời gian rất ngắn và có thể phát triển quy mô của ứng dụng tùy theo yêu cầu.

Những lợi thế của Flask:

bạn gõ lệnh: pip install Flask

nhỏ, gọn nên bạn hoàn toàn không bị bó buộc bởi bộ khung cồng kềnh, không gặpbất cứ khó khăn nào khi cấu hình hay tổ chức ứng dụng Không những thế, Flaskcòn có các ưu điểm nổi bật như: cực kỳ linh hoạt, tối giản, dễ tìm hiểu và sử dụng,định tuyến dễ dàng, rất dễ mở rộng Vì vậy, công việc chính của bạn là chỉ cần xácđịnh ý tưởng, mục tiêu, tập trung vào việc xây dựng ứng dụng web mà thôi.

hiện và triển khai, từ hướng dẫn nhanh đến hướng dẫn chi tiết Bạn có thể dễ dàngtìm kiếm, tham khảo, học tập về lập trình web application với Flask frameworkmiễn phí trên Internet.

triển tự do tổ chức dự án theo cách họ muốn

Extension ecosystem: Flask cung cấp một hệ sinh thái mở rộng (extension

ecosystem) phong phú cho phép người dùng mở rộng chức năng của Flask thôngqua các extension như Flask - SQLAlchemy cho việc kết nối cơ sở dữ liệu, Flask -WTF cho việc xử lý mẫu, nhiều extension khác.

và có thể được triển khai một cách dễ dàng.

Trang 10

Sự phổ biến của Flask

Thực sự chưa có một bài thống kê cụ thể về sự phố biến các framework Việc đánh

gía hiện nay dựa vào số lượng các web phổ biến dùng Flask, số lượng người đóng góp

codebase, và số lượng người phát triển cả tình nguyện lẫn được trả công Thì có thể chorằng Flask là framework phổ biến.

Cách đặt thư viện Flask

Ta sẽ cài đặt Flask bằng trình lệnh pip của Python Bây giờ bạn mở Terminal/CMD và

gõ lệnh sau:

pip install Flask

Trang 11

2.2 Quản lý thư viện dùng trong Project

Các thư viện trong dự án được lưu trong file requirements.txt để người sử dụngcũng như tham gia phát triển dự án có thể cài đặt một cách nhanh nhất có thể

file requirements.txt trong hệ thống thư mục gốc

Những thư viện được đặt trong file

Để thêm một thư viện vào file sau khi chúng ta cài đặt thì ta sẽ sử dụng lệnh pip

freeze > requirements.txt

vd: Sau khi cài đặt thư viện mysqlClient để kết nối tới mysql ta sẽ chạy lệnh pipfreeze > requirements.txt để khi người dùng hoặc người phát triển clone về có thể nhậnbiết cũng như chạy lệnh pip install -r requirements.txt để load thư viện cần dùng

Chạy lệnh pip install -r requirements.txt để load thư viện

Trang 12

III CÁC CHỨC NĂNG CHÍNH

1 Đăng nhập và phân quyền

- Mỗi user có 1 quyền nhất định Tài khoản quản trị viên sẽ có tất cả các quyền Tàikhoản khách hàng thì chỉ xem được các sản phẩm và thông tin cá nhân của mình, có thể đặt hàng.

- Nếu người dùng đăng nhập với vai trò là admin thì có thể đi tới trang quản lí từ phía trang dành cho người dùng bằng ADMIN DASHNOARD

2 Đăng ký tài khoản

-Mặc định đăng ký tài khoản thành công thì sẽ trao cho tài khoản đăng ký là khách hàng Sau khi đăng kí thành công thì sẽ có một email gửi đến theo email mà người đã điền trước đó để kích hoạt tài khoản Trong trường hợp link expried thì người dùng có thể nhờ Admin kích hoạt tài khoản giùm.

-Tài khoản quản trị viên có thêm thêm tài khoản khác với đầy đủ quyền truy cập.

5 Quản lý tài khoản

- Quản trị viên có thể xem thông tin của tất cả tài khoản trong hệ thống- Admin có thể tự thêm tài khoản

- Xuất file excel

- Xoá một hoặc nhiều tài khoản đã chọn- Sửa thông tin tài khoản

- Tìm kiếm theo tên, email, điện thoại, username của người dùng

- Yêu cầu: người dùng phải đăng nhập với vai trò Admin

Trang 13

6 Quản lý thương hiệu:

- Thêm thương hiệu vào cơ sở dữ liệu- Xem thông tin của thương hiệu- Sửa thông tin thương hiệu

- Xoá một hoặc nhiều thương hiệu cùng một lúc- Tìm kiếm theo tên thương hiệu

- Xuất file excel

- Yêu cầu: người dùng phải đăng nhập với vai trò Admin

7 Quản lí sản phẩm:

- Xem, sửa thông tin sản phẩm.

- Thêm một sản phẩm theo danh mục.- Xoá một hoặc cùng lúc nhiều sản phẩm.

- Tìm kiếm sản phẩm theo tên, cân nặng sản phẩm, giá thành sản phẩm ,các bộ phận của sản phẩm như: chip, màn hình máy tín, ram, rom.

- Xuất file excel

- Yêu cầu: người dùng phải đăng nhập với vai trò Admin

- Yêu cầu: người dùng phải đăng nhập với vai trò Admin

9 Quản lí biên lai:

- Xem, sửa thông tin biên lai

- Xoá một hay nhiều biên lai cùng lúc

- Tìm kiếm đơn hàng theo tên của người dùng đã đặt hàng

Trang 14

- Xuất file excel

- Yêu cầu: người dùng phải đăng nhập với vai trò Admin

10 Quản lí chi tiết biên lai:

- Xem, sửa chi tiết biên lai

- Xoá một hay nhiều chi tiết biên lai cùng lúc

- Tìm kiếm chi tiết biên lai theo số lượng sản phẩm, giá, sản phẩm- Xuất file excel

- Yêu cầu: người dùng phải đăng nhập với vai trò Admin

11 Quản lí giá ship tới từng thành phố:

- Xem, sửa chi tiết giá ship của từng thành phố- Xoá một hay nhiều giá ship cùng lúc

- Thêm thông tin giá ship tới thành phố- Xuất file excel

- Yêu cầu: người dùng phải đăng nhập với vai trò Admin

12 Thống kê sản phẩm theo danh mục

- Yêu cầu: người dùng phải đăng nhập với vai trò Admin

13 Thống kê số tiền bán được của mỗi sản phẩm

- Yêu cầu: người dùng phải đăng nhập với vai trò Admin

Trang 15

16 Thêm sản phẩm vào giỏ hàng và thanh toán:

- Cho phép thêm sản phẩm vào giỏ hàng, hoặc bỏ ra khỏi giỏ hàng và sau đó có thểthanh toán Khi thanh toán hóa đơn sẽ được lưu lại và khách hàng có thể chọn thanh toán online hoặc thanh toán khi nhận hàng Tuy nhiên, khách hàng phải đăngnhập mới có thể sử dụng được chức năng này

17 Hiển thị các sản phẩm mới nhất và bán chạy nhất

18 Xem chi tiết sản phẩm và hiện những sản phẩm tương tự

- Người dùng click vào tên sản phẩm để xem chi tiết sản phẩm đó, đồng thời cũng gợi ý những sản phẩm cùng danh mục

19 Quản lý giỏ hàng

- Tăng hoặc giảm số lượng sản phẩm- Xem tổng tiền

- Tiến hành đặt hàng

- Hiển thị số sản phẩm có trong giỏ hàng

- Hiển thị các thông tin liên quan đến sản phẩm như hình ảnh, tên, mô tả, số lượng, giá sản phẩm

20 Xem lại lịch sử đặt hàng

- Yêu cầu: người dùng phải đăng nhập

21 Viết review cho sản phẩm22 Phân trang sản phẩm

- Mỗi trang sẽ có 9 sản phẩm

Trang 16

IV PHÂN TÍCH HỆ THỐNG

1 Biểu đồ usecase sử dụng

Trang 17

1.1 Đặc tả use case người dùng

Trang 18

1.2 Đặc tả usecase quản trị viên

Trang 20

1.3 Đặc tả usecase chức năng quản lí người dùng

Trang 21

1.4 Đặc tả usecase chức năng quản lí thương hiệu

Trang 22

1.5 Đặc tả usecase chức năng quản lí sản phẩm

Trang 23

1.6 Đặc tả usecase chức năng quản lí đơn hàng

Trang 24

1.7 Đặc tả usecase chức năng quản lí hoá đơn

Trang 25

1.8 Đặc tả usecase chức năng quản lí chi tiết hoá đơn

Trang 26

1.9 Đặc tả usecase chức năng quản lí giá tiền ship

Trang 27

2 Biểu đồ tuần tự

2.1 Biểu đồ tuần tự đăng nhập

Trang 28

2.2 Biểu đồ tuần tự chức năng đăng kí

Trang 30

2.3 Biểu đồ tuần tự thêm sản phẩm vào giỏ hàng

Trang 31

2.4 Biểu đồ tuần tự lọc sản phẩm theo giá

2.5 Biểu đồ tuần tự tìm kiếm sản phẩm theo tên

Trang 33

V GIAO DIỆN CHƯƠNG TRÌNH

1 Giao diện trang client1.1 Giao diện trang chủ

Trang 35

1.2 Giao diện trang mua sắm

Trang 37

1.3 Giao diện trang đăng nhập

Screen Giao diện đăng nhập

Description Cho phép người dùng đăng nhập để sử dụng các chức năng của website

Screen Access

Nhấn vào Log in ở header

Screen Content

User name TextField – String(30)

Users.username Người dùng nhập userame tại đây

Users.password Người dùng nhập mật khẩu tại đây

Login withGoogle

Screen Action

Action NameDescriptionSuccessFailure

name và password, sau

Chuyển đến trang chủ của website

Hiển thị thông báo đăng nhập không thành công

Trang 38

đó nhấn nút Login để xác nhận đăng nhập

tài khoản, người dùng có thể nhấp vào để tới trang đăng kí tài khoản

Chuyển đến trang đăng kí tài khoản

Trong trường hợp người dùng quên mật khẩu tài khoản,có thể nhấp vào để thay đổisang mật khẩu mới

Chuyển đến trang lấy lại mật khẩu

Trang 39

1.4 Giao diện trang đăng kí tài khoản

Screen Giao diện đăng kí tài khoản

Description Cho phép người dùng đăng kí tài khoản

Screen Access

Nhấn vào Registration ở header

Screen Content

Full Name TextField - String(30)

User Name TextField String(30)

-Users.username Người dùng nhập userame tại đây

Người dùng nhập lại mật khẩu đã ghitrước đó

Trang 40

CREATE ANACCOUNT

của tất cả các ô input trong form đăng kí

Screen Action

Action NameDescriptionSuccessFailure

CREATE ANACCOUNT

Nhập thông tincá nhân, username và password, sau đó nhấn nút CREATE AN ACCOUNT đểđăng kí tài khoản, rồi vào email đã dùng để đăng kí để kích hoạt tài khoản

Chuyển đến trang đăng nhập

Hiển thị thông báo đăng kí không thành công

nội dung tất cả các ô input có trong form đăng kí

Tất cả các ô input trở về trạng thái banđầu

Ngày đăng: 02/06/2024, 14:45

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w