PHẦN MỞ ĐẦU 1. Tính cấp thiết của đề tài Ngày nay nhu cầu đời sống càng được cải thiện tuy nhiên bên cạnh đó còn một số học sinh, sinh viên còn có điều kiện khó khăn hoặc thiếu tài chính để học tập và hoàn thành học tập của mình. Vì vậy cần các chương trình học bổng để giúp đỡ học sinh có điều kiện khó khăn hoặc thiếu tài chính có cơ hội học tập và hoàn thành học tập của mình. Giúp nâng cao chất lượng và sự đa dạng của sinh viên trong một trường học hoặc trong một ngành học cụ thể.
Thúc đẩy sự giáo dục và nghiên cứu trong một lĩnh vực cụ thể. Giúp sinh viên có cơ hội để tạo ra mối quan hệ và mở rộng mạng lưới cá nhân của mình. Giúp các tổ chức tài trợ hoặc các công ty có thể đóng góp vào việc giúp đỡ các học sinh có điều kiện khó khăn hoặc giúp đỡ các lĩnh vực cần được nâng cao chất lượng giáo dục và nghiên cứu. Nắm bắt được tình hình đó, em đã mạnh dạn lựa chọn đề tài: “Xây dựng website trao nhận học bổng cho sinh viên”.
Mục tiêu của đề tài Cung cấp thông tin về các chương trình học bổng và giúp sinh viên tìm kiếm và nộp đơn học bổng dễ dàng hơn. Xây dựng một hệ thống quản lý học bổng hoàn toàn tự động và tích hợp với các hệ thống khác, giúp cho việc quản lý và cập nhật thông tin trở nên hiệu quả hơn. Nâng cao chất lượng và sự đa dạng của sinh viên trong một trường học hoặc trong một ngành học cụ thể bằng cách tạo ra cơ hội học tập cho những sinh viên có điều kiện khó khăn. Thúc đẩy sự giáo dục và nghiên cứu trong một lĩnh vực cụ thể bằng cách tạo ra cơ hội học tập cho những sinh viên có khả năng và đam mê trong lĩnh vực đó.
Giúp các tổ chức tài trợ hoặc các công ty có thể. Phương pháp thực hiện Để phục vụ cho quá trình phát triển và xây dựng website, em đã áp dụng các kiến thức: - Nắm vững kỹ thuật phân tích thiết kế hệ thống thông tin. - Tìm hiểu tài liệu về hệ quản trị cơ sở dữ liệu MySQL. 12 - Có kiến thức cơ bản về ngôn ngữ lập trình web như: HTML, JavaScript, PHP mô hình MVC… cũng như vận dụng được các công nghệ mới hiện đại như: Next.js, Laravel, JSON Web Token, RestfulAPI, Bootstrap, Tailwind Css.
- Tham khảo các đề tài liên quan. 13 PHẦN NỘI DUNG CHƯƠNG I: KHẢO SÁT HIỆN TRẠNG 1. Phân tích hiện trạng Trong tình hình dịch covid 19 như hiện nay, các chương trình trao nhận học bổng cho học sinh, sinh viên gặp nhiều khó khăn vì việc hạn chế ra ngoài của mọi người. Thông tin về các chương trình trao nhận học bổng hầu như đang được thực hiện một cách thủ công như tổ chức các hoạt động gặp gỡ sinh viên, các chương trình được thông báo trực tiếp.
Vì vậy gây khó khăn cho mọi người tìm kiếm về các thông tin về học bổng cũng như điều kiện để đạt được học bổng. Do đó việc thiết kế một website trao nhận học bổng cho sinh viên đã trở thành nhu cầu thiết yếu và thu hút được nhiều người tham gia. Khảo sát một số trang web hiện nay 2.vn Hình ảnh: 1 Khảo sát bdu.com 14 Hình ảnh: 2 Khảo sát idp.vn Hình ảnh: 3 Khảo sát daihoc. Phân tích yêu cầu dự án Xây dựng website trao nhận học bổng cho sinh viên có các chức năng: - Cung cấp thông tin về các chương trình học bổng khác nhau: Trang web cần cung cấp thông tin chi tiết về các chương trình học bổng khác nhau, bao gồm thông tin về học bổng, điều kiện để được học bổng, hạn chót nộp đơn, v.
- Hỗ trợ sinh viên tìm kiếm và nộp đơn học bổng: Trang web cần cung cấp các tính năng hỗ trợ sinh viên tìm kiếm các chương trình học bổng phù hợp và nộp đơn học 15 bổng dễ dàng hơn. - Quản lý thông tin về sinh viên và học bổng: Trang web cần có một hệ thống quản lý thông tin về sinh viên và học bổng, giúp cho việc quản lý và cập nhật thông tin trở nên hiệu quả. Danh sách các chức năng nghiệp vụ STT Chức năng Tính năng Ghi chú Cung cấp các thông tin, điều 1 Quản lý học bổng CRUD kiện về học bổng Quản lý thông tin của các công ty nhằm đảm bảo thông 2 Quản lý trường/công ty CRUD tin chính xác Tin tức về các chương trình 3 Quản lý tin tức CRUD học bổng Thống kê, báo cáo các sinh 4 Quản lý học sinh/sinh viên CRUD viên đạt được học bổng Gửi thông tin học bổng về 5 Email cho các sinh viên 5. Danh sách các chức năng hệ thống STT Nội dung Mô tả chi tiết 1 Phân quyền sử dụng - Công ty: được phép quản lý tài khoản (chỉnh sửa tài khoản mật khẩu), đăng tin tức, các chương trình học bổng.
theo dõi sinh viên đăng ký và đã nhận học bổng. - Quản trị viên: có tất cả các quyền của công ty và xét duyệt các tin tức và các chương trình học bổng của các công ty 16 2 Sao lưu, back up, - Sao lưu toàn bộ cơ sở dữ liệu định kỳ, phục hồi thông tin phục hồi khi có sự cố xảy ra. 17 Chương II: Cơ sở lý thuyết 1.js là một framework cho phép bạn xây dựng các ứng dụng web server- rendered hoặc statically-exported bằng React. Nó cung cấp một số tính năng hữu ích như tự động code splitting, hot module replacement, và cung cấp mô hình trang đơn giản để xây dựng các ứng dụng.
Ví dụ, bạn có thể sử dụng Next.js để xây dựng một trang web tĩnh (static site) hoặc một ứng dụng trang web server-rendered. Nó cũng có thể được sử dụng để xây dựng các ứng dụng phân tán (serverless) bằng cách sử dụng chế độ "export" của Next.js để tạo ra một bộ tĩnh từ các trang đã xây dựng. Laravel Laravel là một framework PHP được sử dụng để xây dựng các ứng dụng web. Nó được xây dựng dựa trên nền tảng Model-View-Controller (MVC) và được thiết kế để giúp cho việc phát triển ứng dụng trở nên dễ dàng hơn.
Laravel cung cấp nhiều tính năng tiện ích như hỗ trợ routing, ORM, middleware, và các công cụ để xây dựng giao diện người dùng. Laravel cũng có rất nhiều công cụ hỗ trợ cho việc testing và deployment, giúp cho việc phát triển và bảo trì ứng dụng trở nên hiệu quả hơn. Nó cũng hỗ trợ nhiều database backend khác nhau như MySQL, PostgreSQL, và SQLite. Laravel có một cộng đồng lập trình viên rất lớn và đa dạng, cung cấp rất nhiều package và công cụ hỗ trợ cho việc phát triển ứng dụng.
Nó cũng có tài liệu và hướng dẫn rất chi tiết, giúp cho những người mới bắt đầu dễ dàng học và sử dụng framework này. Restful API Sự quan trọng của API trong các ứng dụng ngày nay là điều ko thể bàn cãi. Một ứng dụng mà không có API thì như một cỗ máy tính không kết nối internet vậy. Và như một điều hiển nhiên, mọi thứ sau khi phát triển một thời gian sẽ hình thành những chuẩn mực chung và đối với API, nó chính là RESTful [5] Có thể nói nguyên lí REST và cấu trúc dữ liệu RESTful được biết đến rộng rãi trong giới lập trình web nói chung và lập trình ứng dụng nói riêng.
18 Có thể nói bản thân REST không phải là một loại công nghệ. Nó là phương thức tạo API với nguyên lý tổ chức nhất định. Những nguyên lý này nhằm hướng dẫn lập trình viên tạo môi trường xử lý API request được toàn diện. RESTful API là gì? RESTful API là một tiêu chuẩn dùng trong việc thiết kế API cho các ứng dụng web (thiết kế Web services) để tiện cho việc quản lý các resource.
Nó chú trọng vào tài nguyên hệ thống (tệp văn bản, ảnh, âm thanh, video, hoặc dữ liệu động…), bao gồm các trạng thái tài nguyên được định dạng và được truyền tải qua HTTP. Hình ảnh: 4 Restful api Các thành phần của RESTful API: API (Application Programming Interface) là một tập các quy tắc và cơ chế mà theo đó, một ứng dụng hay một thành phần sẽ tương tác với một ứng dụng hay thành phần khác. API có thể trả về dữ liệu mà bạn cần cho ứng dụng của mình ở những kiểu dữ liệu phổ biến như JSON hay XML. REST (REpresentational State Transfer) là một dạng chuyển đổi cấu trúc dữ liệu, một kiểu kiến trúc để viết API.
Nó sử dụng phương thức HTTP đơn giản để tạo cho giao tiếp giữa các máy. Vì vậy, thay vì sử dụng một URL cho việc xử lý một số thông tin người dùng, REST gửi một yêu cầu HTTP như GET, POST, DELETE, vv đến một URL để xử lý dữ liệu. RESTful API là một tiêu chuẩn dùng trong việc thiết kế các API cho các ứng dụng web để quản lý các resource. RESTful là một trong những kiểu thiết kế API được sử 19 dụng phổ biến ngày nay để cho các ứng dụng (web, mobile…) khác nhau giao tiếp với nhau.
Chức năng quan trọng nhất của REST là quy định cách sử dụng các HTTP method (như GET, POST, PUT, DELETE…) và cách định dạng các URL cho ứng dụng web để quản các resource. RESTful không quy định logic code ứng dụng và không giới hạn bởi ngôn ngữ lập trình ứng dụng, bất kỳ ngôn ngữ hoặc framework nào cũng có thể sử dụng để thiết kế một RESTful API. RESTful API hoạt động như thế nào? Hình ảnh: 5 Cách hoạt động của restful api REST hoạt động chủ yếu dựa vào giao thức HTTP. Các hoạt động cơ bản nêu trên sẽ sử dụng những phương thức HTTP riêng.
GET (SELECT): Trả về một Resource hoặc một danh sách Resource. POST (CREATE): Tạo mới một Resource. PUT (UPDATE): Cập nhật thông tin cho Resource. DELETE (DELETE): Xoá một Resource.
Những phương thức hay hoạt động này thường được gọi là CRUD tương ứng với Create, Read, Update, Delete – Tạo, Đọc, Sửa, Xóa. CSS CSS là chữ viết tắt của Cascading Style Sheets, nó là một ngôn ngữ được sử dụng để tìm và định dạng lại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu (HTML). Nói ngắn gọn hơn là ngôn ngữ tạo phong cách cho trang web. Bạn có thể hiểu đơn giản rằng, nếu HTML đóng vai trò định dạng các phần tử trên website như việc tạo ra các 20 đoạn văn bản, các tiêu đề, bảng…thì CSS sẽ giúp chúng ta có thể thêm style vào các phần tử HTML đó như đổi bố cục, màu sắc trang, đổi màu chữ, font chữ, thay đổi cấu trúc… CSS được phát triển bởi W3C (World Wide Web Consortium) vào năm 1996, vì HTML không được thiết kế để gắn tag để giúp định dạng trang web.