/Dang-Ky-Hoc-Phan-UIT

Vừa update phiên bản mới nhất 2024

Primary LanguageTypeScript

Tool Đăng Ký Học Phần UIT

Giới thiệu

Tool Đăng Ký Học Phần UIT là một ứng dụng web hỗ trợ các bạn sinh viên UIT đăng ký học phần được dễ dàng, tiện lợi. Ứng dụng gồm 2 phần chính: 1. Tool Soạn Thời Khoá Biểu (chuẩn bị cho ĐKHP) và 2. Script Đăng Ký Học Phần - hỗ trợ ĐKHP nhanh hơn đăng ký thủ công - được gen ra từ bước 1. Soạn thời khoá biểu.

Trước kia, để 1. Soạn Thời Khoá Biểu mất vài ngày, bây giờ chỉ mất vài phút, để 2. ĐKHP mất vài phút, bây giờ chỉ mất vài giây.

Các update ở phiên bản 2024

Preview

Ở phiên bản mới nhất, người dùng có thể preview Thời Khoá Biểu ngay trong Grid Danh Sách Lớp bằng 1 trong 2 cách:

1. Sử dụng tab Preview trên Sidebar image
2. Mở 2 tab browser (tiện lợi cho người có 2 màn hình) image

Selection Behavior

Ở phiên bản mới nhất:

1. Những slot bị trùng TKB sẽ không hiện checkbox (non-selectable), giúp nhanh chóng chỉ ra những lớp nào có thể chọn được image
2. Khi chọn thừa lớp cho môn, sẽ hiện các cặp lớp thừa lên Thời Khoá Biểu image
3. Có thể tương tác trực tiếp lên Thời Khoá Biểu: Click để xoá môn, Shift+Click và Ctrl+Shift+Click cho các trường hợp đặc biệt khác Những lớp chung môn cũng sẽ hiện biểu tượng icon thùng rác khi hover để nhanh chóng nhận biết lớp nào sẽ bị xoá sau khi click. image

Filters/Columns/RowGroup

Ở phiên bản mới nhất, các filters, columns, row group configs đã được cải thiện cho mượt mà hơn và hoạt động hợp lý hơn. Các configs này sẽ hiện ở 4 nơi:

1. Ngay trên Header Name của column image
2. Tab "Filters" ở Sidebar image
3. Tab "Columns" ở Sidebar image
4. Context Menu (khi click chuột phải lên Grid) image

Others

1. Chia sẻ TKB Khi bấm vào nút chia sẻ TKB, các bạn sẽ được đưa đến 1 url với query param https://dkhp-uit.vercel.app?self_selected={1 danh sách mã lớp}. Url này có thể dùng đễ lưu lại trạng thái các lớp đã chọn, hoặc chia sẻ cho bạn bè. image

NOTE: Thời Khoá Biểu hiển thị sẽ ưu tiên danh sách mã lớp trên url. Nếu bạn muốn hiển thị Thời Khoá Biểu theo các lớp được chọn ở local, phải xoá url query param đó đi (url query param có ưu tiên hiển thị cao hơn các lớp được chọn ở local).

2. Tải hình ảnh TKB về máy image
3. Copy script image

Old doc (before 2024)

Giới thiệu

Tool Đăng Ký Học Phần UIT là một ứng dụng hỗ trợ các bạn sinh viên UIT đăng ký học phần được dễ dàng, tiện lợi.

Vì sẽ có rất nhiều đối tượng sinh viên, và rất nhiều trong số đó chỉ muốn sử dụng một số tính năng nhất định của ứng dụng mà không muốn sử dụng toàn bộ ứng dụng. Do đó, các tính năng của ứng dụng đã được tách rời, làm cho không phụ thuộc vào nhau, giúp phục vụ nhiều đối tượng sinh viên nhất có thể.
Chẳng hạn, bạn master Excel, có thể tự soạn thời khoá biểu cho bản thân mình nên không cần sử dụng tính năng Soạn thời khoá biểu của ứng dụng này, thì bạn vẫn có thể sử dụng tính năng Vẽ thời khoá biểu để xem thời khoá biểu bạn đã soạn, hoặc sử dụng tính năng Tạo script ĐKHP nhanh để tạo lợi thế ĐKHP nhờ script tự động thao tác nhanh hơn so với đăng ký học phần thủ công.

Usecase

Lược đồ usecase tổng quát

Lược đồ usecase tổng quát So với usecase trên trường học thì «cần» ở đây là «include», «có thể giúp» là «extend»

Tách usecase

Lược đồ tách usecase

Phân tích tính năng

Input + Hành động người dùng + Hệ thống xử lý = Output

Tính năng Input Hành động người dùng Output
0. Tạo nguồn dữ liệu - Sử dụng dữ liệu mặc định
- Tải lên file excel
- Crawl từ trang dkhp.uit.edu.vn
Dữ liệu lớp học
1. Soạn thời khoá biểu Dữ liệu lớp học Sort, filter, pick lớp Danh sách lớp học sẽ ĐK
2. Vẽ thời khoá biểu - Dữ liệu lớp học
- Danh sách lớp học sẽ ĐK
Giao diện thời khoá biểu
- Copy to clipboard
- Tải về máy
3. Tạo script ĐKHP nhanh Danh sách lớp học sẽ ĐK Script ĐKHP nhanh
4. Xem giao diện ĐKHP Giao diện ĐKHP mẫu

Mối quan hệ giữa các tính năng

Lược đồ mối quan hệ giữa các tính năng

Tách tính năng Vẽ thời khoá biểu Lược đồ tách tính năng vẽ thời khoá biểu
Tách tính năng Tạo script ĐKHP nhanh Lược đồ tách tính năng tạo script ĐKHP nhanh

Phân rã chức năng

Lược đồ phân rã chức năng

Cấu trúc giao diện

Giao diện gồm 5 màn hình tương ứng với 5 tính năng bên trên:

  • Tính năng Tạo nguồn dữ liệu → Màn hình Tạo dữ liệu
  • Tính năng Soạn thời khoá biểu → Màn hình Soạn TKB
  • Tính năng Vẽ thời khoá biểu → Màn hình Vẽ TKB
  • Tính năng Tạo script ĐKHP nhanh → Màn hình Script ĐKHP nhanh
  • Tính năng Xem giao diện ĐKHP → Màn hình Giao diện ĐKHP

Hướng dẫn bảo trì dự án

Về thiết kế hệ thống, bảo trì các lược đồ (diagrams)

Bảo trì mã nguồn

Cách khởi chạy dự án

Code convention

Cách chạy testcase

Cập nhật thời khoá biểu mặc định