Trang còn có chức năng gợi ý và giới thiệu các loại sách bán chạy, sách theo combo,…Giao diện đơn giản, dễ nhìn, có màu trắng và xám nhạt.Không có chức năng đánh giá về sách.. Cũng không
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA CÔNG NGHỆ THÔNG TIN 1
-
-BÁO CÁO ĐỀ TÀI HỌC PHẦN TỐT NGHIỆP 1
Đề tài: Xây dựng website bán sách
Sinh viên thực hiện: Lê Thành Long
Mã SV: B19DCCN391
Lớp: D19CNPM06
Giảng viên hướng dẫn: Nguyễn Mạnh Sơn
Hà Nội, 11/2023
Trang 2MỤC LỤC
MỤC LỤC 2
CHƯƠNG 1 GIỚI THIỆU BÀI TOÁN 3
1.1 Khảo sát các ứng dụng tương tự 3
1.2 Phạm vi đề tài và Kế hoạch thực hiện 7
1.3 Các chức năng cho từng nhóm người dùng 8
1.4 Phác thảo giao diện cho từng nhóm người dùng 8
CHƯƠNG 2 KỸ THUẬT VÀ CÔNG NGHỆ XÂY DỰNG ỨNG DỤNG 12
2.1 Kỹ thuật Công nghệ cho Front-end: HTML, CSS, JavaScript, Thymeleaf 12
2.2 Kỹ thuật Công nghệ cho Back-end: Spring Framework 14
2.3 Một số thư viện mã nguồn tham khảo 14
CHƯƠNG 3: CÀI ĐẶT ỨNG DỤNG 14
CHƯƠNG 4: XÂY DỰNG CHỨC NĂNG 14
Người dùng: 14
Quản lý: 17
Khách hàng: 20
TÀI LIỆU THAM KHẢO 24
Trang 3CHƯƠNG 1 GIỚI THIỆU BÀI TOÁN1.1 Khảo sát các ứng dụng tương tự
Khảo sát một vài trang web:
Trang 4Thanh toán:
- Cá chép có rất nhiều thể loại sách khác nhau: Văn học, thiếu nhi, kinh tế, ẩm thực,
âm nhạc, … => hướng đến nhiều đối tượng người dùng
Số lượng sách vô cùng nhiều, mỗi thể loại đều có số lượng sách lớn, được thêmvào liên tục giúp người dùng có đa dạng lựa chọn
Chức năng tìm kiếm dễ dàng: tìm kiếm bằng từ khóa hoặc bộ lọc(thể loại, giá,
…) Trang còn có chức năng gợi ý và giới thiệu các loại sách bán chạy, sách theo combo,…
Giao diện đơn giản, dễ nhìn, có màu trắng và xám nhạt
Không có chức năng đánh giá về sách Cũng không hiện số lượng đã bán
https://www.vinabook.com/
Trang 5- Một vài hình ảnh website
Trang chủ
Trang thông tin sách:
5
Trang 6Giỏ hàng
Thanh toán:
Trang 7Phát triển
phần mềm… None
388
B19DCCN533 Example 1
-Phát triển
phần mềm… None
69
B19DCCN707 Phạm-Xuân-Trường
-Phát triển
phần mềm… None
56
B19DCCN533 Example 4
-70
Trang 8Vinabook có rất nhiều thể loại sách khác nhau: Văn học, thiếu nhi, kinh tế, giáokhoa, … => hướng đến nhiều đối tượng người dùng
Số lượng sách vô cùng nhiều, mỗi thể loại đều có số lượng sách lớn, được thêmvào liên tục giúp người dùng có đa dạng lựa chọn
Chức năng tìm kiếm dễ dàng: tìm kiếm bằng từ khóa(tựa sách, tác giả) cùng với việc gợi ý những từ khóa hot Trang có khá nhiều bộ lọc gợi ý cho người dùng.Giao diện đơn giản, dễ nhìn, có màu trắng
Thông tin hiển thị sách khá đầy đủ những nội dung cơ bản mà người dùng quantâm
Chức năng bình luận và đánh giá về sách đầy đủ
1.2 Phạm vi đề tài và Kế hoạch thực hiện
Phạm vi đề tài:
Website dành riêng cho việc bán sách
Webstie hướng đến nhiều thể loại sách khác nhau
Website hướng đển nhiều đối tượng người dùng
Phát triểnphần mềm… None
Lê Đình Duy Anh BT06 - Example 5
Phát triểnphần mềm… None
38
Trang 9o Đăng nhập, đăng xuất
o xem thông tin sách
Chức năng của người quản lý:
o Được thực hiện chức năng như người dùng
o Quản lý sách : thêm sách, sửa sách, xoá sách
o Quản lý tài khoản : xem thông tin khách hàng, đổi mật khẩu, xóa tài khoản
o Thống kê đơn hàng, xem chi tiết đơn
Chức năng của khách hàng:
o Được thực hiện chức năng như người dùng
o Thể loại sách, gợi ý sách, giỏ hàng
o Xem thông tin sách
o Thêm vào, xóa sách khỏi giỏ hàng
o Thanh toán
1.4 Phác thảo giao diện cho từng nhóm người dùng
Giao diện quản lý:
Quản lý sách
admin | Đăng xuấtTrang chủ Quản lý sách Quản lý tài khoản Quản lý đơn hàng
Tìm kiếm
Trang 10admin | Đăng xuấtTrang chủ Quản lý sách Quản lý tài khoản Quản lý đơn hàng
Trang 11 Quản lý tài khoản
Giao diện người dùng:
Trang chủ
Quản lý giỏ hàng
long | Đăng xuất
STT Tên Sách Tác Giả Thể loại Giá cả
1 Harry Porter JK Tiểu thuyết 300K Xóa
2 Toán cao cấp Nguyễn văn A Sách giáo 70K Xóa
1 Nguyễn văn An anvan@gmail.com 0339737274 Sửa | Xóa
2 Nguyễn văn B bvan@gmail.com 0585828392 Sửa | Xóa
Thêm
long | Đăng xuất
Tìm kiếm
STT Tên Sách Tác Giả Thể loại Giá cả
1 Harry Porter JK Tiểu thuyết 300K Xem | 🛒
2 Toán cao cấp Nguyễn văn A Sách giáo
khoa
70K Xem | 🛒
Trang 12CHƯƠNG 2 KỸ THUẬT VÀ CÔNG NGHỆ XÂY DỰNG
ỨNG DỤNG2.1 Kỹ thuật Công nghệ cho Front-end: HTML, CSS, JavaScript, Thymeleaf
HTML
HTML là chữ viết tắt cho “HyperText Markup Language”, hay là "Ngôn ngữ Đánh dấu Siêu văn bản" là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web với các mẩu thông tin được trình bày trên World Wide Web Cùng với CSS
và JavaScript, HTML tạo ra bộ ba nền tảng kỹ thuật cho World Wide Web HTML được định nghĩa như là một ứng dụng đơn giản của SGML và được sử dụng trong các
tổ chức cần đến các yêu cầu xuất bản phức tạp HTML đã trở thành một chuẩn Internet do tổ chức World Wide Web Consortium (W3C) duy trì
HTML được sáng tạo bởi Tim Berners-Lee, nhà vật lý học của trung tâm nghiên cứu CERN ở Thụy Sĩ Anh ta đã nghĩ ra được ý tưởng cho hệ thống hypertext trên nền Internet Anh xuất bản phiên bản đầu tiên của HTML trong năm 1991 bao gồm 18 tag HTML Từ đó, mỗi phiên bản mới của HTML đều có thêm tag mới và attributes mới Nâng cấp mới nhất gần đây là vào năm 2014, khi ra mắt chuẩn HTML5
CSS
CSS là chữ viết tắt cho “Cascading Style Sheets”, được sử dụng để mô tả giao diện và định dạng của một tài liệu viết bằng ngôn ngữ đánh dấu (markup) Nó cung cấp một tính năng bổ sung cho HTML Nó thường được sử dụng với HTML để thay đổi style của trang web và giao diện người dùng Nó cũng có thể được sử dụng với bất
kể loại tài liệu XML nào bao gồm cả XML đơn giản, SVG và XUL
CSS được phát triển bởi W3C (World Wide Web Consortium) vào năm 1996, nhằm mục đích: Hạn chế tối thiểu việc làm rối mã HTML của trang Web bằng các thẻ quy định kiểu dáng khiến mã nguồn của trang Web được gọn gàng hơn, tách nội dung của trang Web và định dạng hiển thị, dễ dàng cho việc cập nhật nội dung; Tạo ra các kiểu dáng có thể áp dụng cho nhiều trang Web, giúp tránh phải lặp lại việc định dạng cho các trang Web giống nhau
JavaScript
Trang 13JavaScript là một ngôn ngữ lập trình kịch bản đa nền tảng (cross-platform), hướng đối tượng Nó chủ yếu được sử dụng để tăng cường cung cấp trải nghiệm thân thiện hơn với người dùng website như là bao gồm các trang web cập nhật tự động, cải tiến giao diện người dùng như menu và hộp thoại, hình động, đồ họa 2D và 3D, bản
đồ tương tác, trình phát video JavaScript là một ngôn ngữ nhỏ và nhẹ, chạy trong môi trường máy chủ lưu trữ (trình duyệt web) Nó có thể được kết nối với các đối tượng của môi trường để cung cấp kiểm soát chương trình đối với chúng
JavaScript là ngôn ngữ kịch bản phía máy khách (client-side) duy nhất Do đó,
nó được sử dụng trên hầu hết các trang web mà bạn nhìn thấy trên internet Tuy nhiên
cú pháp của nó vô cùng lộn xộn và khó làm chủ, do đó Jquery – một thư viện của JavaScript ra đời nhằm giúp lập trình viên xây dựng những chức năng có sử dụng Javascript trở nên dễ dàng hơn như: đơn giản hóa việc duyệt tài liệu HTML,
Thymeleaf
Thymeleaf là một công cụ tạo mẫu Java XML / XHTML / HTML5 có thể hoạt động cả trong môi trường web ( dựa trên servlet ) và không phải web Nó phù hợp hơn
để phục vụ XHTML/HTML5 ở lớp xem của các ứng dụng web dựa trên MVC , nhưng
nó có thể xử lý bất kỳ tệp XML nào ngay cả trong môi trường ngoại tuyến Nó cung cấp tích hợp Spring Framework đầy đủ Mục tiêu chính của thymeleaf là mang lại các template tự nhiên, đồng nhất, đơn giản (nature templates) cho công việc phát triển.Với thymeleaf, ta chỉ cần sử dụng file HTML là có thể hiển thị tất cả mọi thứ (không cần jsp ) Thymealeaf sẽ tham gia vào renderd các file HTML dưới dạng các thuộc tính trong các thẻ HTML > do đó ta không cần phải thêm bất kỳ thẻ non-HTML nào Vì là HTML nên ta có thể xem các file view mà không cần khởi chạy server Thymeleaf hỗ trợ cơ chế cache, do đó ta có thể cache dữ liệu hoặc custom để hiển thị view khi có thay đổi mà không cần restart server
2.2 Kỹ thuật Công nghệ cho Back-end: Spring
Trang 14trình một ứng dụng với Spring, chỉ tập trung vào việc phát triển business cho ứng dụng.
Spring MVC:
Spring MVC là một framework được thực hiện trong mô hình MVC của các ứng dụng web Spring MVC Framewrok cung cấp kiến truc MVC (Model-View-Controller) và các componen được sử dụng nhằm phát triển giúp các ứng dụng web được linh hoạt hơn
2.3 Một số thư viện mã nguồn tham khảo
Stackoverflow
2.4 Cài đặt ứng dụng
1 Spring Tools 4 for Eclipse: https://spring.io/tools
2 MySql Ver 8.0.33 for Win64 on x86_64:
https://dev.mysql.com/downloads/installer/
3 Java version "1.8.0_202" :
https://www.oracle.com/java/technologies/downloads/
Trang 15CHƯƠNG 3: XÂY DỰNG CHỨC NĂNGNgười dùng:
Trang chủ: home.html
Thông tin sách: homeBook.html
14
Trang 16 Đăng nhập: login.html
Đăng ký: register-user.html
Trang 17Quản lý: AdminController.java: User.role = “ADMIN”
Chức năng cơ bản:
- Quản lý người dùng
16
Trang 19 Thống kê theo đơn hàng
18
Trang 20Khách hàng: UserController.java User.role = “USER”
Chức năng cơ bản:
- Thể loại sách, gợi ý theo sách đã thêm vào giỏ, giỏ hàng
Trang 21Gợi ý những cuốn sách theo thể loại đã thêm vào giỏ
Xem thông tin sách:
20
Trang 22Chức năng cơ bản: thêm vào giỏ hàng
Trang 24TÀI LIỆU THAM KHẢO
[1] biet.html
https://caodang.fpt.edu.vn/tin-tuc-poly/blog/spring-boot-va-nhung-dieu-can-[2] https://docs.spring.io/spring-data/jpa/reference/jpa/query-methods.html