Professional Documents
Culture Documents
Báo Cáo Nhóm 5
Báo Cáo Nhóm 5
Thiết kế phần mềm đăng ký khóa học giúp quản lý đăng ký khóa học online, điểm
Giảng viên có thể tra cứu lịch học, nhập điểm cho sinh viên
Sinh viên có thể xem lịch học, xem kết quả học tập và đăng ký khóa học của mình
2 các công nghệ sử dụng
1. Git để quản lý dự án
2. Backend: sử dụng spring boot java thiết kế quản lý cơ sở dữ liệu, phần mềm intelliJ để code,
datagrip -> quản lý cơ sở dữ liệu, postman -> test api
3. frontend: visual code -> code frontend, sử dụng reactjs
Frontend gọi dữ liệu tới backend thông qua api
Link sản phẩm: http://45.13.132.247:3000/
Tk admin: admin, password:1
Tk giảng viên: giangvien, password:1
Tk sinh viên: sinhvien, password:1
Link git:
frontend: https://github.com/hieubap/fe-react-medical-education.git
Backend: https://github.com/hieubap/MedicalEducation.git
backend template: https://github.com/hieubap/libS.git
3 Phần giao diện với reactjs
Các framework: ant-design, react-router(để chuyển hướng các url), redux(lưu trữ
dữ liệu chung giữa các component), toast ( hiện thông báo)
3.1 Quyền admin hệ thống
- Các tính năng cho khóa học: tìm kiếm khóa học qua các trường thông tin, tạo mới
khóa học, xem chi tiết, chỉnh sửa khóa học, xóa khóa học
- Các màn hình quản lý khác cũng có tính năng tương tự như với khóa học
Giao diện
3.1.1.1 Tìm kiếm theo các tiêu chí
3.1.1.2 Tạo mới
3.1.1.3 Xem chi tiết
3.1.1.4 Chỉnh sửa
3.1.1.5 Xóa
3.1.2 Quản lý Môn học
Form cơ sở
3.1.5 Xếp lịch
Gồm các trường thông tin: ID, Họ tên, tên đăng nhập, trạng thái(hoạt động, khóa),
loại tài khoản, Giới tính, tuổi ,địa chỉ, SĐT, email, Ngày tạo, ngày sửa
Các tính năng: xem chi tiết, chỉnh sửa, khóa, cấp quyền giảng viên với tài khoản
sinh viên, chỉnh sửa môn giảng dạy với tài khoản là giảng viên, xóa tài khoản
Form tài khoản
Form cấp quyền giảng viên và chỉnh sửa
các môn giảng dạy cho giảng viên
3.2 Giảng viên
Xem chi tiết khóa học
Xem danh sách các lớp được phân công giảng dạy
Điểm danh cho sinh viên
Nhập điểm cho sinh viên
Xem lịch giảng dạy
Xem chi tiết khóa học
Có thể điểm danh hoặc nhập điểm cho sinh viên
Form nhập điểm
3.3 Sinh viên
Có thể xem chi tiết khóa học như
giảng viên
Đăng ký khóa học
Xem lịch học
Xem kết quả học tập
1 Khóa học
Id 2 Môn học 3 Địa điểm 4 Cơ sở
Mã Id Id Id
Tên Mã Địa điểm Tên
Id cơ sở Tên Id Cơ sở Câp cơ sở
Khai giảng Số tiết
Kết thúc Loại
Số lượng đăng ký
Giới hạn đăng ký
Học phí
Số tiết bắt buộc
Trạng thái
4.1 Các bảng được thiết kế: 8 Thông tin người dùng
Id
Tên
7 Kết quả Username
5 Lịch 6 Đăng ký
Id Password
Id Id
Id sinh viên Tuổi
Id khóa học Id sinh viên
Giới tính
Id môn học Id khóa học Id môn
Vai trò
Id giảng viên Trạng thái Số buổi điểm danh
Sđt
Thứ Tổng kết Điểm giữa kỳ
Địa chỉ
Kíp học Xếp loại Điểm cuối kỳ
email
Địa điểm Điểm tổng kết
Id khóa học hiện tại
Ảnh đại diện
Trạng thái
4.1 Các bảng được thiết kế:
các bảng sau là các bảng phụ. Ít chức năng. Không quan
trọng với hệ thống
B, Sinh viên chỉ có thể học 1 khóa học mỗi lần và phải hoàn thành hoặc hủy đăng ký thì mới có thể đăng ký các khóa khác.
Khi đăng ký khóa học một bản ghi đăng ký sẽ được tạo ra đồng thời trường id khóa học hiện tại trong bảng tài khoản của
sinh viên sẽ được gắn với khóa học mà sinh viên đó đăng ký. Khi đó hệ thống sẽ sử dụng giá trị này để check xem sinh
viên có đăng ký được khóa học nữa hay không => chỉ đăng ký khi giá trị này null
Giá trị này sẽ null khi sinh viên hoàn thành khóa hoặc hủy khóa trong thời gian đăng ký
4.2.3 các xử lý logic phía backend
C, bảng kết quả học tập: được tạo khi sinh viên đăng ký khóa học. Lúc này hệ thống lấy tất cả các môn học khóa và tạo ra
tầm đó bản ghi kết quả trong đó id môn học là các id môn của khóa và id học sinh là id của học sinh tạo đăng ký.
Giảng viên khi nhập điểm hoặc điểm danh cho sinh viên sẽ được lưu vào các bảng này
D, về việc upload ảnh đại diện. Sau khi 1 file ảnh được upload lên hệ thống, hệ thống sẽ tự sinh tên file và gắn tên file này
vào trong trường avatar của bảng tài khoản. Nên trường này ở kiểu nvarchar(255). Sau này khi ta muốn lấy ảnh thì ta gọi
api ảnh đi kèm với tên ảnh này để load ảnh về
E, việc tìm kiếm các trường thông tin dạng chuỗi xử lý được 2 kỹ tự cách xa nhau:
Vd: khóa đào tạo viện điện tử viễn thông. Khi người dùng gõ chữ khóa viễn thông chẳng hạn. Vẫn tìm được kết quả.
5 Triển khai dự án lên server
Sau khi gõ 2 lệnh trên là triển khai thành công backend lên server
Cảm ơn thầy và các bạn đã lắng nghe