1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng website trao nhận học bổng cho sinh viên đồ án tốt nghiệp

45 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Website Trao Nhận Học Bổng Cho Sinh Viên
Tác giả Nguyễn Thành Quang
Người hướng dẫn Bùi Văn Chuyên
Trường học Trường Đại Học Bình Dương
Chuyên ngành Công Nghệ Thông Tin, Robot Và Trí Tuệ Nhân Tạo
Thể loại đồ án tốt nghiệp
Năm xuất bản 2023
Thành phố Bình Dương
Định dạng
Số trang 45
Dung lượng 2,63 MB

Cấu trúc

  • 1. Tính cấp thiết của đề tài (14)
  • 2. Mục tiêu của đề tài (14)
  • 3. Phương pháp thực hiện (14)
  • CHƯƠNG I: KHẢO SÁT HIỆN TRẠNG (16)
    • 1. Phân tích hiện trạng (16)
    • 2. Khảo sát một số trang web hiện nay (16)
    • 3. Phân tích yêu cầu dự án (17)
    • 4. Danh sách các chức năng nghiệp vụ (18)
    • 5. Danh sách các chức năng hệ thống (18)
  • Chương II: Cơ sở lý thuyết (20)
    • 1. Next.js (20)
    • 2. Laravel (20)
    • 3. Restful API (20)
  • Chương III: Mô hình hóa yêu cầu (24)
    • 1. Lược đồ chức năng (24)
  • Chương IV: Thiết kế hệ thống (26)
    • 1. Thiết kế cơ sở dữ liệu (26)
    • 2. Thiết kế giao diện (33)
  • Chương V: Cài đặt và kiểm thử hệ thống (40)
    • 1. Cài đặt (40)
    • 2. Kiểm thử phần mềm (41)
    • 1. Những kiến thức đã đạt được (43)
    • 2. Ưu điểm (43)
    • 3. Nhược điểm (43)
    • 4. Hướng phát triển (43)

Nội dung

Tính cấp thiết của đề tài

Ngày nay, mặc dù đời sống ngày càng cải thiện, vẫn còn nhiều học sinh, sinh viên gặp khó khăn tài chính trong việc học tập Do đó, cần có các chương trình học bổng để hỗ trợ những em này, giúp họ có cơ hội hoàn thành việc học và nâng cao chất lượng giáo dục Những học bổng không chỉ thúc đẩy sự đa dạng trong môi trường học tập mà còn khuyến khích nghiên cứu trong các lĩnh vực cụ thể Bên cạnh đó, chúng cũng tạo điều kiện cho sinh viên mở rộng mạng lưới cá nhân và xây dựng mối quan hệ Đồng thời, các tổ chức tài trợ và doanh nghiệp cũng có thể tham gia vào việc nâng cao chất lượng giáo dục và nghiên cứu thông qua việc hỗ trợ học sinh có hoàn cảnh khó khăn.

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 tự động và tích hợp với các hệ thống khác sẽ nâng cao hiệu quả trong việc quản lý và cập nhật thông tin.

Nâng cao chất lượng và sự đa dạng của sinh viên trong trường học hoặc ngành học cụ thể bằng cách tạo cơ hội học tập cho những sinh viên có hoàn cảnh khó khăn Việc này không chỉ giúp phát triển tài năng mà còn góp phần xây dựng một môi trường học tập toàn diện và công bằng hơn.

Thúc đẩy giáo dục và nghiên cứu trong lĩnh vực cụ thể bằng cách tạo cơ hội học tập cho sinh viên có năng lực và đam mê.

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

Để phát triển web hiệu quả, bạn cần nắm vững kiến thức cơ bản về ngôn ngữ lập trình như HTML, JavaScript và PHP theo mô hình MVC Bên cạnh đó, việc áp dụng các công nghệ hiện đại như Next.js, Laravel, JSON Web Token, Restful API, Bootstrap và Tailwind CSS cũng rất quan trọng.

- Tham khảo các đề tài liên quan.

KHẢO SÁT HIỆN TRẠNG

Phân tích hiện trạng

Trong bối cảnh dịch COVID-19 hiện nay, việc trao nhận học bổng cho học sinh, sinh viên gặp nhiều khó khăn do hạn chế ra ngoài Thông tin về các chương trình học bổng chủ yếu được thực hiện thủ công thông qua các hoạt động gặp gỡ trực tiếp, dẫn đến khó khăn trong việc tìm kiếm thông tin và đ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

Hình ảnh: 1 Khảo sát bdu.edu.vn

Hình ảnh: 2 Khảo sát idp.com

Hình ảnh: 3 Khảo sát daihoc.fpt.edu.vn

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:

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 các loại học bổng, điều kiện đủ để nhận học bổng, hạn chót nộp đơn và các yêu cầu cần thiết khác.

Trang web cần tích hợp các tính năng giúp sinh viên dễ dàng tìm kiếm và nộp đơn cho các chương trình học bổng phù hợp, nhằm hỗ trợ tối đa trong quá trình xin học bổng.

Trang web cần xây dựng một hệ thống quản lý thông tin sinh viên và học bổng hiệu quả, nhằm tối ưu hóa việc cập nhật và quản lý dữ liệu liên quan.

Danh sách các chức năng nghiệp vụ

STT Chức năng Tính năng Ghi chú

1 Quản lý học bổng CRUD

Cung cấp các thông tin, điều kiện về học bổng

2 Quản lý trường/công ty CRUD

Quản lý thông tin của các công ty nhằm đảm bảo thông tin chính xác

3 Quản lý tin tức CRUD

Tin tức về các chương trình học bổng

4 Quản lý học sinh/sinh viên CRUD

Thống kê, báo cáo các sinh viên đạt được học bổng

Gửi thông tin học bổng về cho các sinh viên

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

2 Sao lưu, back up, phục hồi thông tin

- Sao lưu toàn bộ cơ sở dữ liệu định kỳ, phục hồi khi có sự cố xảy ra.

Cơ sở lý thuyết

Next.js

Next.js is a powerful framework for building server-rendered or statically-exported web applications using React It offers essential features such as automatic code splitting, hot module replacement, and a straightforward page model, making it easier to develop robust applications.

For instance, Next.js can be utilized to create a static website or a server-rendered web application Additionally, it supports the development of serverless applications by employing Next.js's "export" mode to generate a static bundle from the built pages.

Laravel

Laravel là một framework PHP mạnh mẽ, được sử dụng rộng rãi để phát triển ứng dụng web Dựa trên kiến trúc Model-View-Controller (MVC), Laravel giúp đơn giản hóa quá trình phát triển ứng dụng Framework này cung cấp nhiều tính năng hữu ích, bao gồm hỗ trợ routing, ORM, middleware và các công cụ phát triển giao diện người dùng.

Laravel cung cấp nhiều công cụ hữu ích cho việc kiểm thử và triển khai, giúp nâng cao hiệu quả phát triển và bảo trì ứng dụng Ngoài ra, Laravel còn hỗ trợ nhiều loại cơ sở dữ liệu khác nhau, bao gồm MySQL, PostgreSQL và SQLite.

Laravel sở hữu một cộng đồng lập trình viên đông đảo và đa dạng, cung cấp nhiều gói và công cụ hỗ trợ phát triển ứng dụng Ngoài ra, Laravel còn có tài liệu và hướng dẫn chi tiết, giúp người mới dễ dàng học hỏi và sử dụng framework này.

Restful API

API đóng vai trò thiết yếu trong các ứng dụng hiện đại, tương tự như việc một máy tính không thể hoạt động hiệu quả nếu không có kết nối internet Qua thời gian, các tiêu chuẩn chung đã được hình thành, trong đó RESTful trở thành chuẩn mực quan trọng cho việc phát triển API.

Nguyên lý REST và cấu trúc dữ liệu RESTful đã trở thành những khái niệm phổ biến trong cộng đồng lập trình web và phát triển ứng dụng.

REST không phải là một công nghệ mà là phương thức tạo API dựa trên các nguyên lý tổ chức nhất định Những nguyên lý này giúp lập trình viên xây dựng môi trường xử lý yêu cầu API một cách toàn diện.

RESTful API là tiêu chuẩn thiết kế API cho ứng dụng web, giúp quản lý hiệu quả các tài nguyên như tệp văn bản, hình ảnh, âm thanh, video và dữ liệu động Tiêu chuẩn này tập trung vào các trạng thái tài nguyên được định dạng và truyền tải qua giao thức HTTP.

Các thành ph ầ n c ủ a RESTful API:

API (Giao diện lập trình ứng dụng) là tập hợp các quy tắc và cơ chế cho phép các ứng dụng hoặc thành phần tương tác với nhau Nó cung cấp dữ liệu cần thiết cho ứng dụng của bạn dưới các định dạng phổ biến như JSON hoặc XML.

REST (REpresentational State Transfer) là một kiến trúc API sử dụng phương thức HTTP để giao tiếp giữa các máy Thay vì chỉ sử dụng một URL để xử lý thông tin người dùng, REST gửi yêu cầu HTTP như GET, POST, DELETE đến một URL để quản lý và xử lý dữ liệu hiệu quả.

RESTful API là tiêu chuẩn thiết kế API cho ứng dụng web nhằm quản lý tài nguyên Đây là một trong những kiểu thiết kế API phổ biến hiện nay, cho phép các ứng dụng web và di động giao tiếp hiệu quả 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 phương thức HTTP như GET, POST, PUT, DELETE và cách định dạng URL cho ứng dụng web nhằm quản lý các tài nguyên RESTful không quy định logic của mã ứng dụng và không bị giới hạn bởi ngôn ngữ lập trình, cho phép bất kỳ ngôn ngữ hoặc framework nào cũng có thể được 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, viết tắt của Cascading Style Sheets, là ngôn ngữ dùng để tìm kiếm và định dạng các phần tử do HTML tạo ra Nói một cách đơn giản, CSS là công cụ giúp tạo phong cách cho trang web, với HTML đảm nhiệm vai trò định dạng các phần tử trên website.

CSS cho phép chúng ta thêm kiểu dáng cho các phần tử HTML như thay đổi bố cục, màu sắc trang, màu chữ, font chữ và 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

CSS hoạt động bằng cách tìm kiếm các vùng chọn, bao gồm tên thẻ HTML, ID, class và nhiều kiểu khác Sau khi xác định được vùng chọn, CSS sẽ áp dụng các thuộc tính cần thay đổi lên các phần tử đó.

HTML và CSS có mối quan hệ chặt chẽ, với HTML đóng vai trò là ngôn ngữ đánh dấu nền tảng cho trang web, trong khi CSS chịu trách nhiệm định hình phong cách và giao diện của nó Sự kết hợp giữa hai ngôn ngữ này là không thể tách rời, tạo nên một trải nghiệm người dùng hoàn chỉnh trên website.

Mô hình hóa yêu cầu

Lược đồ chức năng

Hình ảnh: 6 Lược đồ chức năng của quản trị viên

Hình ảnh: 7 Lược đồ chức năng của trường/ công ty

Hình ảnh: 8 Lược đồ chức năng của sinh viên

Thiết kế hệ thống

Thiết kế cơ sở dữ liệu

1.1 Lược đồ cơ sở dữ liệu

Hình ảnh: 9 Lược đồ cơ sở dữ liệu

1.2 Mô tả cơ sở dữ liệu

Hình ảnh: 15 Bảng save scholaship

Hình ảnh: 17 Bảng tag news

Hình ảnh: 19 Bảng tag scholaship

Hình ảnh: 20 Bảng user role

Thiết kế giao diện

- Trang tìm kiếm học bổng:

Hình ảnh: 23 Trang tìm kiếm

Hình ảnh: 24 Trang tin tức

- Trang quy định và điều khoản:

Hình ảnh: 25 Trang quy định và điều khoản

Hình ảnh: 27 Giao diện quản lý

Hình ảnh: 28 Trang quản lý tin tức

Hình ảnh: 29 Trang thêm tin tức

Hình ảnh: 30 Trang quản lý học bổng

Hình ảnh: 31 Trang quản lý trường/công ty

Hình ảnh: 32 Trang sinh viên cần tư vấn

Hình ảnh: 33 Trang sinh viên đã đăng ký

Cài đặt và kiểm thử hệ thống

Cài đặt

1 Cài XAMPP và mở port để mở phpmyadmin

Hình ảnh: 34 Cài đặt xampp

2 Vào phpadmin tạo cở sở dữ liệu giống với cấu hình file env scholaship- be

Hình ảnh: 35 Cấu hình env backend

3 Mở scholaship-be và chạy lệnh composer install, npm install để cài đặt các package cần thiết

4 Chạy lệnh php artisan migrate để add table vào cở sở dữ liệu

5 Chạy lệnh php artisan db:Seed UserSeeder để tạo tài khoản mặc định

6 Chạy lệnh php artisan serve để start be

7 Mở http://localhost:8000/admin để vào trang admin quản lý

1 Chạy lệnh npm íntall để cài đặt các package cần thiết

2 Chạy lệnh npm run dev để start fe

3 Mở http://localhost:3000/ để vào trang chủ

Kiểm thử phần mềm

Trưởng nhóm test sẽ thực hiện viết test plan cho toàn bộ hệ thông gồm các phần sau:

- Định nghĩa phạm vi kiểm thử

- Định nghĩa các chiến lược kiểm thử

- Nhận dạng các rủi ro và các yếu tố bất ngờ

- Nhận dạng các hoạt động kiểm thử và xây dựng lịch kiểm thử

- Nhận dạng môi trường kiểm thử

- Hiệu chỉnh trong suốt chu kỳ kiểm thử để phản ánh các thay đổi cần thiết

2.2 Quy trình thiết kế kiểm thử

Hình ảnh: 36 Quy trình kiểm thử

Trong quy trình này, TestManager sẽ xây dựng kế hoạch kiểm thử thông qua việc phân tích và đánh giá các yếu tố như phạm vi, chiến lược, rủi ro tiềm ẩn, các dạng kiểm thử và môi trường kiểm thử.

Dựa trên cơ sở đó, Test Analysis sẽ viết các testcase cho từng chức năng trong mỗi module một cách kỹ lưỡng, nhằm mục tiêu phát hiện lỗi trong từng module cũng như lỗi tổng thể của dự án.

Các TestCase sẽ được thực hiện trên các module cụ thể bởi từng Tester Trong giai đoạn chuẩn bị, Tester sử dụng mẫu prototype, use case và các đặc tả chức năng để viết TestCase theo trình tự từng bước một.

Trong quá trình thực hiện kiểm thử, Tester cần liên tục tạo báo cáo lỗi và gửi kết quả cho TestManager TestManager sẽ tổng hợp và đánh giá hoạt động kiểm thử, xác định xem các tiêu chí thành công đã được đáp ứng và liệu quá trình kiểm thử đã hoàn tất hay chưa.

Hình ảnh: 37 Quy trình chạy các bộ kiểm thử

Tester sẽ được bố trí công việc bởi Test Leader để thi hành kiểm thử theo quy trình cụ thể sau:

- Thi hành kiểm thử theo từng testcase cho từng module cụ thể

- Chạy lại các case bị failed trước đó để xác nhận là case đó đã được sửa

- So sách kết quả ghi nhận được khi thực thi với kết quả mong đợi

- Đánh giá kết quả kiểm thử (Passed/Failed) cho các trường hợp kiểm thử

- Viết báo cáo lỗi cho những trường hợp kết quả ghi nhận được và kết quả mong đợi không giống nhau

Những kiến thức đã đạt được

Sử dụng hiệu quả các công nghệ phần mềm và website hiện đại như Next.js, Laravel, JSON Web Token, RestfulAPI và CSS, cùng với việc nghiên cứu và áp dụng cơ sở dữ liệu MySQL, đã mang lại kết quả cao trong các dự án phát triển.

Để xây dựng thành công một website tìm kiếm việc làm, cần tích hợp các chức năng như đăng nhập và đăng ký tài khoản Quản trị viên sẽ có quyền hạn giống như người dùng thông thường, đồng thời có khả năng thêm, xóa và sửa đổi tài khoản người dùng, học bổng và tin tức Họ cũng có thể chỉnh sửa thông tin cá nhân, tìm kiếm người dùng và học bổng, đổi mật khẩu, cũng như thống kê số lượng học bổng hiện có.

Công ty: Đăng tin tức, học bổng cho sinh viên, xác nhận và tư vấn cho sinh viên đăng ký nhận học bổng

Cách hoạt động nhóm hiệu quả, linh hoạt các vị trí trong lĩnh vực công nghệ thông tin.

Ưu điểm

Ứng dụng các chức năng quản lý, kiểm soát dữ liệu đầu vào cũng như các dữ liệu đầu ra

Website có cấu trúc khá hoàn thiện, có khả năng bảo trì và nâng cấp

Giao diện thân thiện với người dung, dễ dàng sử dụng

Sử dụng các công nghệ Website hiện đại, có chia cấu trúc Frontend - Backend rõ ràng.

Nhược điểm

Chưa gửi email thông báo cho sinh viên và các bên liên quan khi xác nhận trao học bổng cho sinh viên.

Hướng phát triển

Deloy ứng dụng lên server thực

Tiến hành phân tích dữ liệu người dùng dựa trên các thông tin như đề xuất học bổng phù hợp cho sinh viên

Xây dựng tính năng chia sẽ, bình luận về học bổng.

Ngày đăng: 08/11/2023, 23:56

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w