
Choose Your Desired Option(s)
Become a SourceCodec member for full access. Your first 7 days are free.
Code website mua bán khóa học trực tuyến bằng NodeJS
Với source code nayg, người dùng có thể mua và học các khóa học trực tuyến, giảng viên có thể tạo và quản lý khóa học của mình dễ dàng
Môi trường sử dụng: Web browser
4 actors chính: Guest, Người dùng, Giảng viên, Admin
Dữ cần quản lý: Thông tin người dùng, thông tin của giảng viên, thông tin của admin, thông tin của khóa học

trang chủ
Chức năng:
- Chức năng của Guest:
- Đăng ký tài khoản
- Hệ thống menu
- Trang chủ
- Xem danh sách khóa học
- Tìm kiếm khóa học
- Xem chi tiết khóa học
- Chức năng của Người dùng:
- Toàn bộ chức năng của Guest
- Lưu khóa học vào danh sách yêu thích
- Quản lý hồ sơ cá nhân
- Tham gia khóa học
- Đánh giá & phản hồi khóa học
- Xem nội dung bài giảng
- Chức năng của Giảng viên:
- Toàn bộ chức năng của Guest
- Đăng khóa học
- Bổ sung thông tin, bài giảng cho khóa học
- Quản lý hồ sơ cá nhân
- Chức năng của Admin
- Quản lý lĩnh vực category
- Quản lý khóa học
- Quản lý danh sách học viên, giảng viên
- Các tính năng chung cho phân hệ Người dùng, Giảng viên, Admin
- Đăng nhập/đăng xuất
- Cập nhật thông tin cá nhân
- Đổi mật khẩu
- Chi tiết truy cập: https://hackmd.io/@nndkhoa9/web-online-academy

Giao diện chi tiết khóa học
- Yêu cầu công nghệ để chạy thử Web server
- Cài đặt NodeJs
- Cài đặt MongoDB Local(Có thể cài đặt thêm MongoDBCompass một GUI giúp tương tác với data) hoặc sử dụng MongoDB Atlas
- Tạo database WEBCTT2(Xem trong file ./source/user-guest/code/config/key.config.js để biết thêm chi tiết)
- Tạo các collection có tên trùng với tên file trong thư mục ./source/database
- Import *.json tương ứng vào các collection vừa tạo
- Đi tới đường dẫn ./source/user-guest/code và gõ lệnh npm install(Tự động cài đặt các package cần thiết để chạy server)
- Đi tới đường dẫn ./source/admin/ vã gõ lệnh npm install(Tự động cài đặt các package cần theiest để chạy server)
- Khởi chạy server trang web
- Khởi chạy server cho trang web của Guest và Người dùng
- Đi tới đường dẫn ./source/user-guest/code
- Chạy lệnh npm start
- Lúc này sẽ có một thông báo xuất hiện trên console cho biết số port mà server đang lắng nghe người dùng connect (cụ thể là port 8000 và có thể được đổi lại trong file app.js)
- Mở trình duyệt và truy cập vào đường dẫn http://localhost:8000
- Khởi chạy server cho trang web của admin và quản lý rạp chiếu
- Đi tới đường dẫn ./source/admin/
- Chạy lệnh npm start
- Lúc này sẽ có một thông báo xuất hiện trên console cho biết số port mà server đang lắng nghe người dùng connect (cụ thể là port 8001 và có thể được đổi lại trong file app.js)
- Mở một trình duyệt khác với trình duyệt đã sử dụng cho server Người dùng(vd: Microsofe Edge and Goolge Chorme) và truy cập vào đường dẫn http://localhost:8001/admin/login
- Khởi chạy server cho trang web của Guest và Người dùng

Giao diện thanh toán khóa học
Công nghệ được sử dụng
- Phía font-end
- Sử dụng HTML/CSS/JS/JQuery để code giao diện(Các mẫu giao diện được tham khảo từ https://bootsnipp.com/
- Sử dụng view-engine ejs(Cho phép người dùng thêm code JS vào đoạn code HTML)
- Phía backend
- Quản lý server: NodeJS express
- Xác thực tài khoản: PassportJS
- Xử lý lỗi: Error handler
- Quản lý phiên đăng nhập: express-session
- Các API được sử dụng trong đồ án:
- Xác thực tài khoản bằng gmail: Google API, node-mailer
- Quản lý hóa đơn + Thanh toán: PayPal/rest/API (tuy nhiên, việc thanh toán chỉ được thực hiện bằng tài khoản sandbox)
- Upload và lưu trữ ảnh đại diện: sử dụng API Bootstrap File Input – Tác giả Krajee
- Lưu trữ hình ảnh, bài giảng sử dụng Cloudinary API
- Phía font-end

Giao diện danh sách khóa học yêu thích

Giao diện đăng nhập

Giao diện hồ sơ cá nhân
Phân hệ admin, giảng viên

Giao diện quản lý danh sách khóa học
| Download Category | NodeJS |
| Product Homepage URL→ | |
| Product Version | |
| File Type | JS, JSON, HTML, MP4, JPEG |
| File Size | 66 MB |
| Developer | |
| Documentation |





