1. Trang chủ
  2. » Công Nghệ Thông Tin

BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI

73 85 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 73
Dung lượng 3,07 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • MỤC LỤC

  • DANH MỤC CÁC HÌNH VẼ

  • DANH MỤC CÁC BẢNG BI

  • THÔNG TIN KẾT QUẢ NGHIÊN CỨU

    • 1. Thông tin chung

    • 2. Mục tiêu

    • 3. Nội dung chính

    • 4. Kết quả chính đạt được

  • LỜI CẢM ƠN

  • CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI

    • 1.1 Giới thiệu đề tài

    • 1.2 Tính cấp thiết

    • 1.3 Mục tiêu đề tài

    • 1.4 Nội dung đề tài

    • 1.5 Phạm vi đề tài

  • CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG

    • 2.1 Kết quả thu thập yêu cầu

      • 2.1.1 Yêu cầu phi chức năng

      • 2.1.2 Yêu cầu chức năng

    • 2.2 Phân tích yêu cầu

    • 2.3 Biểu đồ use case tổng quát

      • 2.3.2 Đăng ký

      • 2.3.3 Đăng nhập

      • 2.3.4 Tìm kiếm

      • 2.3.5 Bình luận

      • 2.3.6 Quản lý danh mục

      • 2.3.7 Quản lý khoá học

      • 2.3.8 Quản lý bài học

      • 2.3.9 Quản lý bài tập

    • 2.4 Biểu đồ tuần tự

      • 2.4.1 Đăng ký

      • 2.4.2 Đăng nhập

      • 2.4.3 Tìm kiếm

      • 2.4.4 Bình luận

      • 2.4.5 Quản lý danh mục

      • 2.4.6 Quản lý khoá học

      • 2.4.7 Quản lý bài học

      • 2.4.8 Quản lý bài tập

  • CHƯƠNG 3 THIẾT KẾ HỆ THỐNG VỀ DỮ LIỆU

    • 3.1 Thiết kế cơ sở dữ liệu

      • 3.1.1 Nguyên tắc thiết kế cơ sở dữ liệu

      • 3.1.2 Thiết kế các collection dữ liệu

    • 3.2 Xây dựng cơ sở dữ liệu

      • 3.2.1 Lựa chọn hệ quản trị cơ sở dữ liệu

      • 3.2.2 Giới thiệu về hệ quản trị cơ sở dữ liệu MongoDB

      • 3.2.3 Xây dựng cơ sở dữ liệu với MongoDB

      • 3.2.4 Biểu đồ mối quan hệ giữa các collection trong cơ sở dữ liệu

  • CHƯƠNG 4 THIẾT KẾ VÀ XÂY DỰNG WEBSITE

    • 4.1 Các công cụ lập trình

      • 4.1.1 Môi trường phát triển

      • 4.1.2 Ngôn ngữ sử dụng

        • 4.1.2.1 HTML

        • 4.1.2.2 CSS

        • 4.1.2.3 Bootstrap

        • 4.1.2.4 JavaScript

        • 4.1.2.5 NodeJS

        • 4.1.2.6 ExpressJS

    • 4.2 Thiết kế chức năng

      • 4.2.1 Chức năng đăng ký

      • 4.2.2 Chức năng đăng nhập

      • 4.2.3 Chức năng tìm kiếm

      • 4.2.4 Chức năng bình luận

      • 4.2.5 Chức năng bài tập

    • 4.3 Thiết kế giao diện

      • 4.3.1 Giao diện trang chủ

      • 4.3.2 Giao diện đăng ký

      • 4.3.3 Giao diện đăng nhập

      • 4.3.4 Giao diện trang khoá học

      • 4.3.5 Giao diện trang quản trị

    • 4.4 Thiết kế kiểm soát

      • 4.4.1 Giới thiệu

      • 4.4.2 Nghiên cứu kiểm tra thông tin nhập, xuất

      • 4.4.3 Một số dữ liệu đã được kiểm soát khi nhập

    • 4.5 Chạy chương trình và kiểm thử

      • 4.5.1 Kịch bản kiểm thử

      • 4.5.2 Đánh giá kết quả chạy kiểm thử

  • KẾT LUẬN

    • 1. Những kết quả đạt được

    • 2. Hướng phát triển trong tương lai

  • TÀI LIỆU THAM KHẢO

Nội dung

Trong thời đại ngày nay, sự phát triển như vũ bão của công nghệ thông tin đang ảnh hưởng tới mọi mặt của đời sống xã hội. Trong đó giáo dục cũng chịu một sự tác động mạnh mẽ của công nghệ thông tin. Sự phát triển của công nghệ thông tin làm cho lượng tri thức của nhân loại tăng lên rẩt nhiều, chính vì vậy mà các phương pháp giáo dục truyền thống như “phấn trắng, bảng đen” không thể nào truyền tải được hết nội dung tri thức. Nó cũng đã mở ra nhiều phương pháp và cách dạy học mới. Vì vậy mà việc nghiên cứu đổi mới phương pháp giảng dạy bằng việc sử dụng hiệu quả của công nghệ thông tin đang là nhu cầu cấp bách trên phạm vi toàn thế giới, đặc biệt trong khi tình hình dịch Covid-19 diễn biến phức tạp như hiện nay. Trong bối cảnh đó, nếu muốn nền giáo dục nước nhà phát triển, bắt kịp và đáp ứng được trong cuộc công nghiệp hoá, hiện đại hoá của đất nước, thì nền giáo dục nước ta cần được đổi mới phương pháp dạy và học. Theo hướng vận dụng công nghệ thông tin và các thiết bị dạy học phát huy mạnh mẽ tư duy sáng tạo, kỹ năng thực hành và hứng thú học tập của học sinh, sinh viên để nâng cao chất lượng dạy học. Một trong những ngành đặc thù như Công nghệ thông tin thì việc học trực tuyến có ý nghĩa hết sức to lớn. Cũng đã có nhiều website, kênh youtube dạy lập trình trực tuyến. Tuy nhiên, các trang web này thường phải trả phí hoặc các nội dung không tập trung, khó tìm kiếm đối với người học.

Thông tin chung

Tên đề tài: Xây dựng website học lập trình miễn phí Courseuni

Sinh viên thực hiện: Đặng Đình Toàn

Lớp: Khoa học máy tính ứng dụng K61B

Hệ đào tạo: Chính quy Điện thoại: 0398064312

Email: toank61humg@gmail.com

Mục tiêu

Tạo một trang web học lập trình miễn phí dựa trên các khóa học có sẵn trên YouTube nhằm cung cấp cái nhìn tổng quát cho người học Mục tiêu chính là xây dựng các chức năng quan trọng như tìm kiếm khóa học, phân loại nội dung, và tạo không gian tương tác cho người dùng.

 Chức năng làm bài tập

Nội dung chính

Để đạt được mục tiêu của đồ án thì cần thực hiện các nội dung đó là :

 Tìm hiểu tổng quan và cơ sở lý thuyết

 Phân tích và thiết kế hệ thống

 Thiết kế và cài đặt hệ thống

Kết quả chính đạt được

Hoàn thành được những mục tiêu đặt ra

Trước tiên, em xin chân thành cảm ơn tất cả cá nhân và tổ chức đã hỗ trợ em trong quá trình học tập và nghiên cứu đề tài này Từ khi bắt đầu học tại trường, em đã nhận được sự quan tâm và giúp đỡ quý báu từ các Thầy Cô và bạn bè.

Em xin chân thành cảm ơn quý Thầy Cô bộ môn Khoa Học Máy Tính đã truyền đạt kiến thức quý báu trong suốt quá trình học tập tại trường Nhờ sự hướng dẫn tận tình của các thầy cô, đề tài nghiên cứu của em đã được hoàn thiện một cách tốt đẹp.

Xin chân thành cảm ơn cô Nguyễn Thuỳ Dương đã tận tình giúp đỡ, quan tâm và hướng dẫn em hoàn thành bài báo cáo này trong thời gian qua.

Bài báo cáo đồ án tốt nghiệp được thực hiện trong 7 tuần, trong quá trình này, em nhận thấy mình còn hạn chế và bỡ ngỡ khi tiếp cận thực tế Em rất mong nhận được ý kiến đóng góp quý báu từ quý Thầy Cô để hoàn thiện kiến thức trong lĩnh vực này, đồng thời nâng cao ý thức và kỹ năng của bản thân.

Em xin chân thành cảm ơn!

TỔNG QUAN VỀ ĐỀ TÀI

Giới thiệu đề tài

Trong thời đại công nghệ thông tin phát triển mạnh mẽ, giáo dục cũng chịu ảnh hưởng sâu sắc từ sự thay đổi này Lượng tri thức nhân loại gia tăng đáng kể, khiến các phương pháp giáo dục truyền thống như “phấn trắng, bảng đen” không còn đủ hiệu quả Công nghệ thông tin đã mở ra nhiều phương pháp giảng dạy mới, vì vậy việc nghiên cứu và đổi mới phương pháp giảng dạy bằng cách sử dụng hiệu quả công nghệ thông tin trở thành nhu cầu cấp bách toàn cầu, đặc biệt trong bối cảnh dịch Covid-19 diễn biến phức tạp.

Để nền giáo dục Việt Nam phát triển và đáp ứng yêu cầu của cuộc công nghiệp hóa, hiện đại hóa, cần đổi mới phương pháp dạy và học Việc áp dụng công nghệ thông tin và thiết bị dạy học sẽ thúc đẩy tư duy sáng tạo, kỹ năng thực hành và hứng thú học tập của học sinh, sinh viên, từ đó nâng cao chất lượng giáo dục.

Trong ngành Công nghệ thông tin, học trực tuyến đóng vai trò quan trọng Nhiều website và kênh YouTube cung cấp khóa học lập trình trực tuyến, nhưng thường yêu cầu phí hoặc có nội dung không tập trung, gây khó khăn cho người học trong việc tìm kiếm thông tin.

Tính cấp thiết

Sau nhiều lần gặp khó khăn trong việc tìm kiếm một trang web học lập trình phù hợp, tôi nhận thấy rằng một trang web giải quyết vấn đề này sẽ là bước đệm quan trọng cho những người đam mê lập trình cũng như những người dạy lập trình Chính vì lý do đó, tôi đã quyết định chọn đề tài “Xây dựng website học lập trình miễn phí Courseuni” làm đồ án tốt nghiệp của mình.

Mục tiêu đề tài

Xây dựng một trang web học lập trình miễn phí dựa trên các khoá học có sẵn trên YouTube, giúp người học có cái nhìn tổng quát về lập trình Mục tiêu chính là phát triển các chức năng cốt lõi cần thiết cho việc học tập hiệu quả.

 Chức năng đăng ký tài khoản giúp người dùng có thể đăng ký tài khoản để có thể tham gia vào các khoá học đang có trên trang web.

 Chức năng đăng nhập để người dùng có thể vào xem các nội dung bên trong của website.

 Chức năng tìm kiếm linh hoạt giúp người dùng có thể nhanh chóng tìm kiếm ra thông tin khoá học theo tên khoá học, tên bài học, tác giả.

 Chức năng bình luận để người dùng có thể bình luận, trao đổi về các bài học trong trang web.

 Chức năng quản lý danh mục để người quản trị có thể thực hiện thêm, sửa, xoá danh mục khoá học.

 Chức năng quản lý khoá học để người quản trị có thể thực hiện thêm, sửa, xoá khoá học.

 Chức năng quản lý bài học để người quản trị có thể thực hiện thêm, sửa, xoá bài học.

 Chức năng quản lý bài tập để người quản trị có thể thực hiện thêm, sửa, xoá bài tập.

Chức năng quản lý tài khoản cho phép người dùng thay đổi thông tin cá nhân như họ tên, ảnh đại diện và mật khẩu Ngoài ra, người quản trị có quyền cấm người dùng bình luận và bổ nhiệm người dùng lên làm quản trị viên.

Nội dung đề tài

 Nghiên cứu ngôn ngữ lập trình, thiết kế cơ sở dữ liệu, quy trình phát triển một website

 Học thêm và áp dụng công nghệ mới, cách sử dụng biểu đồ để hoàn thành đề tài

Phạm vi đề tài

 Phạm vi thời gian: trong thời gian làm đồ án tốt nghiệp

 Phạm vi không gian: môi trường internet

 Phạm vi nội dung: các khoá học miễn phí trên youtube ở các kênh như:

PHÂN TÍCH THIẾT KẾ HỆ THỐNG

Kết quả thu thập yêu cầu

2.1.1 Yêu cầu phi chức năng

 Trang web hoạt động liên tục

 Không cần thiết bị cấu hình cao

 Tương thích với các trình duyệt thông dụng

 Giao diện hài hoà, đơn giản, dễ sử dụng

 Trang web dễ dàng cho người quản trị quản lý các tài khoản, khoá học, bài học, bài tập.

 Trang web dễ dàng cho học viên sử dụng để tìm kiếm khoá học, học tập.

Phân tích yêu cầu

Bảng 2.1 Phân tích các chức năng chính của website

Tên chức năng Người dùng Mô tả Yêu cầu

1 Đăng ký Mọi người Đăng ký tài khoản sử dụng website

Cung cấp các thông tin

2 Đăng nhập Mọi người Đăng nhập để sử dụng website

Cung cấp tài khoản mật khẩu đã đăng ký

3 Bình luận Mọi người Bình luận, trả lời bình luận, sửa, xoá Đăng nhập vào website bình luận

Thêm, sửa, xoá danh mục Đăng nhập với tài khoản quản trị

Thêm, sửa, xoá khoá học Đăng nhập với tài khoản quản trị

Thêm, sửa, xoá bài học Đăng nhập với tài khoản quản trị

Thêm, sửa, xoá bài tập Đăng nhập với tài khoản quản trị

Biểu đồ use case tổng quát

Biểu đồ Usecase thể hiện sự tương tác giữa các use case và tác nhân, trong đó use case đại diện cho các chức năng của hệ thống, còn tác nhân có thể là con người hoặc hệ thống khác cung cấp hoặc nhận thông tin từ hệ thống Biểu đồ này tập trung vào trạng thái tĩnh của các use case và đóng vai trò quan trọng trong việc tổ chức và mô hình hóa hệ thống Do use case phản ánh yêu cầu của hệ thống từ góc nhìn người dùng, chúng là những chức năng cần thiết mà hệ thống phải có Ngoài ra, biểu đồ cũng chỉ rõ tác nhân nào khởi động use case và thời điểm tác nhân nhận thông tin từ hệ thống.

Hình 2.1 Use case tổng quát

Hình 2.2 Use case đăng ký

Use case này cho phép học viên có thể tạo tài khoản đăng nhập vào website

Khi khách hàng nhấn nút đăng ký, hệ thống sẽ hiển thị màn hình yêu cầu nhập thông tin cần thiết, bao gồm họ tên, email, mật khẩu, địa chỉ và số điện thoại.

Học viên điền thông tin và nhấn nút đăng ký, hệ thống sẽ kiểm tra email, thêm vào danh sách người dùng và hiển thị thông báo đăng ký thành công Use case kết thúc.

Tại luồng cơ bản 2, nếu thông tin người dùng không hợp lệ hoặc email đã tồn tại, hệ thống sẽ hiển thị thông báo lỗi và yêu cầu người dùng nhập lại Người dùng có thể đăng ký thành công hoặc thoát, đánh dấu sự kết thúc của use case.

Hình 2.3 Use case đăng nhập

Use case này cho phép thành viên (admin, học viên) đăng nhập vào hệ thống.

 Use case này bắt đầu khi người dùng chọn chức năng đăng nhập Hệ thống sẽ hiển thị màn hình yêu cầu nhập email và mật khẩu.

Người dùng nhập địa chỉ email và mật khẩu, sau đó nhấn nút đăng nhập Hệ thống sẽ tiến hành kiểm tra thông tin đăng nhập và nếu đúng, người dùng sẽ được chuyển đến trang chủ của website.

Trong luồng cơ bản 2, nếu người dùng nhập sai email và mật khẩu, hệ thống sẽ hiển thị thông báo lỗi và yêu cầu người dùng nhập lại thông tin Người dùng có thể tiếp tục nhập lại hoặc chọn thoát, kết thúc use case.

Hình 2.4 Use case tìm kiếm

Use case này cho học viên tìm kiếm nhanh chóng khoá học mình mong muốn theo tên khoá học, tên tác giả.

Khi học viên nhấp chuột vào ô tìm kiếm và nhập tên khóa học hoặc bài học, hệ thống sẽ hiển thị danh sách các khóa học từ bộ sưu tập courses tương ứng với từ khóa tìm kiếm khi học viên nhấn nút tìm kiếm.

 Luồng rẽ nhánh: Khi học viên nhấn nút thoát hoặc trang chủ thì Use case kết thúc.

Hình 2.5 Use case bình luận

Use case này cho phép thành viên bình luận, sửa bình luận, xoá bình luận trên mỗi bài học

Sau khi người dùng chọn bài học để xem, họ có thể sử dụng chức năng bình luận dưới video để chia sẻ ý kiến về nội dung bài học Khi người dùng nhập bình luận và nhấn nút gửi, hệ thống sẽ kiểm tra và thêm bình luận vào bộ sưu tập comments.

When a user clicks the edit comment button, a comment editing form appears, allowing them to modify the content of their comment The system then verifies the changes and updates the comments collection accordingly, concluding the use case.

 Xoá bình luận: Người dùng nhấn nút xoá bình luận trên dòng nội dung bình luận Trạng thái trong collections comments sẽ được cập nhật. Use case kết thúc

Hình 2.6 Use case quản lý danh mục

Use case này cho phép admin có thể thêm, sửa, xoá danh mục khoá học của hệ thống

Khi admin truy cập vào mục quản lý danh mục, hệ thống sẽ hiển thị danh sách các danh mục khóa học trong bộ sưu tập categories trên màn hình.

Khi người dùng nhấn nút thêm khoá học, form thêm khoá học sẽ hiển thị để nhập thông tin danh mục, bao gồm tên và mô tả danh mục Sau khi điền đầy đủ thông tin và nhấn nút thêm, hệ thống sẽ cập nhật và thêm danh mục mới vào collection categories.

When users click the edit category button, a form appears allowing them to update category information The system will then verify the entered details and update the categories collection accordingly.

 Xoá danh mục: Người dùng nhấn nút xoá trên dòng thông tin danh mục Trạng thái trong collection categories sẽ được cập nhật Use case kết thúc.

Tại luồng cơ bản 2, nếu thông tin người dùng nhập vào không hợp lệ, hệ thống sẽ hiển thị thông báo lỗi và yêu cầu người dùng nhập lại Người dùng có thể tiếp tục nhập lại thông tin hoặc chọn thoát, kết thúc use case.

 Tiền điều kiện: Tài khoản đăng nhập phải mang quyền quản trị viên

Hình 2.7 Use case quản lý khoá học

Use case này cho phép admin có thể thêm, sửa, xoá khoá học của hệ thống

Khi admin nhấn vào danh sách khoá học trong mục khoá học, hệ thống sẽ hiển thị danh sách các khoá học trong bộ sưu tập courses lên màn hình.

Khi người dùng nhấn nút "Thêm khoá học", form nhập thông tin khoá học sẽ xuất hiện Người dùng cần điền các thông tin như tên khoá học và mô tả khoá học, sau đó nhấn nút "Thêm" Hệ thống sẽ tự động thêm khoá học vào bộ sưu tập courses, kết thúc quy trình sử dụng.

Đặc tả chi tiết use case

Hình 2.10 Biểu đồ tuần tự đăng ký

Hình 2.11 Biểu đồ tuần tự đăng nhập

Hình 2.12 Biểu đồ tuần tự tìm kiếm

Hình 2.13 Biểu đồ tuần tự thêm bình luận

Hình 2.14 Biểu đồ tuần tự sửa bình luận

Hình 2.15 Biểu đồ tuần tự xoá bình luận

Hình 2.16 Biểu đồ tuần tự thêm danh mục

Hình 2.17 Biểu đồ tuần tự sửa danh mục

Hình 2.18 Biểu đồ tuần tự xoá danh mục

Hình 2.19 Biểu đồ tuần tự thêm khoá học

Hình 2.20 Biểu đồ tuần tự sửa khoá học

Hình 2.21 Biểu đồ tuần tự xoá khoá học

Hình 2.22 Biểu đồ tuần tự thêm bài học

Hình 2.23 Biểu đồ tuần tự sửa bài học

Hình 2.24 Biểu đồ tuần tự xoá bài học

Hình 2.25 Biểu đồ tuần tự thêm bài tập

Hình 2.26 Biểu đồ tuần tự sửa bài tập

Hì nh 2.27 Biểu đồ tuần tự xoá bài tập

Biểu đồ tuần tự

3.1 Thiết kế cơ sở dữ liệu

3.1.1 Nguyên tắc thiết kế cơ sở dữ liệu

 Chọn đúng thuộc tính và kiểu thuộc tính

 Chọn đúng mối liên hệ

3.1.2 Thiết kế các collection dữ liệu

Người dùng trong hệ thống được lưu trữ thông tin chi tiết bao gồm mã người dùng, tên, địa chỉ email, mật khẩu, số điện thoại, ngày sinh, giới tính, và địa chỉ Ngoài ra, thông tin về ảnh đại diện, quyền quản trị viên, tình trạng cấm bình luận, khóa học đang theo học, bài học đã hoàn thành, bài tập đã hoàn thành, thời gian tạo tài khoản và thời gian cập nhật gần nhất cũng được ghi nhận.

STT Tên Mô tả Kiểu dữ liệu Ràng buộc

1 _id Mã người dùng ObjectId Unique

2 name Tên người dùng String Required

3 email Thư điện tử String Unique

4 password Mật khẩu String Required

5 phone Số điện thoại String

THIẾT KẾ HỆ THỐNG VỀ DỮ LIỆU

Thiết kế cơ sở dữ liệu

3.1.1 Nguyên tắc thiết kế cơ sở dữ liệu

 Chọn đúng thuộc tính và kiểu thuộc tính

 Chọn đúng mối liên hệ

3.1.2 Thiết kế các collection dữ liệu

Người dùng trong hệ thống được lưu trữ thông tin bao gồm mã người dùng, tên, địa chỉ email, mật khẩu, số điện thoại, ngày sinh, giới tính, địa chỉ, ảnh đại diện, quyền quản trị, trạng thái bình luận, các khóa học đang theo học, bài học đã hoàn thành, bài tập đã hoàn thành, cùng với thời gian tạo và cập nhật gần nhất.

STT Tên Mô tả Kiểu dữ liệu Ràng buộc

1 _id Mã người dùng ObjectId Unique

2 name Tên người dùng String Required

3 email Thư điện tử String Unique

4 password Mật khẩu String Required

5 phone Số điện thoại String

9 avatar Ảnh đại diện String Required

10 isAdmin Quản trị viên Boolean Required

11 banned Cấm bình luận Boolean Required

12 learning Khoá học đang học Array

13 lsDone Bài học đã hoàn thành Array

14 exDone Bài tập đã hoàn thành Array

15 createdAt Thời gian tạo Date Required

16 updatedAt Cập nhật gần nhất Date Required

Các danh mục lưu trữ bao gồm thông tin quan trọng như mã danh mục, tên danh mục, mô tả danh mục, slug danh mục, thời gian tạo, thời gian cập nhật gần nhất, thời gian xoá và trạng thái đã xoá.

STT Tên Mô tả Kiểu dữ liệu Ràng buộc

1 _id Mã danh mục ObjectId Unique

2 name Tên danh mục String Required

3 description Mô tả danh mục String

4 slug Slug danh mục String Unique

5 createdAt Thời gian tạo Date Required

6 updatedAt Cập nhật gần nhất Date Required

7 deletedAt Thời gian xoá Date

8 deleted Đã xoá Boolean Required

Khóa học là một bộ sưu tập thông tin quan trọng, bao gồm mã khóa học, tên khóa học, mô tả chi tiết, tác giả, hình ảnh đại diện, danh mục liên quan, slug khóa học, tổng số học viên tham gia, kiến thức đạt được, thời gian tạo, thời gian cập nhật gần nhất, thời gian xóa và trạng thái đã xóa.

STT Tên Mô tả Kiểu dữ liệu Ràng buộc

1 _id Mã khoá học ObjectId Unique

2 name Tên khoá học String Required

3 description Mô tả khoá học String

6 category Danh mục ObjectId Required

7 slug Slug khoá học String Unique

8 totalStudent Tổng số học viên Int32 Required

9 obtain Kiến thức đạt được Array

10 deletedAt Thời gian xoá Date

11 deleted Đã xoá Boolean Required

12 createdAt Thời gian tạo Date Required

13 updatedAt Cập nhật gần nhất Date Required

Trong phần lưu trữ bài học, cần ghi lại các thông tin quan trọng như mã bài học, tên bài học, mã video, slug khóa học, slug bài học, thời gian tạo, thời gian cập nhật gần nhất, thời gian xóa và trạng thái đã xóa.

STT Tên Mô tả Kiểu dữ liệu Ràng buộc

1 _id Mã bài học ObjectId Unique

2 name Tên bài học String Required

3 videoId Mã video String Required

4 courseSlug Slug khoá học String Required

5 slug Slug bài học String Unique

6 createdAt Thời gian tạo Date Required

7 updatedAt Cập nhật gần nhất Date Required

8 deletedAt Thời gian xoá Date

9 deleted Đã xoá Boolean Required

Collection comments là quá trình lưu trữ các thông tin quan trọng như mã bình luận, nội dung bình luận, tên người bình luận, các câu trả lời liên quan, slug bài học, thời gian tạo và thời gian cập nhật gần nhất.

STT Tên Mô tả Kiểu dữ liệu Ràng buộc

1 _id Mã bình luận ObjectId Unique

2 content Nội dung String Required

3 commentBy Người bình luận ObjectId Required

5 lessonSlug Slug bài học String Required

6 createdAt Thời gian tạo Date Required

7 updatedAt Cập nhật gần nhất Date Required

Các bài tập được lưu trữ với thông tin chi tiết như mã bài tập, câu hỏi, đáp án, đáp án đúng, slug bài học, slug bài tập, thời gian tạo, thời gian cập nhật gần nhất và thời gian xóa.

STT Tên Mô tả Kiểu dữ liệu Ràng buộc

1 _id Mã bài tập ObjectId Unique

2 question Câu hỏi String Required

4 correct Đáp án đúng Array

5 lessonSlug Slug bài học String Required

6 slug Slug bài tập String Unique

7 createdAt Thời gian tạo Date Required

8 updatedAt Cập nhật gần nhất Date Required

9 deletedAt Thời gian xoá Date

10 deleted Đã xoá Boolean Required

Xây dựng cơ sở dữ liệu

3.2.1 Lựa chọn hệ quản trị cơ sở dữ liệu

Hệ quản trị cơ sở dữ liệu (DBMS) đóng vai trò quan trọng trong các hệ thống thông tin cần quản lý và trao đổi dữ liệu Việc sử dụng DBMS một cách hiệu quả và đúng cách là yếu tố quyết định cho sự phát triển và mở rộng của hệ thống.

Hiện nay, có nhiều hệ quản trị cơ sở dữ liệu phổ biến như MySQL, MariaDB, Oracle, MongoDB, PostgreSQL và Microsoft SQL Server, đáp ứng nhu cầu quản lý dữ liệu đa dạng của người dùng.

Với website học lập trình miễn phí em chọn hệ quản trị cơ sở dữ liệu MongoDB.

3.2.2 Giới thiệu về hệ quản trị cơ sở dữ liệu MongoDB

NoSQL, hay Cơ sở dữ liệu phi quan hệ, là loại cơ sở dữ liệu không sử dụng ngôn ngữ SQL để truy vấn Hệ quản trị cơ sở dữ liệu NoSQL áp dụng nhiều kỹ thuật lưu trữ khác nhau, bao gồm cặp khóa – giá trị trên RAM, cặp khóa – giá trị trên ổ cứng, và tài liệu/tập tin Khác với SQL, NoSQL không có các tiêu chuẩn chung thống nhất Hiện nay, cơ sở dữ liệu NoSQL ngày càng được ưa chuộng trong các ứng dụng dữ liệu lớn và nền web thời gian thực.

MongoDB là một hệ quản trị cơ sở dữ liệu mã nguồn mở thuộc loại NoSQL, được sử dụng rộng rãi với hàng triệu người dùng Nó là một cơ sở dữ liệu hướng tài liệu, trong đó dữ liệu được lưu trữ dưới dạng các document kiểu JSON MongoDB được phát triển bởi MongoDB Inc và được cấp phép theo Giấy phép Công cộng phía Máy chủ (SSPL).

Trong cơ sở dữ liệu quan hệ, chúng ta sử dụng khái niệm bảng để lưu trữ dữ liệu, như trong MySQL hay SQL Server Ngược lại, MongoDB áp dụng khái niệm collection thay vì bảng để tổ chức dữ liệu.

 So với RDBMS thì trong MongoDB collection ứng với table, còn document sẽ ứng với row , MongoDB sẽ dùng các document thay cho row trong RDBMS.

MongoDB có cấu trúc collection linh hoạt, cho phép lưu trữ dữ liệu mà không cần tuân theo một cấu trúc cố định Điều này mang lại nhiều ưu điểm cho người dùng khi sử dụng MongoDB.

Lưu trữ dữ liệu dưới dạng JSON mang lại tính linh hoạt cao, với mỗi collection có kích cỡ và các document khác nhau, giúp tối ưu hóa việc quản lý và tổ chức dữ liệu hiệu quả.

Khác với RDBMS, dữ liệu trong hệ thống này không có ràng buộc và không yêu cầu tuân theo khuôn khổ nhất định, do đó các thao tác được thực hiện với tốc độ rất nhanh.

Khi có sự hỗ trợ từ tư vấn dữ liệu, hiệu suất được cải thiện đáng kể nhờ việc các bản ghi được lưu trữ trong bộ nhớ RAM, giúp tăng tốc độ truy vấn trong các lần tiếp theo mà không cần phải truy cập từ ổ cứng.

 Rất dễ mở rộng, MongoDB dễ dàng mở rộng hệ thống bằng cách thêm node vào cluster – cụm các node chứa dữ liệu giao tiếp với nhau.

3.2.3 Xây dựng cơ sở dữ liệu với MongoDB

Dựa trên các phân tích trước đó về việc thiết kế bảng và lựa chọn hệ quản trị cơ sở dữ liệu, chúng ta sẽ tiến hành xây dựng cơ sở dữ liệu bằng MongoDB.

Cơ sở dữ liệu cần tạo trên MongoDB sẽ có tên là courseuni

Hình 3.1 Danh sách các collection dữ liệu

3.2.4 Biểu đồ mối quan hệ giữa các collection trong cơ sở dữ liệu

Hình 3.8 Biểu đồ mối quan hệ giữa các collection trong cơ sở dữ liệu

THIẾT KẾ VÀ XÂY DỰNG WEBSITE

Các công cụ lập trình

Visual Studio Code (VS Code) là một trong những trình soạn thảo mã nguồn phổ biến nhất cho lập trình viên nhờ vào tốc độ nhanh, tính năng nhẹ nhàng, khả năng hỗ trợ đa nền tảng và mã nguồn mở Những ưu điểm này đã giúp VS Code trở thành lựa chọn ưa thích của nhiều người trong cộng đồng lập trình.

 Visual Studio Code là gì?

Visual Studio Code là một trình biên tập mã nguồn miễn phí, tương thích với Windows, Linux và macOS, được phát triển bởi Microsoft Nó được coi là sự kết hợp lý tưởng giữa môi trường phát triển tích hợp (IDE) và trình biên tập mã.

Visual Studio Code cung cấp tính năng debug mạnh mẽ, tích hợp Git, hỗ trợ highlight cú pháp, tự động hoàn thành mã thông minh, và cải tiến mã nguồn Ngoài ra, người dùng có thể tùy chỉnh theme, phím tắt và các tùy chọn khác để nâng cao trải nghiệm lập trình.

 Một số tính năng của Visual Studio Code

 Hỗ trợ nhiều ngôn ngữ lập trình

Visual Studio Code hỗ trợ đa dạng ngôn ngữ lập trình như C/C++, C#, F#, Visual Basic, HTML, CSS, và JavaScript, giúp người dùng dễ dàng phát hiện lỗi trong mã nguồn và nhận thông báo kịp thời.

 Hỗ trợ đa nền tảng

Visual Studio Code là một trình viết code đa nền tảng, hoạt động hiệu quả trên cả Windows, Linux và Mac Systems, mang lại sự linh hoạt cho lập trình viên.

 Cung cấp kho tiện ích mở rộng

Nếu lập trình viên muốn sử dụng ngôn ngữ lập trình không được Visual Studio hỗ trợ, họ có thể tải xuống tiện ích mở rộng mà không làm giảm hiệu suất của phần mềm, vì các tiện ích này hoạt động như chương trình độc lập.

Kho lưu trữ an toàn là yếu tố quan trọng trong lập trình Visual Studio Code giúp người dùng yên tâm khi dễ dàng kết nối với Git hoặc các kho lưu trữ hiện có, đảm bảo an toàn cho dữ liệu của họ.

Visual Studio Code hỗ trợ nhiều ứng dụng web Ngoài ra, nó cũng có một trình soạn thảo và thiết kế website.

 Lưu trữ dữ liệu dạng phân cấp

Hầu hết các tệp lưu trữ đoạn mã được tổ chức trong các thư mục tương tự nhau, và Visual Studio Code cung cấp các thư mục dành cho những tệp quan trọng đặc biệt.

Một số đoạn code có thể được điều chỉnh để tiện lợi hơn cho người dùng Visual Studio Code sẽ cung cấp cho lập trình viên các tùy chọn thay thế nếu có sẵn.

 Hỗ trợ thiết bị đầu cuối

Visual Studio Code tích hợp terminal, giúp người dùng tiết kiệm thời gian và công sức bằng cách loại bỏ việc chuyển đổi giữa các màn hình hoặc quay về thư mục gốc trong quá trình thao tác.

Người dùng Visual Studio Code có thể mở cùng lúc nhiều tệp tin và thư mục – mặc dù chúng không hề liên quan với nhau.

Visual Studio Code nổi bật với tính năng nhắc mã Intellisense, cho phép phát hiện và bổ sung các đoạn mã không đầy đủ Nếu lập trình viên quên khai báo biến, Intellisense sẽ tự động hỗ trợ họ bằng cách thêm các cú pháp còn thiếu, giúp quá trình lập trình trở nên dễ dàng và hiệu quả hơn.

Visual Studio Code hỗ trợ kéo hoặc sao chép mã trực tiếp từ GitHub.

Mã này sau đó có thể được thay đổi và lưu lại trên phần mềm.

Việc để lại nhận xét giúp người dùng dễ dàng nhớ công việc cần hoàn thành.

 Ưu điểm của Visual Studio Code

 Hỗ trợ đa nền tảng: Windows, Linux, Mac

 Hỗ trợ đa ngôn ngữ: C/C++, C#, F#, Visual Basic, HTML, CSS, JavaScript, JSON

HTML (Ngôn ngữ đánh dấu siêu văn bản) là công cụ chính để tạo ra các tài liệu truy cập trên internet, sử dụng các thẻ và phần tử đặc trưng Tài liệu HTML được lưu trên máy chủ web với đuôi ".htm" hoặc ".html", và trình duyệt sẽ đọc và hiển thị chúng dưới dạng trang web Mặc dù các thẻ HTML không hiển thị, nội dung văn bản và các đối tượng như hình ảnh và media vẫn được trình bày rõ ràng Các trang HTML được truyền tải qua mạng internet thông qua giao thức HTTP Bên cạnh việc nhúng hình ảnh và âm thanh, HTML cũng cho phép tích hợp các ngôn ngữ kịch bản như Javascript để tạo hiệu ứng động, đồng thời kết hợp với CSS để nâng cao tính thẩm mỹ của trang web.

CSS (Cascading Style Sheets) là ngôn ngữ quy định cách trình bày cho tài liệu HTML, XHTML, XML, SVG và UML Nó xác định cách hiển thị các thẻ HTML thông qua việc thiết lập các thuộc tính như font chữ, kích thước và màu sắc Các tiêu chuẩn kỹ thuật của CSS được duy trì bởi tổ chức W3C.

CSS có cấu trúc đơn giản và sử dụng từ tiếng Anh để đặt tên thuộc tính, cho phép viết trực tiếp vào mã HTML hoặc tham chiếu từ file CSS riêng biệt Hiện nay, CSS thường được lưu trữ trong tập tin có đuôi ".css", giúp mã HTML trở nên ngắn gọn hơn Một tập tin CSS có thể được sử dụng cho nhiều website, tiết kiệm thời gian và công sức Đặc biệt, tính kế thừa của CSS giúp giảm số lượng dòng code mà vẫn đáp ứng được yêu cầu thiết kế.

Các trình duyệt hiểu CSS theo cách riêng của mình, dẫn đến việc nội dung hiển thị không đồng nhất trên các nền tảng khác nhau Tuy nhiên, CSS cung cấp hàng trăm thuộc tính trình bày, cho phép người dùng sáng tạo và kết hợp các thuộc tính để đạt được hiệu quả tối ưu trong thiết kế.

 Bootstrap là một framework front-end miễn phí giúp phát triển các ứng dụng web nhanh và dễ dàng hơn.

 Bootstrap bao gồm các mẫu thiết kế dựa trên HTML và CSS như typography, form, button, table, navigation, modal, image carousels cũng như các plugins JavaScript tuỳ ý.

 Bootstrap cung cấp cho bạn khả năng thiết kế web responsive một cách dễ dàng.

Thiết kế chức năng

Người dùng điền thông tin vào form đăng ký và nhấn nút đăng ký Nếu thông tin nhập sai, hệ thống sẽ hiển thị cảnh báo để người dùng chỉnh sửa Khi thông tin được nhập chính xác, người dùng sẽ nhận được thông báo đăng ký thành công.

Người dùng có thể đăng nhập vào hệ thống bằng tài khoản đã đăng ký, từ đó truy cập và xem các khóa học cùng bài học có sẵn trên trang web.

Người dùng nhập từ khoá tìm kiếm vào form tìm kiếm Các khoá học thoả mãn từ khoá tìm kiếm sẽ được hiển thị.

Học viên có thể tương tác và chia sẻ thông tin về bài học với các bạn học khác thông qua phần bình luận dưới mỗi bài học.

Sau khi hoàn thành bài học, học viên sẽ có các bài tập để thực hành Đối với bài tập thực hành, học viên sẽ áp dụng kiến thức đã học để giải quyết đề bài Còn với bài tập trắc nghiệm, học viên có thể kiểm tra đáp án của mình để biết đúng hay sai.

Thiết kế giao diện

Nguyên tắc thiết kế giao diện

 Sử dụng từ ngữ mang tính đại chúng

Tất cả từ ngữ trên một trang web chuyên nghiệp cần phải dễ hiểu và chính xác về ngữ pháp, tránh sử dụng ẩn dụ và cần mang tính chất đại chúng Hơn nữa, nên hạn chế việc dùng từ ngữ mang tính chất vùng miền.

Sử dụng từ ngữ đại chúng hợp lý giúp thu hút người truy cập, giữ chân họ lâu hơn trên trang web, từ đó tăng doanh thu và lượng khách hàng.

Khách hàng khi truy cập website chưa biết về thương hiệu và sản phẩm của bạn, vì vậy nội dung cần phải súc tích, dễ hiểu và dễ truyền tải để thu hút sự chú ý của họ.

 Phân bổ bố cục nội dung hợp lý

Người truy cập có thể truy cập trang web từ nhiều thiết bị khác nhau như điện thoại, laptop, máy tính bàn và smart TV Do đó, việc tối ưu hóa kỹ thuật phân bổ nội dung trên các thiết bị là rất quan trọng Trình bày quá nhiều nội dung trên một trang có thể gây rối và không hợp lý, trong khi việc để trống quá nhiều phần cũng gây khó chịu cho người truy cập Những yếu tố này có thể làm giảm mức độ tương tác của khách hàng.

Nên tìm hiểu các ý kiến chuyên gia từ các đơn vị thiết kế giao diện website chuyên nghiệp để biết thêm và nhờ họ tư vấn giúp đỡ.

 Tránh lạm dụng hiệu ứng hình ảnh

Ngày nay, nhiều website thường sử dụng hiệu ứng hình ảnh động, JavaScript hoặc Flash để tạo sự thu hút Tuy nhiên, cần phải tiết chế và tránh làm cho trang web trở nên rối mắt như một trang PowerPoint vụng về, gây mất tập trung cho người dùng.

Tùy thuộc vào đối tượng mà website phục vụ, việc lựa chọn hình ảnh và hiệu ứng phù hợp là rất quan trọng Hãy làm nổi bật những nội dung cần thiết để thu hút sự chú ý của khách hàng vào thông điệp và sản phẩm mà doanh nghiệp muốn truyền tải.

 Luôn luôn theo dõi quá trình web vận hành

Luôn theo dõi và khắc phục kịp thời các lỗ hổng trên trang web khi phát hiện Đảm bảo theo dõi các thông số của trang để đánh giá hiệu quả hoạt động của website.

 Tương thích mọi loại thiết bị

Nhiều trang web hiện nay được thiết kế kém, chỉ hoạt động tốt trên laptop nhưng lại gặp vấn đề giao diện khi truy cập trên điện thoại di động, hoặc không tương thích với các trình duyệt web khác nhau.

Yếu tố độ phân giải màn hình của các trình duyệt có ảnh hưởng lớn đến website của bạn, có thể gây hỏng bố cục Vì vậy, lập trình viên cần chú ý đến vấn đề này, để thiết kế website chuẩn, đảm bảo tương thích với nhiều độ phân giải màn hình khác nhau.

Một trang web chuyên nghiệp cần phải chuẩn SEO để dẫn đầu trên các công cụ tìm kiếm như Google và Yahoo Để xác định thứ hạng trên kết quả tìm kiếm, các bộ máy này sẽ xem xét nội dung của trang web và đối tượng khách hàng mà nó phục vụ Do đó, trang web phải đáp ứng các tiêu chí đánh giá của công cụ tìm kiếm, bao gồm việc lặp lại các từ khóa tìm kiếm trong các bài đăng và đảm bảo nội dung hình ảnh rõ ràng và thống nhất.

 Tối ưu thời gian tải trang

Để tối ưu hóa trải nghiệm người dùng, thiết kế giao diện website cần chú trọng vào thời gian tải trang Tránh việc chèn quá nhiều GIF, video hay audio, và hãy lựa chọn hình ảnh, âm thanh, video một cách cẩn thận Việc này sẽ giúp website của bạn tải nhanh hơn, giữ chân người dùng lâu hơn.

Có thể cài đặt các công cụ hỗ trợ để điều chỉnh dung lượng file media, giúp tối ưu hóa không gian lưu trữ trên website.

Trang chủ của website gồm những thông tin chung về tổng số học viên, tổng số khoá học, các khoá học nổi bật

Hình 4.5 Giao diện trang chủ

Trang đăng ký tài khoản giúp người dùng tạo tài khoản để đăng nhập vào website

Hình 4.6 Giao diện đăng ký

Trang đăng nhập cho phép người dùng truy cập vào các nội dung bên trong website, bao gồm việc xem bài học, bình luận về bài học và thực hiện các bài tập.

Hình 4.7 Giao diện đăng nhập

4.3.4 Giao diện trang khoá học

Trang khoá học hiển thị danh mục khoá học và các khoá học hiện có.

Hình 4.8 Giao diện trang khoá học

4.3.5 Giao diện trang quản trị

Trang quản trị cung cấp cho quản trị viên khả năng vận hành hệ thống hiệu quả, cho phép truy cập vào các chức năng quan trọng như quản lý tài khoản, danh mục, khoá học, bài học và bài tập.

Hình 4.9 Giao diện trang quản trị

Thiết kế kiểm soát

Để đảm bảo tính chính xác trong mọi hoạt động của hệ thống, cần nghiên cứu và thực hiện các biện pháp kiểm soát cần thiết nhằm đối phó với những nguy cơ tiềm ẩn.

 Mất mát và sai lệch thông tin.

 Những lỗi sai xảy ra trong quá trình xuất, nhập thông tin.

 Các khía cạnh cơ bản trong thiết kế kiểm soát bao gồm:

Để đảm bảo độ chính xác, cần kiểm tra từng thao tác đang thực hiện để xác nhận rằng chúng được tiến hành đúng cách, đồng thời xác minh tính chính xác của các thông tin đang được lưu trữ và xử lý trong cơ sở dữ liệu.

 Độ an toàn: đảm bảo rằng không thể mất mát thông tin trong mọi tình huống do vô tình hay cố ý hoặc do những rủi ro ngẫu nhiên.

 Độ riêng tư: kiểm tra việc bảo vệ các quyền của cá nhân, của tập thể.

4.4.2 Nghiên cứu kiểm tra thông tin nhập, xuất

Mọi thông tin xuất nhập cần được kiểm tra để đảm bảo tính xác thực Thông thường, việc kiểm tra diễn ra tại các điểm thu nhận thông tin, trung tâm xử lý, và nơi phân phát thông tin Mục đích của việc này là phát hiện và khắc phục các lỗi đã phát hiện.

- Kiểm tra thủ công: có thể dùng phương án kiểm tra đầy đủ hoặc ngẫu nhiên.

Kiểm tra bằng máy có hai phương thức chính: phương thức trực tiếp, trong đó sử dụng các ràng buộc toàn vẹn để đảm bảo tính chính xác, và phương thức gián tiếp, thông qua việc tham khảo các thông tin đã được kiểm tra trước đó.

Khi thực hiện kiểm tra, thường tiến hành kiểm tra trực tiếp trước, sau đó là kiểm tra gián tiếp Trong kiểm tra trực tiếp, cần chú ý đến sự hiện diện của giá trị, khuôn dạng, kiểu giá trị và miền giá trị Ngược lại, kiểm tra gián tiếp tập trung vào các ràng buộc và mối liên hệ logic giữa các thông tin trong hệ thống.

4.4.3 Một số dữ liệu đã được kiểm soát khi nhập

Khi người dùng đăng ký, nếu nhập email đã tồn tại trong CSDL hoặc mật khẩu quá ngắn, hệ thống sẽ hiển thị thông báo lỗi Ngược lại, nếu người dùng nhập địa chỉ email mới và mật khẩu từ 6 ký tự trở lên, quá trình đăng ký sẽ được hoàn tất thành công.

Hình 4.10 Kiểm soát dữ liệu đăng ký Ở phần thay đổi mật khẩu, người dùng bắt buộc phải nhập đẩy đủ và chính xác các trường

Hình 4.11 Kiểm soát dữ liệu đổi mật khẩu

Trong phần thêm khoá học, người dùng bắt buộc nhập vào tên khoá học và tải lên hình ảnh khoá học

Hình 4.12 Kiểm soát dữ liệu thêm khoá học

Chạy chương trình và kiểm thử

 Kiểm thử tính tương thích

 Kiểm thử cơ sở dữ liệu

4.5.2 Đánh giá kết quả chạy kiểm thử

 Kiểm thử chức năng: website đáp ứng hầu hết các chức năng đề xuất

 Kiểm thử tính tương thích: website với hai đối tượng chính là học viên và quản trị viên

Học viên có thể truy cập hầu hết các chức năng trên nhiều thiết bị như máy tính, máy tính bảng và điện thoại, miễn là có kết nối internet.

Đối với quản trị viên, các chức năng chủ yếu được cung cấp trên máy tính và máy tính bảng có kết nối internet, trong khi trang web quản trị không được thiết kế để tương thích với điện thoại di động.

 Kiểm thử cơ sở dữ liệu: tối ưu cơ sở dữ liệu

 Kiểm thử hiệu năng trên localhost:

 Tốc độ xử lý nhanh, website hoạt động ổn định

 Tiêu tốn ít tài nguyên máy khách

Ngày đăng: 11/07/2021, 12:22

HÌNH ẢNH LIÊN QUAN

 Không cần thiết bị cấu hình cao - BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI
h ông cần thiết bị cấu hình cao (Trang 14)
Hình 2.2 Usecase đăng ký - BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI
Hình 2.2 Usecase đăng ký (Trang 16)
Hình 2.1 Usecase tổng quát - BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI
Hình 2.1 Usecase tổng quát (Trang 16)
Hình 2.3 Usecase đăng nhập - BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI
Hình 2.3 Usecase đăng nhập (Trang 17)
Hình 2.5 Usecase bình luận - BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI
Hình 2.5 Usecase bình luận (Trang 19)
Hình 2.8 Usecase quản lý bài học - BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI
Hình 2.8 Usecase quản lý bài học (Trang 23)
Hình 2.10 Biểu đồ tuần tự đăng ký - BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI
Hình 2.10 Biểu đồ tuần tự đăng ký (Trang 26)
Hình 2.11 Biểu đồ tuần tự đăng nhập - BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI
Hình 2.11 Biểu đồ tuần tự đăng nhập (Trang 27)
Hình 2.15 Biểu đồ tuần tự xoá bình luận - BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI
Hình 2.15 Biểu đồ tuần tự xoá bình luận (Trang 30)
Hình 2.14 Biểu đồ tuần tự sửa bình luận  Xoá bình luận - BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI
Hình 2.14 Biểu đồ tuần tự sửa bình luận  Xoá bình luận (Trang 30)
Hình 2.16 Biểu đồ tuần tự thêm danh mục - BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI
Hình 2.16 Biểu đồ tuần tự thêm danh mục (Trang 31)
Hình 2.17 Biểu đồ tuần tự sửa danh mục  Xoá danh mục - BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI
Hình 2.17 Biểu đồ tuần tự sửa danh mục  Xoá danh mục (Trang 32)
Hình 2.21 Biểu đồ tuần tự xoá khoá học - BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI
Hình 2.21 Biểu đồ tuần tự xoá khoá học (Trang 34)
Hình 2.22 Biểu đồ tuần tự thêm bài học - BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI
Hình 2.22 Biểu đồ tuần tự thêm bài học (Trang 35)
Hình 2.25 Biểu đồ tuần tự thêm bài tập - BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI
Hình 2.25 Biểu đồ tuần tự thêm bài tập (Trang 37)
Bảng 3.4 Collection lessons - BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI
Bảng 3.4 Collection lessons (Trang 42)
Hình 3.3 Collection categories   collection courses - BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI
Hình 3.3 Collection categories  collection courses (Trang 47)
Hình 3.2 Collection users   collection categories - BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI
Hình 3.2 Collection users  collection categories (Trang 47)
Hình 3.5 Collection lessons - BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI
Hình 3.5 Collection lessons (Trang 48)
Hình 3.7 Collection exercises - BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI
Hình 3.7 Collection exercises (Trang 49)
Hình 3.6 Collection comments   collection exercises - BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI
Hình 3.6 Collection comments  collection exercises (Trang 49)
 Màn hình đa nhiệm - BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI
n hình đa nhiệm (Trang 53)
Hình 4.4 Cấu trúc ExpressJS Cấu trúc của express js vô cùng đơn giản: - BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI
Hình 4.4 Cấu trúc ExpressJS Cấu trúc của express js vô cùng đơn giản: (Trang 61)
Hình 4.5 Giao diện trang chủ - BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI
Hình 4.5 Giao diện trang chủ (Trang 64)
Hình 4.8 Giao diện trang khoá học - BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI
Hình 4.8 Giao diện trang khoá học (Trang 66)
Hình 4.9 Giao diện trang quản trị - BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI
Hình 4.9 Giao diện trang quản trị (Trang 67)
Hình 4.11 Kiểm soát dữ liệu đổi mật khẩu - BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI
Hình 4.11 Kiểm soát dữ liệu đổi mật khẩu (Trang 69)
Hình 4.10 Kiểm soát dữ liệu đăng ký - BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI
Hình 4.10 Kiểm soát dữ liệu đăng ký (Trang 69)
Hình 4.12 Kiểm soát dữ liệu thêm khoá học - BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE HỌC LẬP TRÌNH MIỄN PHÍ COURSEUNI
Hình 4.12 Kiểm soát dữ liệu thêm khoá học (Trang 70)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w