Hướng dẫn lựa chọn framework phù hợp cho đồ án quản lý quá trình thực hiện khóa luận tốt nghiệp

MỤC LỤC

NextJS

Dễ Dàng Tích Hợp với API: Có thể tích hợp dễ dàng với các API bằng cách sử dụng API Routes, làm cho việc xây dựng và quản lý ứng dụng hoạt động trơn tru và hiệu quả. Nhiều kiến thức cần nắm trước khi vận dụng: Có một số khái niệm và tính năng mới (ví dụ:. Server-Side Rendering) cú thể đũi hỏi thời gian để hiểu rừ, đặc biệt là đối với những người mới bắt đầu.

TailwindCSS

Tốc độ Phát triển Nhanh chóng: Tailwind giúp tăng tốc quá trình phát triển bằng cách giảm thiểu việc viết CSS từ đầu, thay vào đó sử dụng các lớp CSS đã được định nghĩa sẵn. Dễ Dàng Tùy chỉnh và Mở Rộng: Mặc dù cung cấp nhiều lớp CSS mặc định, nhưng Tailwind cũng cho phép bạn tùy chỉnh và mở rộng theo ý muốn của bạn thông qua tệp cấu hình.

Typescript

Đường học khó hơn JavaScript: Yêu cầu hiểu biết về hệ thống kiểu dữ liệu và OOP, có thể là một thách thức đối với lập trình viên mới hoặc những người chỉ quen với JavaScript. Cần Cập Nhật Kiểu Dữ Liệu cho Các Thư viện Bên Ngoài: Một số thư viện JavaScript có thể không có kiểu dữ liệu TypeScript sẵn có, yêu cầu phải tự định nghĩa hoặc tìm kiếm kiểu dữ liệu từ cộng đồng.

NodeJS

Khả Năng Tương Thích Ngược: Trong một số trường hợp, việc tích hợp TypeScript vào một dự án JavaScript hiện có có thể gây ra vấn đề về khả năng tương thích ngược. Callback Hell: Trong mô hình non-blocking, việc xử lý nhiều tác vụ đồng thời có thể dẫn đến "callback hell", khiến code khó đọc và quản lý.

MongoDB

Không ổn định: Một số API của Node.js vẫn đang trong giai đoạn phát triển và thường xuyên thay đổi, có thể gây khó khăn trong việc bảo trì. Truy vấn phức tạp: Trong trường hợp truy vấn phức tạp, việc sử dụng các kỹ thuật khác như MapReduce có thể đôi khi làm cho mã nguồn trở nên phức tạp.

Use case diagram

No Actor Short description/Notes. 1 Sinh viên Đăng ký đề tài từ giáo viên, có thể xem thông báo, reports, deadline từ giáo viên đăng ký. 2 Giáo viên Làm việc với sinh viên, có dashboard quản lý notification, reports, deadlines cho sinh viên. 3 Khoa Quản lý account, báo cáo từ sinh viên. o Actor Tên Use-case Mô tả. Sinh viên, Giáo viên Sign In. Sinh viên Chọn đề tài. Sinh viên Đăng ký đổi tên đề tài. Sinh viên, Giáo viên,. Khoa Nộp files. Giáo viên Đăng ký đề tài. Giáo viên Quản lý đề tài. Giáo viên Quản lý thông báo 8. Giáo viên Quản lý deadline. Giáo viên Quản lý report. 0.1 Giáo viên, Khoa Chấp thuận đổi tên đề tài. Đặc tả Use- case. Use-case “Sign In”. Tên Use case Sign In. Actor Sinh viên, Giáo viên Điều kiện đầu Cần được cấp phép. Flow cơ bản 1) Người dùng nhập tài khoản đã được cung cấp 2) Nhấn vào nút Sign In. 3) Người dùng được chuyển hướng vào Homepage Alternative. 1) Thất bại, người dùng yêu cầu nhập lại Điều kiện sau Hệ thống sẵn sàng cho các hoạt động sau Điểm mở rộng Không. Use-case “Chọn đề tài”. Tên Use case Chọn đề tài. Actor Sinh viên. Điều kiện đầu Cần được cấp phép. Flow cơ bản 1) Người dùng nhấn vào Đăng ký đề tài KLTN trên NavBar. 2) Chuyển hướng sang trang đăng ký 3) Chọn đề tài mong muốn để đăng ký Alternative. Điều kiện sau Hệ thống sẵn sàng cho các hoạt động sau Điểm mở rộng Không. Use-case “Đăng ký đổi tên đề tài”. Tên Use case Đăng ký đổi tên đề tài. Actor Sinh viên. Điều kiện đầu Cần được cấp phép. Flow cơ bản 1) Người dùng nhấn vào nút “ĐTĐT” trên danh sách Đăng ký đề tài. 2) Chuyển đơn ĐTĐT tới giáo viên thành công. Điều kiện sau Hệ thống sẵn sàng cho các hoạt động sau Điểm mở rộng Không. Use-case “Đăng ký đề tài ĐATN”. Tên Use case Đăng ký đề tài ĐATN. Actor Giáo viên. Điều kiện đầu Cần được cấp phép. Flow cơ bản 1) Người dùng nhấn vào nút “Đăng ký ĐT” trên thanh NavBar, để chuyển hướng sang trang đăng ký đề tài 2) Điền các thông tin đề tài mới trên modal. 3) Nhấn Submit để đăng ký đề tài. 4) Xuất hiện thông báo khi đăng ký thành công hoặc thất bại. Điều kiện sau Hệ thống sẵn sàng cho các hoạt động sau Điểm mở rộng Không. Use-case “Quản lý đề tài”. Tên Use case Quản lý đề tài. Actor Giáo viên. Điều kiện đầu Cần được cấp phép. Flow cơ bản 1) Nhấn vào biểu tượng 3 chấm trên đề tài để tiến hành chỉnh sửa. 2) Người dùng có thể sửa chữa lại nội dung đề tài, hoặc xóa đi đề tài. 3) Xuất hiện thông báo khi người dùng chỉnh sửa thành công hoặc thất bại. Điều kiện sau Hệ thống sẵn sàng cho các hoạt động sau Điểm mở rộng Không. Use-case “Quản lý thông báo”. Tên Use case Quản lý thông báo. Actor Giáo viên. Điều kiện đầu Cần được cấp phép. Flow cơ bản 1) Người dùng nhấn vào Dashboard trong Navbar để chuyển hướng sang trang Dashboard. 2) Nhấn vào nút Thông báo, để chuyển hướng sang trang Notification. 3) Người dùng có thể quản lý thông báo như: tạo thông báo, update thông báo. 4) Xuất hiện thông báo khi thực thi thành công hoặc thất bại. Điều kiện sau Hệ thống sẵn sàng cho các hoạt động sau Điểm mở rộng Không. Use-case “Quản lý deadline”. Tên Use case Quản lý deadline. Actor Giáo viên. Điều kiện đầu Cần được cấp phép. Flow cơ bản 1) Người dùng nhấn vào Dashboard trong Navbar để chuyển hướng sang trang Dashboard. 2) Nhấn vào nút Deadline & Report, để chuyển hướng sang trang Deadline & Report. 3) Người dùng có thể quản lý deadline như: tạo deadline, update deadline. 4) Xuất hiện thông báo khi thực thi thành công hoặc thất bại. Điều kiện sau Hệ thống sẵn sàng cho các hoạt động sau Điểm mở rộng Không. Use-case “Quản lý report”. Tên Use case Quản lý report. Actor Giáo viên. Điều kiện đầu Cần được cấp phép. Flow cơ bản 1) Người dùng nhấn vào Dashboard trong Navbar để chuyển hướng sang trang Dashboard. 2) Nhấn vào nút Deadline & Report, để chuyển hướng sang trang Deadline & Report. 3) Người dùng có thể quản lý report như: tạo report, update report. 4) Xuất hiện thông báo khi thực thi thành công hoặc thất bại. Điều kiện sau Hệ thống sẵn sàng cho các hoạt động sau Điểm mở rộng Không. Use-case “Chấp thuận đổi tên đề tài”. Tên Use case Chấp thuận đổi tên đề tài Actor Giáo viên, Khoa. Điều kiện đầu Cần được cấp phép. Flow cơ bản 1) Xem danh sách mong muốn ĐTĐT từ sinh viên 2) Khi giáo viên chấp thuận, gửi thông báo ĐTĐT qua. cho Khoa xem. 3) Khi Khoa chấp thuận, sinh viên được tiến hành ĐTĐT. 1) Khi giáo viên từ chối yêu cầu ĐTĐT, sinh viên sẽ không thực hiện KLTN chung với giáo viên đó nữa 2) Khi khoa từ chối, sinh viên không được tiến hành. Điều kiện sau Hệ thống sẵn sàng cho các hoạt động sau Điểm mở rộng Không. Use-case “Quản lý tài khoản”. Tên Use case Quản lý tài khoản. Điều kiện đầu Cần được cấp phép. Flow cơ bản 1) Người dùng có quản lý tài khoản của sinh viên, giáo viên. 2) Có thể thực hiện: tạo, update, xóa tài khoản. Điều kiện sau Hệ thống sẵn sàng cho các hoạt động sau Điểm mở rộng Không. Use-case “Quản lý báo cáo”. Tên Use case Quản lý báo cáo. Điều kiện đầu Cần được cấp phép. Flow cơ bản 1) Khoa có thể xem các file báo cáo đã nộp từ sinh viên. Điều kiện sau Hệ thống sẵn sàng cho các hoạt động sau Điểm mở rộng Không. Danh sách mã nộp báo cáo mà sinh viên đã nộp để lưu trữ file nộp của sinh viên.

6 file String Khi giáo viên tạo báo cáo có thể đính kèm file để sinh viên tham khảo. Nó không thể trực tiếp nói chuyện với View.Nói chung, bạn nên hiển thị dữ liệu cho ViewModel thông qua Observables. Người dùng cũng có thể được phép thực hiện các thay đổi đối với dữ liệu được trình bày cho người dùng.

Chúng bao gồm các trang tĩnh và động được hiển thị hoặc gửi cho người dùng khi người dùng yêu cầu chúng. Bộ điều khiển hiển thị chế độ xem thích hợp với dữ liệu mô hình làm phản hồi. Hiển thị các đề tài đã đăng ký hoặc đang đăng ký và nút Đăng ký nếu đề tài chưa có sinh viên đăng ký.

1. Sơ đồ lớp (Mức khái niệm)
1. Sơ đồ lớp (Mức khái niệm)