Lý do chọn đề tài Với mong muốn đóng góp một phần công sức của mình cho việc xây dụng hệ thống website giới thiệu về trường nói chung và khoa công nghệ thông tin nói riêng và đặc biệt s
Trang 1HỮU NGHỊ VIỆT - HÀN
KHOA CÔNG NGHỆ THÔNG TIN
TÓM TẮT ĐỒ ÁN TỐT NGHIỆP NGÀNH: CÔNG NGHỆ THÔNG TIN
Niên khóa : 2015 - 2018 CBHD : TS Hồ Văn Phi
Đà Nẵng, tháng 06 năm 2018
Trang 3HỮU NGHỊ VIỆT - HÀN
KHOA CÔNG NGHỆ THÔNG TIN
TÓM TẮT ĐỒ ÁN TỐT NGHIỆP NGÀNH: CÔNG NGHỆ THÔNG TIN
Niên khóa : 2015 - 2018 CBHD : TS Hồ Văn Phi
Đà Nẵng, tháng 06 năm 2018
Trang 4PHẦN MỞ ĐẦU
1 Lý do chọn đề tài
Với mong muốn đóng góp một phần công sức của mình cho việc xây dụng hệ thống website giới thiệu về trường nói chung và khoa công nghệ thông tin nói riêng và đặc biệt sau khi học được
nhiều kiến thức tại trường nên em quyết định chọn đề tài “Xây dựng
và phát triển ứng dụng website tin tức công nghệ dựa trên PHP Framework Laravel” mong muốn cho các bạn sinh viên của khoa
biết về các thông tin về khoa và cũng như đường lối phát triển mô hình đào tạo của khoa đặc biệt là các thế mạnh của khoa được công nhận
2 Mục tiêu và nhiệm vụ nghiên cứu
Mục tiêu
Tìm hiểu công cụ xây dựng website Laravel và ứng dụng để xây dựng website đáp ứng các yêu cầu cơ bản như sau: Hiện thị các tin tức mới nhất lên trang chủ mang đến người dùng những tin tức nóng hổi Về phía lập trình viên giúp tối ưu hóa code và việc quản lý code dễ dàng
- Xây dựng website, đánh giá thực nghiệm
- Khảo sát người dùng và đưa ra yêu cầu người dùng về tin tức, thiết kế giao diện ưa nhìn, hiện thị thông tin mới nhất cho người dùng Tìm hiểu thêm về Framework Laravel Phân tích và xây dựng website
Trang 53 Đối tƣợng và phạm vi nghiên cứu
Đối tƣợng nghiên cứu
-Nghiên cứu website công nghệ TECHNEWS.TK
-Nghiên cứu Framework Laravel
-Nghiên cứu phương thức sluggable để tối ưu hóa đường dẫn
- Khảo sát các website tin tức về công nghệ
- Tìm hiểu và nghiên cứu nhu cầu của người dùng
5 Ý nghĩa khoa học và thực tiễn
Kết quả nghiên cứu của đề tài sẽ là chứng cứ cho các nghiên cứu lý thuyết về Laravel và các công cụ xây dựng website Kết quả của đồ án này sẽ là một trong những ví dụ thực tế giúp người dùng đọc tin tức công nghệ một cách đơn giản nhất, đọc được những tin tức công nghệ mới nhất, một cách nhanh chóng nhất
Ngoài những nội dung như Phần mở đầu, Kết luận, Tài liệu tham khảo, Phụ lục thì đồ án được chia làm 4 chương với nội dung như sau:
Chương 1: Cơ sở lý thuyết
Chương 2: Phân tích thiết kế hệ thống
Chương 3: Xây dựng ứng dụng
Chương 4: Triển khai xây dựng quản trị cho website tin tức
Trang 6CHƯƠNG I CƠ SỞ LÝ THUYẾT
1.1 GIỚI THIỆU VỀ LARAVEL PHP FRAMEWORK
Laravel là một PHP framework mã nguồn mở và miễn phí, được phát triển bởi Taylor Otwell và nhắm vào mục tiêu hỗ trợ phát triển các ứng dụng web theo kiếm trúc model-view-controller (MVC) Những tính năng nổi bật của Laravel bao gồm cú pháp dễ hiểu – rõ ràng , một hệ thống đóng gói modular và quản lý gói phụ thuộc, nhiều cách khác nhau để truy cập vào các cơ sở dữ liệu quan hệ, nhiều tiện ích khác nhau hỗ trợ việc triển khai vào bảo trì ứng dụng
1.2 ƯU ĐIỂM CỦA LARAVEL PHP FRAMEWORK ĐỐI VỚI PHÁT TRIỂN WEBSITE
1.3 CẤU TRÚC THƯ MỤC VÀ LUỒNG XỬ LÝ TRONG LARAVEL
1.4 THÀNH PHẦN CƠ BẢN TRONG LARAVEL
1.4.1 Route trong Laravel
Trang 7 Laravel View
Hình 1.2 Liên kết Route, Controller và View trong Laravel
Hình 1.3 Hoạt động của Master Template trong Laravel
1.5 SỬ DỤNG CÁC THƢ VIỆN DÀNH CHO THIẾT KẾ GIAO DIỆN WEBSITE VỚI LARAVEL
1.5.1 Sử dụng Boostrap CSS Framework
1.5.2 Sử dụng Jquery Javascript Framework
1.5.3 Sử dụng kỹ thuật Jquery Ajax
Trang 8CHƯƠNG II PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1 KHẢO SÁT YÊU CẦU CỦA WEBSITE
Bước khảo sát yêu cầu sẽ làm rõ được một số vấn đề sau:
Mục đích xây dựng ứng dụng: Mục đích sử dụng của dự án này là trình bày bài viết trên website dưới dạng tin tức, cho phép người dùng truy cập và tra cứu tin tức trên trình duyệt web
Đối tượng sử dụng: Người dùng bình thường (độc giả), quản trị viên website (gồm quản trị viên đăng bài và quản trị viên toàn bộ hệ thống)
Yêu cầu về chức năng: Đối với một website, yêu cầu tối thiểu sẽ phải đạt được là:
o Hiển thị nội dung theo từng loại tin
o Cho phép truy cập và đọc thông báo, tin tức, bài viết
o Cho phép liệt kê danh sách thông báo, tin tức, bài viếttheo từng chuyên mục
o Cho phép tìm kiếm thông báo, tin tức, bài viết
o Cho phép bình luận ở cuối tin tức
o Các chức năng cao hơn cho tác giả như đăng tin, sửa tin, xoá tin, tải lên các dữ liệu đa phương tiện như ảnh, phim, …
o Các chức năng cho quản trị viên hệ thống như thêm, sửa, xoá tài khoản, thêm chuyên mục, thêm tệp tin, thông báo, tin tức, bài viết nổi bật
Yêu cầu về thiết kế (yêu cầu phi chức năng):
o Trình bày nội dung thông báo, tin tức, bài viết, có tiêu đề, ngày tháng đăng bài
o Trang chủ liệt kê danh sách cách thông báo, tin tức, bài viết phân chia theo từng danh mục, các bài viết nổi bật
Trang 9o Phần đầu trang web có logo của trang web, phần menu hiển thị các danh mục thông báo, tin tức, bài viết cho người dùng lựa chọn
o Phần cuối trang web có thông tin chung về trang web, đơn
vị vận hành, quản lý, và một số các thông tin khác
Sau khi đã làm rõ được các yêu cầu đối với ứng dụng, bước tiếp theo sẽ là thiết kế hệ thống theo những yêu cầu đã nêu ở trên
2.2 PHÂN TÍCH YÊU CẦU VÀ THIẾT KẾ HỆ THỐNG CHỨC NĂNG WEBSITE
2.1.1 Các đối tượng sử dụng website
Như đã khảo sát, các đối tượng sử dụng của website bao gồm người dùng (độc giả) và quản trị viên website Hai đối tượng này, về mặt chung đều là người sử dụng website, nhưng mục đích sử dụng của mỗi đối tượng lại khác nhau Người dùng bình thường chỉ có quyền đọc bài viết, có thể bình luận về bài viết, quản trị viên sẽ có tất cả các quyền của người dùng bình thường, ngoài ra sẽ có quyền cao hơn là quản lý bài viết (đăng bài, sửa bài, xoá bài viết, tải lên các dữ liệu đa phương tiện)
2.1.2 Các trường hợp sử dụng (Use Case)
Các trường hợp sử dụng của người dùng sẽ được biểu thị thông qua các sơ đồ use case
Trang 10Hình 2.1 Sơ đồ Use Case của người dùng thông thường
Hình 2.2 Sơ đồ Use Case của quản trị viên đăng bài (Author)
Trang 11Hình 2.3 Sơ đồ Use Case của quản trị viên hệ thống
2.3 MÔ HÌNH HÓA TƯƠNG TÁC
2.3.1 Biểu đồ trình tự
2.3.1.1 Biểu đồ trình tự đăng nhập
Hình 2.4 Biểu đồ trình tự đăng nhập
2.3.2 Biểu đồ cộng tác
Trang 13Hình 2.7 Biểu đồ trạng thái cập nhập
2.4.2 Biểu đồ hoạt động
2.4.2.1 Biểu đồ hoạt động đăng nhập
Hình 2.8 Biểu đồ hoạt động đăng nhập
Trang 142.5 THIẾT KẾ CƠ SỞ DỮ LIỆU
Hình 2.4 Sơ đồ quan hệ của cơ sở dữ liệu
Trang 15CHƯƠNG III XÂY DỰNG ỨNG DỤNG
3.1 TRIỂN KHAI LÕI VÀ CẤU HÌNH HỆ THỐNG SỬ DỤNG LARAVEL FRAMEWORK
Để bắt đầu với dự án xây dựng website tin tức với Laravel, cần cài đặt lõi của Framework này (xem phần phụ lục) Sau khi cài đặt xong, bước tiếp theo là cấu hình hệ thống của Framework để phù hợp với môi trường lập trình Để cụ thể hơn, môi trường lập trình được sử dụng trong tài liệu này là máy chủ web ảo sử dụng XAMPP phiên bản 7.0.8
3.1.1 Cấu hình chung cho hệ thống ứng dụng
3.1.2 Cấu hình cơ sở dữ liệu
3.2 MÔ TẢ CÁC CHỨC NĂNG
Trang chủ: Là cổng thông tin chính của website, các tin
mới của từng chuyên mục sẽ được bố trí phù hợp giúp người dùng dễ dàng vào được chuyên mục cần xem Các tin nỗi bật bồ trí khu vục đầu trang với hiệu ứng đẹp mắt
Giới thiệu: Đăng tải các bài viết và hình ảnh về lịch sử
hình thành và phát triển của khoa, tầm nhìn, sứ mạng, giới thiệu các
bộ môn, cơ sở vật chất của khoa
Đội ngũ cán bộ: Đăng tải sơ đồ các cán bộ trong khoa và
danh sách thông tin chi tiết về các cán bộ trong khoa
Đào tạo: Đăng tải mô hình đào tạo của khoa với các
chương trình đào tạo chính quy và đào tạo nghề, cuối cùng là tuyển sinh đăng tải các thông tin tuyển sinh về các bộ môn giảng dạy của khoa
Hợp tác nghiên cứu: Đăng tải các hướng phát triển nghiên
cứu của khoa và các danh sách công trình nghiên cứu của sinh viên
Trang 16và cán bộ trong khoa phục vụ sinh viên trong quá trình học tập
Cơ hội việc làm: Đăng tải các thông tin tuyển dụng của
các công ty một cách chi tiết và danh sách các công ty có cựu sinh viên đang làm việc giúp sinh viên có cơ hội việc làm sau khi ra trường
Đăng nhập: Giúp sinh viên và khoa có sự tương tác với
nhau thông qua chức năng bình luận
3.3 XÂY DỰNG TRANG CHỦ
Sau khi cấu hình xong, ứng dụng đã có thể khởi chạy hoàn toàn, nhưng nó chỉ có một trang web duy nhất, mặc định của Laravel, cần phải xây dựng các trang web để thay đổi nó Đầu tiên là trang chủ của website tin tức
Hình 3.1 Giao diện trang chủ
3.4 XÂY DỰNG TRANG PHÂN LOẠI THEO CHỦ ĐỀ BÀI VIẾT
Trang phân loại theo chủ đề bài viết có chức năng hiển thị các bài viết theo danh mục mà người dùng đã chọn
3.5 XÂY DỰNG TRANG CHI TIẾT BÀI ĐĂNG TIN TỨC
Trang chi tiết bài đăng tin tức có chức năng hiển thị ra nội
Trang 17dung của bài viết
Hình 3.2 Chi tiết bài viết
3.6 XÂY DỰNG CHỨC NĂNG TÌM KIẾM BÀI VIẾT
Trong một website bất kỳ, chức năng tìm kiếm nội dung là không thể thiếu, website càng chứa nhiều thông tin, chức năng tìm kiếm càng cần thiết Trong dự án này, chức năng tìm kiếm được xây dựng để tìm kiếm theo tiêu đề bài viết
Hình 3.3 Tìm kiếm bài viết
3.7 XÂY ROUTE QUẢN TRỊ VÀ LAYOUT DÙNG CHUNG
Trang 183.7.1 Tạo nhóm route cho admin
3.7.2 Tạo layout dùng chung cho trang quản trị và tổ chức thƣ mục
Truy cập theo đường dẫn resource/view tạo một thứ mục mới admin Tại đây sẽ lưu tất cả tệp view của trang quản trị
3.8 XÂY DỰNG ĐĂNG NHẬP VÀ ĐĂNG XUẤT
Để xác thực người dùng truy cập vào trang quản trị với đường dẫn /admin thì bắt buộc phải xây dựng một trang đăng nhập và nếu qua được bước xác thực này thì mới cho vào trong trang quản trị Giao diện trang đăng nhập như sau:
Hình 3.5 Giao diện trang đăng nhập cho quản trị
3.9 XÂY DỰNG TRANG CHỦ QUẢN TRỊ
3.10 XÂY DỰNG TRANG CÁ NHÂN
Trang 19Hình 3.6 Giao diện thông tin tài khoản
3.11 XÂY DỰNG TRANG QUẢN LÝ BÀI VIẾT
3.11.1 Trang hiển thị danh sách bài viết
Hình 3.7 Giao diện danh sách bài viết
Trang 203.11.2 Trang thêm bài viết
Hình 3.8 Giao diện trang đăng bài viết
3.11.3 Trang sửa bài viết
Route thực hiện việc sửa bài viết Route::get('update/{id}', 'PostController@getUpdate') {id} ở đây chính là một biên tương
ứng với id bài viết sẽ sửa Chi tiết hàm getUpdate() xem thêm trong
mã nguồn
Hình 3.9 Giao diện trang sửa bài viết
Trang 21Hàm postUpdate sẽ thực hiện việc kiểm tra dữ liệu mà form này gửi lên và lưu thay đổi vào database
3.11.4 Trang xóa bài viết
Route của trang xoá bài viết:
Route::post('update/{id}',
'PostController@postUpdate');
Route::get('delete/{id}',
'PostController@getDelete')
Trang 22KẾT LUẬN
Qua đồ án này em đã tìm hiểu được framework laravel cách thức học động mô hình MVC trong framework Và áp dựng kiến thức trên em đã xây dựng được website giới thiệu khoa công nghệ thông tin Website cũng đã đáp ứng được những yêu cầu của đặt tả Những còn một số chức năng chưa phát huy được hết công dụng của mình ví dụ như: Các công trình nghiên cứu chưa kết nối được cơ sở
dữ liêu để thay đổi dễ dàng hơn
Sau một thời gian bắt tay vào làm việc với sự giúp đỡ của
Thầy giao hướng dẫn đã hoàn thành đề tài “Xây dựng và phát triển ứng dụng website tin tức công nghệ dựa trên PHP Framework Laravel ” Tuy nhiên trong quá trình phân tích, thiết kế và xây dựng
hệ thống do thời gian có hạn và kinh nghiệm của bản thân còn hạn chế nên chắc chắn trong báo cáo này không tránh khỏi những thiếu sót và những chỗ xử lý vấn đề chưa tối ưu Em rất mong nhận được những nhận xét, đánh giá từ phía các thầy cô đẽ em khắc phục và hoàn thiện hơn cho hệ thống website vận hành sau này
Hướng phát triển của em sau này em muốn hoàn thiện hơn về các chức năng như: hiển thị file đính kèm và bổ xung các chức năng khác cho website trở nên hoàn thiện hơn.Sau một thời gian bắt tay vào làm việc với sự giúp đỡ của Thầy giáo hướng dẫn đã hoàn thành
đề tài “Xây dựng và phát triển ứng dụng website tin tức công nghệ dựa trên PHP Framework Laravel” Tuy nhiên trong quá trình phân tích, thiết kế và xây dựng hệ thống do thời gian có hạn và kinh nghiệm của bản thân còn hạn chế nên chắc chắn trong báo cáo này không tránh khỏi những thiếu sót và những chỗ xử lý vấn đề chưa tối
ưu Em rất mong nhận được những nhận xét, đánh giá từ phía các thầy cô để em khắc phục và hoàn thiện hơn cho hệ thống website vận hành sau này