Tải bản đầy đủ (.docx) (28 trang)

XÂY DỰNG TRANG THÔNG TIN HỌC BỔNG DÀNH CHO SINH VIÊN VIỆT NAM SỬ DỤNG PHP LARAVEL

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.17 MB, 28 trang )

BÁO CÁO THỰC TẬP CÔNG NHÂN
PHẦN THIẾT KẾ WEBSITE

ĐỀ TÀI:

XÂY DỰNG TRANG THÔNG TIN HỌC BỔNG
DÀNH CHO SINH VIÊN VIỆT NAM
SỬ DỤNG PHP LARAVEL

1


MỤC LỤC

3


DANH SÁCH HÌNH ẢNH


DANH SÁCH TỪ VIẾT TẮT

Từ viết tắt

Diễn giải

IP

Internet Protocol

API



Application Programming Interface

URL

Uniform Resource Locator

MỞ ĐẦU
1. Tổng quan về đề tài
Ngày nay trao và nhận học bổng là một điều tất yếu không thể thiếu trong nên
giáo dục hiện nay. Học bổng là cơ sở, động lực thúc đẩy và giúp đỡ cho sinh viên
trong học tập, cuộc sống và gia đình. Học bổng giúp mở ra nhiều cơ hội mới cho
sinh viên được phát triển và tiếp cần với nhiều nền giáo dục trên toàn thế giới.
Chính vì thế nhóm đã chọn học bổng là chủ đề chính cho đề tài.
Việc tiếp cận của sinh viên Việt Nam với các học bổng thông qua cách thức
các cổng thông tin hiện nay còn khá yếu và chưa được phổ biến. Một phần do xu
hướng sử dụng việc tiếp cận bằng phương pháp truyền thống được áp dụng rộng rãi,
ngoài ra vẫn chưa có một cổng thông tin đủ sức hút và sự lâu dài để gắn bó với các
sinh viên tại Việt Nam.
Vấn đề được đặt ra sau khi lựa chọn học bổng làm chủ đề chính là việc duy trì
sự lâu dài trong việc quản lý, nguồn thông tin thu thập đa dạng và đều đặn liên tục,
cập nhật nhanh và chính xác các học bổng cũng như các sự kiện về giáo dục, Giao
diện người dùng dễ dàng sử dụng, thuận tiện và ưa nhìn.
2. Mục đích và ý nghĩa của đề tài
2.1. Mục đích
Giúp đẩy mạnh việc tiếp cận của sinh viên Việt Nam đối với các chương trình
học bổng cũng như các sự kiện giáo dục thông qua hình thức các cổng thông tin và
trực tuyến.
Đưa việc sử dụng Internet để hỗ trợ trong việc học tập cũng như nghiên cứu
của các học sinh, sinh viên tại Việt Nam trong thời đại 4.0 ngày nay.



2.2. Ý nghĩa
Tạo ra một cổng thông tin là nơi trao đổi giữa các học sinh sinh viên và các
quỹ tài trợ học bổng hay là các nhà tổ chức sự kiện giáo dục. Website là cầu nối
trong việc thúc đẩy áp dụng công nghệ hỗ trợ học sinh, sinh viên trong quá trình
học tập và giảng dạy cũng như là việc tiếp cận đến các đối tượng của các quỹ học
bổng và doanh nghiệp.
3. Phương pháp thực hiện

Các phương pháp:
 Phương pháp phân tích tổng hợp từ tài liệu.
 Phương pháp thống kê, điều tra.
 Phương pháp phân tích thiết kế hệ thống.
 Phương pháp thử nghiệm, đánh giá kết quả.
4. Bố cục của đề tài
Báo cáo đề tài bao gồm các nội dung sau:
Mở đầu
Chương 1: Trình bày tổng quan về các cơ sở lý thuyết sẽ được áp dụng để
triển khai và thiết kế cho chính website của nhóm.
Chương 2: Trình bày các thiết kế và phân tích hệ thống, triển khai hệ thống
như yêu cầu đặt ra ban đầu.
Chương 3: Trình bày về môi trường cài đặt, đưa ra kết quả đã đạt được sau
khi triển khai và thiết kế website. Đưa ra được ưu điểm và nhược điểm cùng với các
giải pháp đề xuất trong tương lai để hoàn thiện sản phẩm.
Kết luận và hướng phát triển.


CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1. Website

1.1.1. Khái niệm
Website còn gọi là trang web hoặc trang mạng, là một tập hợp trang web,
thường chỉ nằm trong một tên miền hoặc tên miền phụ trên World Wide
Web của Internet. Một trang web là tập tin HTML hoặc XHTML có thể truy nhập
dùng giao thức HTTP. Trang mạng có thể được xây dựng từ các tệp tin HTML
(trang mạng tĩnh) hoặc vận hành bằng các CMS chạy trên máy chủ (trang mạng
động).
Website được giao tiếp và hiển thị cho người dùng truy cập bằng các phần
mềm được gọi là trình duyệt website.
1.1.2. Phân loại


Website tĩnh: Là website mà người quản trị (những người không phải là
lập trình viên) không thể tùy ý thay đổi nội dung và hình ảnh mà phải cần
kiến thức về HTML cơ bản. Website tĩnh được viết hoàn toàn dựa trên
nền tảng HTML CSS và thêm các hiệu ứng từ Javascript nếu muốn.



Website động: Là website được viết kèm theo một bộ công cụ quản trị để
tùy biến nội dung dành cho webmaster (người quản trị) có thể dễ dàng
thay đổi nội dung, hình ảnh. Website động được thiết kế bởi các lập trình
viên để làm sao cho phép website có thể thay đổi được nội dung thường
xuyên. Một số công nghệ, ngôn ngữ để xây dựng website động bao gồm
PHP, ASP.NET, Java,...
1.2. Ngôn ngữ lập trình PHP

1.2.1. Định nghĩa
PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lập
trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng

dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích
hợp với web và có thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho
các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời
gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã
nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới.


1.2.2. Định nghĩa framework
Framework là một thư viện các lớp đã được xây dựng hoàn chỉnh, bộ khung để
phát triển các Phần mềm ứng dụng. Có thể ví Framework như tập các “ Vật liệu” ở
từng lĩnh vực cho người lập trình viên, thay vì họ phải mất nhiều thời gian để tự
thiết kế trước khi dùng. Do vậy, người lập trình viên chỉ cần tìm hiểu và khai thác
các vật liệu này rồi thực hiện để gắn kết chúng lại với nhau, tạo ra sản phẩm.
1.3. PHP Laravel
1.3.1. Định nghĩa


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 mục tiêu hỗ trợ phát triển các ứng dụng web theo
cấu 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.



Vào khoảng Tháng 3 năm 2015, các lập trình viên đã có một cuộc bình chọn
PHP framework phổ biến nhất, Laravel đã giành vị trí quán quân cho PHP
framework phổ biến nhất năm 2015, theo sau lần lượt là Symfony2, Nette,

CodeIgniter, Yii2 vào một số khác. Trước đó, Tháng 8 năm 2014, Laravel đã
trở thành project PHP phổ biến nhất và được theo dõi nhiều nhất trên Github.



Laravel được phát hành theo giấy phép MIT, với source code được lưu trữ tại
Gitthub.

1.3.2. Sơ lược các tính năng cơ bản


Bundles : Ở laravel phiên bản 3.x, cung cấp một hệ thống đóng gói các
module, với rất nhiều tính năng đi kèm.



Composer : Ở laravel phiên bản 4.x, được sử dụng như một công cụ quản lý
với tính năng như thêm các gói cài đặt, các chức năng PHP phụ trợ cho
Laravel có trong kho Packagist.



Eloquent ORM (object relation mapping) : ánh xạ các đối tượng và quan hệ
cơ sở dữ liệu, cung cấp các phương thức nội bộ để thực thi đồng thời cũng bổ
sung các tính năng hạn chế về mối quan hệ giữa các đối tượng cơ sở dữ liệu.



Application logic : Là một phần của phát triển ứng dụng, được sử dụng bởi
bộ điều khiển controllers.





Routes : Định nghĩa mối quan hệ giữa các đường dẫn (url), các liên kết
(link) . Khi một liên kết được tạo ra bằng cách sử dụng tên của routes, thì
một định danh liên kết thống nhất sẽ được tạo ra bởi laravel.



Restful Controller : cung cấp các tùy chọn để tách các logic phía sau các
request HTTP POST, GET



Class auto loading : cung cấp việc tải tự động các class trong PHP, mà
không cần include các class vào. Tùy thuộc vào yêu cầu các class cần thiết sẽ
được nạp vào, hạn chế các class không cần thiết.



View : chưa các mã html, hiển thị dữ liệu được chỉ định bởi controller



Migrations : cung cấp một hệ thống kiểm soát các phiên bản lược đồ cơ sở
dữ liệu, làm cho web ứng dụng có khả năng tương tác phù hợp những thay
đổi logic, các đoạn mã code của ứng dụng và những thay đổi cần thiết trong
việc bố trí cơ sở dữ liệu, triển khai nới lỏng và cập nhật các ứng dụng.




Unit Testing : đóng một vai trò quan trọng trong Laravel, Unit testting chứa
rất nhiều các hệ thống unit testing, giúp phát hiện và ngăn chặn lỗi trong
khuôn khổ nhất định.



Automatic pagination : Tính năng tự động phân trang được tích hợp
vào Laravel giúp đơn giản hóa các nhiệm vụ thực hiện phân trang so với các
phương phápthông thường.

1.3.3. Các bước để cài đặt
• Bước 1: Truy cập vào htdocs của xampp
• Bước 2: Nhấn phím “shift” và click chuột phải chọn “ open power shell
window here”.
• Bước 3: Gõ lệnh : composer global require “laravel/installer”.
• Bước 4: Sau khi hoàn thành gõ lệnh: “laravel new blog”.
• Chú ý blog là : tên bạn muốn cài đặt ( có thể đổi tên khác )
• Bước 5. Mở file.env cấu hình thông tin db, url cho ứng dụng.
1.4. Mô hình MVC
1.4.1. Khái niệm
MVC là viết tắt của Model – View – Controller. Là một kiến trúc phần mềm hay
mô hình thiết kế được sử dụng trong kỹ thuật phần mềm. Nói cho dễ hiểu, nó là mô


hình phân bố source code thành 3 phần, mỗi thành phần có một nhiệm vụ riêng biệt
và độc lập với các thành phần khác.
1.4.2. Thành phần



Controller: Giữ nhiệm vụ nhận điều hướng các yêu cầu từ người dùng và gọi
đúng những phương thức xử lý chúng… Chẳng hạn thành phần này sẽ nhận
request từ url và form để thao tác trực tiếp với Model.



Model: Đây là thành phần chứa tất cả các nghiệp vụ logic, phương thức xử
lý, truy xuất database, đối tượng mô tả dữ liệu như các Class, hàm xử lý…



View: Đảm nhận việc hiển thị thông tin, tương tác với người dùng, nơi chứa
tất cả các đối tượng GUI như textbox, images… Hiểu một cách đơn giản, nó
là tập hợp các form hoặc các file HTML.

1.4.3. Sự tương tác giữa các thành phần


Controller tương tác với qua lại với View



Controller tương tác qua lại với Model



Model và View không có sự tương tác với nhau mà nó tương tác với nhau
thông qua Controller.


Hình 1. Ảnh mô phỏng sự tương tác giữa các thành phần trong MVC

1.5. Phân tích yêu cầu
1.5.1. Yêu cầu về quản lý website


Xây dựng trang quản lý có giao diện dễ nhìn, đơn giản và dễ sử dụng.



Tìm kiếm thông tin đầu vào bằng cách là cầu nối giữa các quỹ học bổng
và doanh nghiệp với học sinh sinh viên thông qua hệ thống.




Trang quản lý có đầy đủ các chức năng thêm, sửa, xóa, cập nhật, thống
kê, theo dõi..



Tăng tính ổn định và độ tin cậy của trang quản lý đối với người dùng.

1.5.2. Yêu cầu về người dùng là học sinh, sinh viên


Xây dựng thiết kế giao diện người dùng thân thiện và dễ sử dụng.




Cập nhật thông tin, tin tức nhanh và liên tục đến với học sinh, sinh viên.



Xây dựng thông tin cá nhân để tối ưu hóa thời gian làm hồ sơ xin học
bổng.



Thu thập thông tin dữ liệu để dự đoán xu hướng của người dùng.

1.5.3. Yêu cầu về người dùng là quỹ học bổng, doanh nghiệp


Xây dựng thiết kế giao diện người dùng đơn giản và dễ sử dụng.



Truyền tải đầy đủ thông tin mà quỹ học bổng hay doanh nghiệp muốn
đưa đến các đối tượng mong muốn.



Trả về dữ liệu đối tượng ứng tuyển chính xác và nhanh chóng.



Thuận tiện trong việc trao đổi thông tin và liên hệ.
1.6. KẾT CHƯƠNG


Chương này trình bày tổng quan về các cơ sở lý thuyết sẽ được áp dụng để
triển khai và thiết kế cho chính website của nhóm.


CHƯƠNG 2: PHÂN TÍCH, THIẾT KẾ, TRIỂN KHAI
HỆ THỐNG
2.1. Phân tích chức năng
2.1.1. Các chức năng chính


Đối với người dùng nói chung:

-

Đăng ký/Đăng nhập/Quên mật khẩu.

-

Nhập/Sửa/Cập nhật thông tin cá nhân.

-

Xem các bài viết mới nhất.

-

Xem các bài viết theo danh mục.

-


Xem thông tin về bài viết.

-

Tìm kiếm bài viết.

-

Bình luận bài viết.



Sinh viên:

-

Đăng ký học bổng.

-

Đăng ký tham gia sự kiện.



Tổ chức:

-

Đăng tải bài đăng thông tin học bổng mới.


-

Chỉnh sửa bài đăng thông tin học bổng.

-

Xóa bài đăng thông tin học bổng.

-

Xem danh sách các sinh viên đăng ký học bổng.

-

Đăng tải bài đăng thông tin sự kiện mới.

-

Chỉnh sửa bài đăng thông tin sự kiện.

-

Xóa bài đăng thông tin sự kiện.

-

Xem danh sách đăng ký tham gia sự kiện.




Người quản trị:

-

Duyệt các bài đăng thông tin học bổng mới.

-

Duyệt các bài đăng thông tin sự kiện.

-

Quản trị các bài đăng.


-

Thêm một tài khoản mới vào hệ thống.

-

Khóa/Mở khóa tài khoản.

-

Reset mật khẩu tài khoản.

-

Xóa tài khoản khỏi hệ thống.


-

Phân quyền cho tài khoản.

2.1.2. Use case

Hình 2. Sơ đồ Use-case của hệ thống


2.2. Cấu trúc trang web

Hình 3. Cấu trúc của trang web

2.3. Thiết kế cơ sở dữ liệu
2.3.1. Cơ sở dữ liệu tài khoản

Hình 4. Cơ sở dữ liệu tài khoản


2.3.2. Cơ sở dữ liệu bài đăng học bổng

Hình 5. Cơ sở dữ liệu bài đăng học bổng


2.3.3. Cơ sở dữ liệu bài đăng sự kiện

Hình 6. Cơ sở dữ liệu bài đăng sự kiện

2.3.4. Cơ sở dữ liệu bình luận


Hình 7. Cơ sở dữ liệu bình luận

2.4. KẾT CHƯƠNG
Chương này trình bày các thiết kế và phân tích hệ thống, triển khai hệ thống
như yêu cầu đặt ra ban đầu.


CHƯƠNG 3: KẾT QUẢ TRIỂN KHAI VÀ ĐÁNH GIÁ
3.1. Môi trường cài đặt
• Cài đặt trình soạn thảo code
Bước có rất nhiều người bỏ qua, nhưng để cho việc phát triển web nhanh và ít xảy
ra lỗi thì bước này lại là quan trọng nhất. Có rất nhiều IDE của PHP để chọn:
o Sublime text (Windows, Mac, Linux)
o PphStorm (Windows, Mac, Linux)

• Cài đặt phần mềm chạy webserver
o XAMP: Cho Mac OS X, Windows và Linux
• Cài đặt CDSL
o MySQL: được cài đặt khi cài đặt Xampp.


3.2. Kết quả triển khai

Hình 8. Màn hình chính của trang web

Hình 9. Màn hình đăng nhập

Hình 10. Màn hình đăng kí



Hình 11. Chức năng đổi mật khẩu

Hình 12. Chức năng xem thông tin học bổng

Hình 13. Chức năng xem các sự kiện giáo dục


Hình 14. Trang cá nhân của người dùng

Hình 15. Trang quản lý hệ thống của Admin

Hình 16. Chức năng chỉnh sửa các tài khoản


Hình 17. Chức năng Reset mật khẩu của tài khoản

Hình 18. Chức năng khóa tài khoản

Hình 19. Chức năng tạo tài khoản hệ thống


Hình 20. Chức năng quản lý đăng tin học bổng

Hình 21. Chức năng phê duyệt bài đăng tin tức học bổng

Hình 22. Chức năng đăng tin tức học bổng


Hình 23. Chức năng quản lý bài đăng sự kiện


Hình 24. Chức năng phê duyệt bài đăng sự kiện

Hình 25. Chức năng quản lý bình luận bài viết


3.3. Đánh giá
3.3.1. Ưu điểm
• Chủ đề lựa chọn mới lạ, sáng tạo và đầy tính thị trường hiện nay.
• Tích hợp được nhiều thông tin để mang đến cho người dùng sự đa dạng về
tin tức.
• Giao diện đơn giản, dễ sử dụng.
• Các chức năng được thể hiện rõ ràng, đầy đủ các chức năng cơ bản.
3.3.2. Nhược điểm


Vẫn còn thiếu sót và một số chức năng chưa được tối ưu hoàn toàn.



Chức năng còn đơn giản, chưa đa dạng về mặt chức năng của hệ thống.



Giao diện còn khá đơn giản.



Chức năng giao tiếp giữa các người dùng chưa được đẩy mạnh hoàn toàn.
3.4. KẾT CHƯƠNG

Chương này trình bày về môi trường cài đặt, đưa ra kết quả đã đạt được sau

khi triển khai và thiết kế website. Đưa ra được ưu điểm và nhược điểm cùng với các
giải pháp đề xuất trong tương lai để hoàn thiện sản phẩm.


KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
1. KẾT QUẢ ĐẠT ĐƯỢC

Trong thời gian tìm hiểu, nghiên cứu cơ sở lý thuyết và triển khai ứng dụng
công nghệ, đề tài đã đạt được những kết quả sau:
Về mặt lý thuyết, đề tài đã đạt được những thành công trong việc đẩy mạnh
công nghệ trong việc hỗ trợ học tập cho học sinh, sinh viên ở Việt Nam. Ngoài ra đề
tài còn giúp người thực hiện nắm chắc về kiến thức căn bản, làm quen với môi
trường làm việc nhóm và tiếp cận được một vài công nghệ hiện tại.
Về mặt thực tiễn ứng dụng, đề tài đã đạt được những thành công trong việc
hiểu rõ chu trình để làm ra một sản phẩm công nghệ phần mềm. Thực hiện các bước
trong chu trình một cách tỉ mỉ, đưa ra hướng giải quyết cho bài toán và xây dựng
sản phẩm dựa trên bản thiết kế. Biết cách xây dựng website qua ngôn ngữ PHP với
framework Laravel, thiết kế giao diện và hoàn thiện hệ thống đúng thời gian yêu
cầu.
Tuy nhiên, đề tài còn tồn tại các vấn đề như sau:
− Vấn đề giao diện vẫn còn đơn điệu, chưa thực sự ấn tượng với người dùng.
− Vấn đề nguồn thông tin dữ liệu còn yếu, chưa đủ cung cấp sự đa dạng
trong thông tin đưa đến người dùng.
− Vấn đề thiết kế hệ thống vẫn còn nhiều bất cập trong việc logic hóa hệ
thống để tăng hiệu quả sử dụng.
− Vấn đề phổ biến của đề tài còn khá mới lạ nên dẫn đến việc tiếp cận người
dùng còn khó.
2. HƯỚNG PHÁT TRIỂN


Một số số hướng nghiên cứu và phát triển của đề tài như sau:
− Tìm kiếm nguồn dữ liệu đa dạng ngoài việc nhận dữ liệu từ người sử dụng
− Tăng thêm nhiều tính năng cho hệ thống, tích hợp thêm phần giải trí cho hệ
thống có thể thu hút được nhiều đối tượng sử dụng hơn.
− Cải thiện giao diện cho phù hợp với nhu cầu người dùng.
− Cải thiện hiệu quả từng chức năng và giảm tối đa số lỗi mắc phải.
− Truyền thông sản phẩm qua các cổng thông tin đại chúng để đến được với
người dùng nhanh nhất có thể.


TÀI LIỆU THAM KHẢO
Tiếng Anh

[1] Kathy Sierra, Elisabeth Freeman (2004). “Head First Design Patterns”.
[2] Jon Duckett (2011), “HTML and CSS : Design and Build Websites”.
Internet

[3] />[4]
[5] />[6]
[7]


×