



















Preview text:
lOMoAR cPSD| 58511332
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC KIẾN TRÚC ĐÀ NẴNG
KHOA CÔNG NGHỆ - THÔNG TIN
MÔN HỌC: Công Nghệ Phần Mềm BÁO CÁO GIỮA KÌ
Đề Tài: Trang web tin tức công nghệ thông tin
Giảng viên hướng dẫn: Phạm Thị Dung
Sinh viên thực hiện: Ngô Đức Nhấn
MSSV: 2251220268
Lớp: 22 CT 1 Mục lục
CHƯƠNG I: TỔNG QUAN MÔI TRƯỜNG ............................................................. 4
I) Giới thiệu chung về đề tài: ..................................................................................... 4
1) Tên đề tài: ............................................................................................................ 4
2) Các chức năng: .................................................................................................... 4
II) Giới thiệu chung về framework Laravel: ........................................................... 4
1) Laravel là gì: ....................................................................................................... 4
2) Các đặc điểm nổi bật của Laravel: ................................................................... 4
3) Lợi ích khi sử dụng Laravel: ............................................................................ 5
4) Ứng dụng của Laravel trong thực tế:............................................................... 5
5) Kết luận: ............................................................................................................. 5
III) Ngôn ngữ thực hiện: ............................................................................................... 6
1) Front-end: Xây dựng giao diện người dùng ........................................................ 6
2) Back-end: Xử lý logic, kết nối CSDL phía server ............................................... 6
IV) Cài đặt project: ....................................................................................................... 6
1) Quy trình cài đặt project: ...................................................................................... 6
2) Thư mục cài đặt project: ....................................................................................... 6
CHƯƠNG II: THUẬT TOÁN VÀ CƠ SỞ DỮ LIỆU ................................................ 6
I) Sơ đồ tuần tự: ......................................................................................................... 6
1) Sơ đồ tuần tự các chức năng cho người dùng: ................................................. 7
2) Sơ đồ tuần tự các chức năng cho admin: .......................................................... 8
II) Sơ đồ thuật toán: ................................................................................................. 10
1) Sơ đồ thuật toán các chức năng cho người dùng: .......................................... 10
2) Sơ đồ thuật toán admin: ................................................................................... 11
3) Sơ đồ Cơ Sở Dữ Liệu (Database Schema) ...................................................... 13
4) Biểu đồ Gant_Chart thể hiện quá trình xây dựng project: .......................... 13
CHƯƠNG III: THỰC NGHIỆM ............................................................................... 13
I) Xây dựng giao diện trang web: ........................................................................... 13
1) Xây dựng giao diện các trang người dùng: .................................................... 14
2) Xây dựng giao diện trang Admin: ................................................................... 16
II) Chức năng các Module ....................................................................................... 17
1) Chức năng Module 1: (Đăng ký và Đăng nhập) ............................................ 17
2) Chức năng module 2: (Thêm, sửa, xóa bài viết và danh mục) ..................... 21
-Tạo bài viết: .......................................................................................................... 21
III) Tổng kết .............................................................................................................. 23
1) Kết luận .............................................................................................................. 23
2) Những hạn chế ......................................................................................................... 24
3) Hướng phát triển ..................................................................................................... 24 Lời Nói Đầu
Trong thời đại công nghệ 4.0, thông tin là một yếu tố vô cùng quan trọng, đặc biệt là
trong lĩnh vực công nghệ thông tin. Với sự phát triển mạnh mẽ của các xu hướng công
nghệ như trí tuệ nhân tạo, blockchain, và điện toán đám mây, nhu cầu cập nhật kiến
thức và tin tức về lĩnh vực này ngày càng gia tăng. Nhằm đáp ứng xu thế đó, dự án
phát triển trang web tin tức công nghệ thông tin được xây dựng với mục tiêu cung cấp
một nền tảng đáng tin cậy để người dùng tiếp cận các thông tin mới nhất và hữu ích về công nghệ.
Trang web được phát triển bằng Laravel, một framework mạnh mẽ và hiện đại, giúp tối
ưu hóa tốc độ tải trang, mang lại giao diện thân thiện và khả năng tương tác cao. Hệ
thống được tích hợp các tính năng tiện ích như phân loại tin tức theo danh mục, tìm
kiếm nhanh, bình luận trực tiếp dưới mỗi bài viết, và chức năng đăng ký nhận tin mới
qua email. Đồng thời, thiết kế giao diện trang web được chú trọng đảm bảo tính thẩm
mỹ, dễ sử dụng và hỗ trợ hiển thị tốt trên nhiều thiết bị khác nhau.
Dự án không chỉ hướng đến việc xây dựng một nền tảng cung cấp tin tức đơn thuần,
mà còn chú trọng vào trải nghiệm người dùng thông qua các tính năng nổi bật như tìm
kiếm thông minh, sắp xếp nội dung theo xu hướng, và tích hợp các công cụ chia sẻ lên
mạng xã hội. Đây là nơi giúp người dùng dễ dàng tiếp cận những thông tin công nghệ
hữu ích và giá trị, đồng thời tạo ra một không gian giao lưu và trao đổi kiến thức giữa
các cá nhân có chung đam mê.
Báo cáo này sẽ trình bày chi tiết từ quy trình phân tích, thiết kế hệ thống, lựa chọn
công nghệ đến triển khai thực tế, cũng như những khó khăn gặp phải trong quá trình
thực hiện. Chúng tôi hy vọng rằng, qua báo cáo này, không chỉ thể hiện được tiềm năng
của một trang tin tức công nghệ thông tin, mà còn phản ánh sự nỗ lực, sáng tạo của
nhóm phát triển nhằm mang lại giá trị thiết thực cho cộng đồng người dùng.
CHƯƠNG I: TỔNG QUAN MÔI TRƯỜNG
I) Giới thiệu chung về đề tài: 1) Tên đề tài:
“ Trang web tin tức công nghệ thông tin ” 2) Các chức năng:
+ Chức năng của người dùng: - Đăng nhập - Đăng ký - Giao diện trang chủ - Bài viết - Xem chi tiết bài viết - Xem danh mục
+ Chức năng của Admin: - Quản lý giao diện - Quản lý người dùng - Quản lý bài viết - Quản lý danh mục
II) Giới thiệu chung về framework Laravel: 1) Laravel là gì:
Laravel là một framework PHP mã nguồn mở, được phát triển bởi Taylor Otwell
và ra mắt lần đầu vào năm 2011. Mục tiêu chính của Laravel là cung cấp một môi
trường phát triển web mạnh mẽ và dễ sử dụng, giúp xây dựng các ứng dụng web
phức tạp một cách nhanh chóng và hiệu quả. Laravel sử dụng mô hình MVC
(Model-View-Controller) để phân tách các phần của ứng dụng, giúp mã nguồn dễ bảo trì và mở rộng.
2) Các đặc điểm nổi bật của Laravel: •
Eloquent ORM (Object-Relational Mapping): Laravel cung cấp một hệ thống
ORM mạnh mẽ, giúp việc tương tác với cơ sở dữ liệu trở nên dễ dàng và trực
quan. Thay vì viết SQL thủ công, lập trình viên có thể sử dụng các phương thức
Eloquent để truy vấn và thao tác với cơ sở dữ liệu. •
Blade Template Engine: Laravel sử dụng Blade, một engine template mạnh mẽ
giúp tách biệt logic PHP khỏi HTML. Blade cung cấp cú pháp dễ sử dụng và cho
phép tái sử dụng các phần giao diện của ứng dụng. •
Routing mạnh mẽ: Laravel cung cấp một hệ thống routing linh hoạt, cho phép dễ
dàng định nghĩa các URL và liên kết chúng với các phương thức của controller.
Điều này giúp việc quản lý các route trở nên đơn giản và rõ ràng. •
Middleware: Laravel hỗ trợ middleware, cho phép thêm các bước xử lý (như kiểm
tra quyền truy cập, bảo mật) vào quá trình yêu cầu của người dùng, giúp kiểm
soát quyền truy cập và bảo mật ứng dụng. •
Tích hợp dễ dàng với các thư viện và công cụ khác: Laravel dễ dàng tích hợp với
các thư viện, API, và công cụ khác như Vue.js, Redis, hoặc các dịch vụ bên ngoài,
giúp xây dựng ứng dụng web phức tạp.
3) Lợi ích khi sử dụng Laravel: •
Hiệu suất cao: Laravel hỗ trợ caching và nhiều tính năng tối ưu hóa hiệu suất,
giúp ứng dụng chạy mượt mà và nhanh chóng. •
Bảo mật mạnh mẽ: Laravel cung cấp các tính năng bảo mật tích hợp sẵn như bảo
vệ chống SQL injection, XSS, CSRF, giúp bảo vệ ứng dụng khỏi các mối đe dọa an ninh. •
Tích hợp công cụ phát triển mạnh mẽ: Laravel hỗ trợ các công cụ phát triển như
Artisan CLI, Laravel Mix, giúp quá trình phát triển trở nên nhanh chóng và tiện lợi. •
Cộng đồng và tài liệu phong phú: Laravel có cộng đồng lập trình viên lớn và
nhiều tài liệu, thư viện hỗ trợ, giúp việc tìm kiếm giải pháp cho các vấn đề trở nên dễ dàng. •
Tính mở rộng cao: Laravel giúp dễ dàng mở rộng ứng dụng theo nhu cầu của dự
án, đặc biệt là với các tính năng như queues, jobs, events.
4) Ứng dụng của Laravel trong thực tế:
Laravel được sử dụng rộng rãi trong các ứng dụng web hiện đại, từ các hệ thống
quản lý nội dung (CMS), trang web thương mại điện tử đến các ứng dụng quản
lý doanh nghiệp. Một số công ty và sản phẩm sử dụng Laravel bao gồm: Startups,
CMS như OctoberCMS, và các ứng dụng web lớn. 5) Kết luận:
Laravel không chỉ là một framework mạnh mẽ trong việc xây dựng các ứng dụng
web mà còn giúp tối ưu hóa hiệu suất và bảo mật, giảm thiểu chi phí phát triển.
Việc sử dụng Laravel trong dự án xây dựng trang web bán thực phẩm mang lại
nhiều lợi ích vượt trội, giúp cải thiện trải nghiệm người dùng và nâng cao hiệu
quả quản lý ứng dụng.
III) Ngôn ngữ thực hiện:
1) Front-end: Xây dựng giao diện người dùng
+ Ngôn ngữ: HTML, CSS, JavaScript.
2) Back-end: Xử lý logic, kết nối CSDL phía server + Ngôn ngữ: PHP.
IV) Cài đặt project:
1) Quy trình cài đặt project:
- Lệnh sử dụng để tạo project:
composer create-project laravel/laravel CNPM22CT1_NGODUCNHAN
- chạy project với lệnh: php artisan serve
2) Thư mục cài đặt project: D:\CNPM22CT1_NGODUCNHAN
hình 1. thư mục cài đặt project
CHƯƠNG II: THUẬT TOÁN VÀ CƠ SỞ DỮ LIỆU
I) Sơ đồ tuần tự: -
Sơ đồ tuần tự (Sequence Diagram) là một loại sơ đồ thuộc UML (Unified
Modeling Language), được sử dụng để mô tả cách các đối tượng trong hệ thống
tương tác với nhau thông qua các thông điệp (massage) trong một trình tự thời
gian cụ thể. Nó rất phổ biến trong việc thiết kế phần mềm để biểu diễn các kịch
bản cụ thể hoặc các luồng công việc trong hệ thống. + Đặc điểm: - Biểu diễn thời gian - Hiển thị tương tác - Dễ hiểu
+ Thành phần của sơ đồ tuần tự: - Đối tượng (Object) - Đường sống - Thông điệp - Kích hoạt -
Các khối điều kiện hoặc vòng lặp.
1) Sơ đồ tuần tự các chức năng cho người dùng:
1.1) Sơ đồ tuần tự chức năng đăng ký:
Hình 1.1: Sơ đồ tuần tự chức năng “đăng ký”
1.2) Sơ đồ tuần tự chức năng đăng nhập:
Hình 1.2. Sơ đồ tuần tự chức năng “đăng nhập”
2) Sơ đồ tuần tự các chức năng cho admin:
2.1) Sơ đồ tuần tự chức năng quản lý người dùng:
Hình 2.1. Sơ đồ tuần tự chức năng “quản lý người dùng”
2.2) Sơ đồ tuần tự chức năng quản lý bài viết:
Hình 2.2. Sơ đồ tuần tự chức năng “quản lý bài viết”
2.3) Sơ đồ tuần tự chức năng quản lý đơn hàng:
Hình 2.3. Sơ đồ tuần tự chức năng “quản lý danh mục”
II) Sơ đồ thuật toán: -
Là một dạng biểu diễn trực quan của một thuật toán, sử dụng các hình khối
và mũitên để minh họa các bước thực hiện theo trình tự logic. Nó giúp dễ dàng
hiểu cách giải quyết một vấn đề hoặc cách một chương trình thực hiện nhiệm vụ cụ thể.
+ Các thành phần chính trong sơ đồ thuật toán: -
Các hình khối cơ bản:
* hình Elipse: Biểu diễn điểm bắt đầu hoặc kết thúc của thuật toán
* hình chữ nhật: Đại diện cho các thao tác hoặc bước thực hiện cụ thể
như tínhtoán hoặc gán giá trị
* hình thoi: Biểu thị các điều kiện hoặc giải quyết, dẫn đến các nhánh khác nhaucủa thuật toán
* mũi tên: Hướng chỉ đi hoặc trình tự thực hiện các bước+ Luồng điều khiển: -
Mũi tên nối giữa các hình khối thể hiện trình tự các bước từ đầu đến cuối.
1) Sơ đồ thuật toán các chức năng cho người dùng:
- Biểu đồ này minh họa các chức năng cơ bản của hệ thống, cùng mối quan hệ user
- Sơ đồ thuật toán chức năng đăng ký và đăng nhập:
Hình 1. Sơ đồ thuật toán chức năng “đăng ký và đăng nhập”
2) Sơ đồ thuật toán admin:
- Sơ đồ này mô tả các chức năng chính của hệ thống và mối quan hệ giữa người sử dụng hệ thống (Admin).
2.1) Các chức năng của Admin: + Quản lý người dùng + Quản lý sản phẩm + Quản lý đơn hàng
2.2) Sơ đồ thuật toán chức năng quản lý người dùng:
Hình 2.2. Sơ đồ thuật toán chức năng “quản lý người dùng”
2.3) Sơ đồ thuật toán chức năng quản lý sản phẩm:
Hình 2.3. Sơ đồ thuật toán chức năng “quản lý sản phẩm”
3) Sơ đồ Cơ Sở Dữ Liệu (Database Schema)
Hình 14. Hình Database Schema
4) Biểu đồ Gant_Chart thể hiện quá trình xây dựng project:
Hình 15. biểu đồ gant_chart
CHƯƠNG III: THỰC NGHIỆM
I) Xây dựng giao diện trang web:
- Giao diện trang web được thiết kế để cung cấp môi trường trực quan giúp người
dùng tương tác với nội dung và các chức năng của trang web. Đây là thành phần quyết
định sự thành công trong trải nghiệm người dùng.
1) Xây dựng giao diện các trang người dùng:
1.1) Xây dựng giao diện trang “đăng ký”: -
Trang đăng ký được thiết kế để người dùng có thể tạo tài khoản mới trên
mộttrang web. Đây là bước khởi đầu để người dùng truy cập vào các tính năng
dành riêng cho thành viên.
Hình 16. Giao diện trang đăng ký
1.2) Xây dựng giao diện trang “đăng nhập”: -
Trang đăng nhập được thiết kế để người dùng truy cập tài khoản của họ
trêntrang web. Nó thường là một trong những thành phần quan trọng nhất của hệ
thống, đảm bảo tính bảo mật và tiện lợi khi sử dụng.
Hình 17. Giao diện trang đăng nhập
1.3) Xây dựng giao diện “trang chủ”: -
Trang chủ của một trang web là nơi đầu tiên mà người dùng nhìn thấy khi
truycập vào trang web. Nó được coi là “bộ mặt” của trang web. Giúp thu hút và
hướng dẫn người dùng khám phá các tính năng và nội dung quan trọng.
Hình 18. Giao diện trang chủ
1.3) Xây dựng giao diện trang “Danh mục bài viết”: -
Trang danh mục là nơi hiển thị tất cả bài viết của một danh mục giúp người
dùng có thêm nhiều lựa chọn khi xem danh mục.
Hình 19. Giao diện trang danh mục
1.4) Xây dựng trang chi tiết bài viết: -
Trang chi tiết bài viếtlà nơi hiển thị về một bài viết cụ thể trên trang web
tin tức,đây là trang giúp người dùng hiểu rõ hơn về bài viết và đưa ra quyết định mua hàng.
hình 20. Giao diện trang chi tiết bài viết
2) Xây dựng giao diện trang Admin: -
Trang Admin là một phần quan trọng trong các hệ thống quản lý, cho phép
quản trịviên điều hành, kiểm soát và quản lý toàn bộ nội dung, người dùng, và chức năng
của trang web. Đây là nơi tập trung các công cụ và dữ liệu dành riêng cho việc vận hành hệ thống.
2.1) Xây dựng giao diện trang “quản lý người dùng”: -
Trang quản lý người dùng là một phần quan trọng trong các hệ thống quản
trị,cho phép quản trị viên thực hiện các thao tác quản lý danh sách người dùng như xem,
thêm, sửa, xóa, hoặc phân quyền.
Hình 24. Giao diện trang quản lý người dùng
2.2) Xây dựng giao diện trang “quản lý bài viết”: -
Trang quản lý bài viết là nơi quản trị viên có thể thực hiện các thao tác liên
quan đến bài viết trên trang web tin tức. Đây là module quan trọng để cập nhật, quản lý
và kiểm soát danh sách bài viết hiệu quả.
Hình 25. Giao diện trang quản lý bài viết
2.3) Xây dựng giao diện trang “quản lý đơn hàng”: -
Trang quản lý danh mụclà nơi quản trị viên theo dõi, xử lý và quản lý các
thôngtin liên quan đến danh mục .
Hình 26. Giao diện trang quản lý danh mục
II) Chức năng các Module.
1) Chức năng Module 1: (Đăng ký và Đăng nhập).
1.1) Xử lý chức năng đăng ký.
+ Quy trình kết nối chức năng “Đăng ký” với CSDL.
Bước1: Tạo CSDL có tên “newsit” Hình 27. Cấu trúc CSDL
Bước 2: Tạo bảng users để lưu thông tin người dùng.
Hình 28. Cấu trúc bảng users
Bước 3: Trong thư mục D:\CNPM22CT1_NGODUCNHAN vào file .env -
Vào file này để thực hiện logic kết nối trang web với CSDL
Hình 29. Cấu hình thông tin kết nối trong file (.env)
Hình 34. Xử lý yêu cầu dăng ký
Bước 4: Tạo form dăng ký.
Bước 5: Quy trình hoạt động chức năng “dăng ký” - Người dùng nhập thông tin vào form.
( username, email, password, conFirmPassword). -
Kiểm tra dữ liệu trên giao diện:
+ email nhập đúng định dạng
+ mật khẩu có ít nhất 8 kí tự
+ mật khẩu và xác nhận mật khẩu phải khớp với nhau - Gửi yêu cầu POST lên server. -
Kiểm tra tên người dùng, email đã tồn tại (server). - Mã hóa mật khẩu:
+ Nếu username hợp lệ, sử dụng password_hash để mã hóa mật khẩu.
Hình 37. Mã hóa mật khẩu - Thêm dữ liệu vào CSDL:
+ Lưu thông tin vào bảng users
Hình 38. Lưu thông tin vào CSDL - Trả kết quả vè client:
+ Nếu thành công: trả vè thông báo đăng ký thành công và chuyển hướng dến trang dashboard.
+ Nếu lỗi: trả về có xảy ra lỗi.
1.2) Xử lý chức năng đăng nhập
+ Quy trình hoạt động chức năng “Đăng nhập” với CSDL. -
Người dùng nhập thông tin: Tên người dùng và mật khẩu. -
Gửi yêu cầu đăng nhập dến server.
Hình 39. Gửi yêu cầu đănh nhập đến server - Xử lý tại server:
+ Nhận dữ liệu và kiểm tra thông tin. -
Tìm username và password được lưu trong CSDL -
So sánh username và passwword được nhập vào có trùng khớp với
usernamevà passworrd được lưu trên CSDL không. -
Chuyển hướng đến trang chính sau khi đăng nhập
Hình 43. Chuyển hướng trang chủ sau khi đăng nhập thành công