# Đồ án trang web khóa học online Kmin ###### tags: `projectNodejs`, `kmin` ## :memo: 1. Các tính năng chung cho các phân hệ ### 1: Đăng ký tài khoản ###### Người dùng cần đăng ký tài khoản để có thể đăng ký khóa học, đăng khóa học, bình luận, rating.... - [ ] Email - [ ] Mật khẩu - [ ] Họ tên Email không được trùng (giống username), có thể có xác nhận OTP hoặc không nếu làm k kịp Mật khẩu được mã hóa bằng thuật toán bcrypt ### 2. Đăng nhập ### 3. Đăng xuất ### 4. Cập nhật thông tin cá nhân ### 5. Đổi mật khẩu ## :memo: 2. Phân hệ người dùng có đăng ký tài khoản ### 2.1. Lưu khóa học vào danh sách yêu thích (có thể bỏ qua) ### 2.2. Quản lý hồ sơ cá nhân ###### Xem ds khóa học yêu thích (có thể bỏ qua) ###### Thay đổi thông tin cá nhân ###### Loại bỏ khóa học ra khỏi ds yêu thích (có thể bỏ qua) ###### Xem ds các khóa học đã đăng ký ### 2.3. Tham gia khóa học ### 2.4. Đánh giá phản hồi (có thể bỏ qua) ### 2.5. Xem nội dung bài giảng ### 2.6. Xem chi tiết khóa học ### 2.7. Tìm kiếm khóa học ### 2.8. Xem ds khóa học - sử dụng kĩ thuật full text search - [ ] Có phân trang danh sách các khóa học - [ ] Theo lĩnh vực category ### 2.9. Vào được trang chủ ### 2.10. Hiển thị Menu - [ ] Hiển thị ds lĩnh vực category - [ ] Chỉ làm 2 cấp lĩnh vực (vd: design --> ui/ux, design --> AE, IT --> lập trình web, IT --> lập trình ứng dụng di động) ### 2.11. Theo dõi được quá trình học ###### Bằng cách tạo thêm một bảng mới gồm có ngày đăng ký và trạng thái hoàn thành. Nếu học xong sẽ được cấp chứng chỉ ### 2.12. Xem danh sách các chứng chỉ được nhận ## :memo: 3. Phân hệ giảng viên ### 3.1. Đăng khóa học ### 3.2. Quản lý hồ sơ cá nhân ## :memo: 4. Phân hệ quản trị viên ### 4.1. Gỡ bỏ khóa học ### 4.2. Quản lý ds sinh viên và giảng viên ### 4.3. Quản lý lĩnh vực category ### 4.4. Quản lý hồ sơ cá nhân