Tóm tắt đồ án 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

pdf 24 trang thiennha21 14/04/2022 3250
Bạn đang xem 20 trang mẫu của tài liệu "Tóm tắt đồ án 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", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdftom_tat_do_an_xay_dung_va_phat_trien_ung_dung_website_tin_tu.pdf

Nội dung text: Tóm tắt đồ án 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

  1. TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN HỮ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 Đề 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 SVTH : Nguyễn Minh Trƣởng Lớp : CCCT15A Niên khóa : 2015 - 2018 CBHD : TS. Hồ Văn Phi Đà Nẵng, tháng 06 năm 2018
  2. TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN HỮ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 Đề 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 SVTH : Nguyễn Minh Trƣởng Lớp : CCCT15A Niên khóa : 2015 - 2018 CBHD : TS. Hồ Văn Phi Đà Nẵng, tháng 06 năm 2018
  3. 1 PHẦ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.  Nhiệm vụ - Nghiên cứu Framework Laravel và mô hình MVC trong framework. - Phân tích thiết kế hệ thống để đưa cơ sơ dữ liệu và các chức năng cho cho website. - 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.
  4. 2 3. Đố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  Phạm vi nghiên cứu - Website công nghệ TECHNEWS.TK - Framework Laravel 4. Phƣơng pháp nghiên cứu - Tìm hiểu lý thuyết - Lấy ý kiến chuyên gia (giáo viên hướng dẫn và các thầy cô, bạn bè, chuyên gia) - 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.
  5. 3 CHƢƠ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 1.4.2. Laravel Model Hình 1.1. Mô hình tương tác Model và cơ sở dữ liệu 1.4.3. Laravel Controller 1.4.4. Laravel View (Master Template)
  6. 4 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
  7. 5 CHƢƠ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.
  8. 6 o 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.
  9. 7 Hì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)
  10. 8 Hì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
  11. 9 2.3.2.1. Biểu đồ cộng tác đăng nhập Hình 2.5. Biểu đồ cộng tác đăng nhập 2.3.2.2. Biểu đồ cộng tác cập nhập ảnh Hình 2.6. Biểu đồ công tác cập nhập ảnh 2.4. MÔ HÌNH HÓA HÀNH VI 2.4.1. Biểu đồ trạng thái 2.4.1.1. Biểu đồ trạng thái đăng nhập
  12. 10 Hì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
  13. 11 2.5. THIẾT KẾ CƠ SỞ DỮ LIỆU Hình 2.4. Sơ đồ quan hệ của cơ sở dữ liệu
  14. 12 CHƢƠ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
  15. 13 và 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
  16. 14 dung 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
  17. 15 3.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
  18. 16 Hì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
  19. 17 3.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
  20. 18 Route::post('update/{id}', 'PostController@postUpdate'); Hà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::get('delete/{id}', 'PostController@getDelete')
  21. 19 KẾ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.