1. Trang chủ
  2. » Luận Văn - Báo Cáo

đồ án 1 phát triển ứng dụng mô hình mentorship hỗ trợ trong trường học ngành công nghệ thông tin

43 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Phát triển ứng dụng mô hình mentorship hỗ trợ trong trường học ngành công nghệ thông tin
Tác giả Lê Trung Hiếu
Người hướng dẫn Nguyễn Thị Thanh Trúc
Trường học Trường Đại học Công nghệ Thông tin - Đại học Quốc gia Thành phố Hồ Chí Minh
Chuyên ngành Công nghệ thông tin
Thể loại Đồ án 1
Năm xuất bản 2023
Thành phố Hồ Chí Minh
Định dạng
Số trang 43
Dung lượng 1,47 MB

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN (10)
    • 1.1. Đặt vấn đề (10)
    • 1.2. Lý do chọn đề tài (10)
    • 1.3. Mục tiêu đề tài (10)
    • 1.4. Đối tượng nghiên cứu (10)
      • 1.4.1. Các công nghệ (10)
      • 1.4.2. Đối tượng sử dụng (11)
  • CHƯƠNG 2. CƠ SỞ LÝ THUYẾT (12)
    • 2.1. Lý thuyết về phương pháp cố vấn (12)
    • 2.2. ReactJS (12)
    • 2.3. Typescript (13)
    • 2.4. React Query (14)
    • 2.5. Zustand (15)
    • 2.6. NestJs (16)
    • 2.7. TypeORM (17)
    • 2.8. Video call và chat sdk (19)
  • CHƯƠNG 3. XÂY DỰNG HỆ THỐNG (21)
    • 3.1. Kiến trúc (21)
    • 3.2. Phân tích hệ thống (22)
      • 3.2.1. Sơ đồ Usecase (22)
      • 3.2.2. Mô tả usecase (26)
        • 3.2.2.1. Đăng ký tài khoản (26)
        • 3.2.2.2. Đăng nhập (27)
        • 3.2.2.3. Đăng xuất (27)
        • 3.2.2.4. Đăng ký làm mentor (28)
        • 3.2.2.5. Tìm kiếm mentor (28)
        • 3.2.2.6. Xem hồ sơ mentor (29)
        • 3.2.2.7. Xem chi tiết chương trình cố vấn (29)
        • 3.2.2.8. Đăng ký phiên cố vấn với mentor (31)
        • 3.2.2.9. Hủy đăng ký phiên cố vấn với mentor (31)
        • 3.2.2.10. Xác nhận hoàn thành phiên cố vấn (32)
        • 3.2.2.11. Đánh giá phiên cố vấn (32)
        • 3.2.2.12. Nạp xu qua ngân hàng (33)
        • 3.2.2.13. Duyệt phiên cố vấn của mentee (34)
        • 3.2.2.14. Tạo nội dung cố vấn (34)
        • 3.2.2.15. Quản lý chương trình cố vấn (35)
        • 3.2.2.16. Rút coin (36)
        • 3.2.2.17. Kiểm duyệt tài khoản mentor (37)
      • 3.2.3. Cơ sở dữ liệu (38)
        • 3.2.3.1. Nhóm chức năng quản lý user (38)
        • 3.2.3.2. Nhóm nhức năng quản lý phiên cố vấn (39)
        • 3.2.3.3. Nhóm chức năng giao dịch (40)
  • CHƯƠNG 4. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (41)
    • 4.1. Kết quả đạt được (41)
      • 4.1.1. Kiến thức (41)
      • 4.1.2. Sản phẩm (41)
    • 4.2. Ưu điểm (41)
    • 4.3. Nhược điểm (41)
    • 4.4. Hướng phát triển (41)
  • TÀI LIỆU THAM KHẢO (43)

Nội dung

Với lí do trên, em quyết định chọn đề tài này để phát triển một ứng dụng trực tuyến kết nối giữa mentor người hướng dẫn và mentee người cần hướng dẫn có tên là urMentor Your Mentor, sử d

TỔNG QUAN

Đặt vấn đề

Trong lĩnh vực công nghệ thông tin (CNTT), việc học hỏi và phát triển là vô cùng quan trọng Tuy nhiên, với sự phát triển nhanh chóng của ngành, việc tự học và tự phát triển có thể gặp nhiều khó khăn Trong bối cảnh đó, mô hình mentorship (cố vấn - học trò) trở thành một giải pháp hiệu quả để hỗ trợ sinh viên ngành CNTT trong quá trình học tập và phát triển.

Lý do chọn đề tài

Hiện nay có rất nhiều ứng dụng mô hình mentorship, nhưng trong trường học CNTT vẫn chưa có một ứng dụng cụ thể về mô hình này để kết nối những sinh viên có nhu cầu học tập, học hỏi kinh nghiệm từ những sinh viên giỏi, có kinh nghiệm hơn cả trong học tập và sự nghiệp

Với lí do trên, em quyết định chọn đề tài này để phát triển một ứng dụng trực tuyến kết nối giữa mentor (người hướng dẫn) và mentee (người cần hướng dẫn) có tên là urMentor (Your Mentor), sử dụng trong môi trường trường học CNTT

Mục tiêu đề tài

Xây dựng được một nền tảng giúp sinh viên hoặc giảng viên trong trường có thể kết nối được với nhau, giúp đỡ mentee phát triển trong vấn đề học tập và sự nghiệp của họ

Đối tượng nghiên cứu

• Front-end: ReactJS, Typescript, Zustand, React-query, Tailwind-css

• Back-end: Nestjs, Typescript, TypeORM

• Người cố vấn (mentor): sinh viên, giảng viên muốn chia sẻ kiến thức, kinh nghiệm cho sinh viên khác

• Người được hướng dẫn (mentee): sinh viên muốn tìm một người mentor có thể giúp họ có phát triển kiến thức, kinh nghiệm, định hướng nghề nghiệp

• Quản trị viên (admin): người thực hiện các tác vụ quản lý hệ thống (tài khoản mentor, mentee, lĩnh vực, kỹ năng, giao dịch, mã quà tặng)

CƠ SỞ LÝ THUYẾT

Lý thuyết về phương pháp cố vấn

Một vài cách tiếp cận phổ biến về phương pháp cố vấn:

Cố vấn 1-1: Phương pháp này bao gồm một người cố vấn làm việc chặt chẽ với từng người được cố vấn, hỗ trợ và cung cấp các hướng dẫn, lời khuyên được cá nhân hóa phù hợp với nhu cầu và mục tiêu của người được cố vấn

Cố vấn theo nhóm: Trong phương pháp này, một người cố vấn làm việc với một nhóm nhỏ những người được cố vấn cùng một lúc Tư vấn nhóm khuyến khích việc học tập lẫn nhau, sự hợp tác và ý thức chung giữa những người được cố vấn

Cố vấn đảo ngược: Phương pháp này hướng đến việc kết nối một cá nhân trẻ hoặc ít kinh nghiệm hơn với một người cố vấn cao cấp và sở hữu nhiều kinh nghiệm hơn Thông qua phương pháp này, người cố vấn có thể hiểu rõ hơn về các xu hướng và công nghệ mới nổi trội, trong khi người được cố vấn được hưởng lợi từ sự kiến thức và kinh nghiệm của người cố vấn

Cố vấn ảo: Bằng việc sử dụng công nghệ, người cố vấn và người được cố vấn có thể tham gia vào các mối quan hệ cố vấn bất kể các vấn đề liên quan đến vị trí địa lý.

ReactJS

ReactJS là một thư viện JavaScript mã nguồn mở và miễn phí để xây dựng giao diện người dùng dựa trên các thành phần UI riêng lẻ Nó được phát triển và duy trì bởi Meta và cộng đồng các nhà phát triển và công ty cá nhân

ReactJS được sử dụng để xây dựng các ứng dụng web, ứng dụng di động và các ứng dụng web cho thiết bị di động Nó là một trong những thư viện JavaScript phổ biến nhất hiện nay, được sử dụng bởi các công ty lớn như Facebook, Instagram, Netflix, Airbnb,

Hình 2.1: ReactJs ReactJS có một số tính năng nổi bật, bao gồm:

• Khả năng tái sử dụng cao: ReactJS sử dụng mô hình component- based, cho phép các nhà phát triển tạo các thành phần UI có thể tái sử dụng trong nhiều ứng dụng khác nhau

• Tốc độ nhanh: ReactJS sử dụng virtual DOM để tối ưu hóa việc cập nhật giao diện người dùng, giúp các ứng dụng chạy nhanh và mượt mà

• Dễ học: ReactJS có cú pháp đơn giản và dễ hiểu, giúp các nhà phát triển mới bắt đầu dễ dàng học hỏi.

Typescript

TypeScript là một ngôn ngữ lập trình mã nguồn mở được phát triển và duy trì bởi Microsoft Nó là một tập hợp siêu cú pháp nghiêm ngặt của JavaScript và thêm tính năng kiểu tĩnh tùy chọn vào ngôn ngữ TypeScript được thiết kế để phát triển các ứng dụng lớn và chuyển đổi sang JavaScript Đặc điểm nổi bật của TypeScript

• Kiểu dữ liệu tĩnh: TypeScript cho phép bạn xác định kiểu dữ liệu của biến, tham số, và giá trị trả về từ hàm Điều này giúp phát hiện lỗi nhanh chóng trong quá trình phát triển và tăng tính rõ ràng của mã nguồn

• Tính mở rộng của JavaScript: TypeScript là một superset của

JavaScript, điều này có nghĩa là mã nguồn JavaScript hợp lệ cũng là mã nguồn TypeScript hợp lệ Bạn có thể chuyển từ JavaScript sang TypeScript dần dần trong dự án mà không cần phải chuyển đổi toàn bộ mã nguồn cùng một lúc

• Tích hợp với các công cụ phát triển: TypeScript có thể tích hợp dễ dàng với các công cụ phát triển như Visual Studio Code, Sublime Text, và các trình biên dịch khác để cung cấp trải nghiệm phát triển tốt hơn

• Kiểm tra kiểu tại thời điểm biên dịch: TypeScript thực hiện kiểm tra kiểu tại thời điểm biên dịch, giúp phát hiện lỗi trước khi chạy chương trình, giảm số lượng lỗi xảy ra tại thời điểm chạy

React Query

Hình 2.3: React Query React Query là một thư viện quản lý trạng thái và dữ liệu cho ứng dụng React

Nó được thiết kế để giải quyết các vấn đề liên quan đến việc tương tác với dữ liệu

9 từ các nguồn khác nhau, như API, và giúp quản lý trạng thái ứng dụng một cách hiệu quả

Dưới đây là một số đặc điểm nổi bật của React Query:

• Quản lý trạng thái dữ liệu dễ dàng: React Query giúp bạn quản lý trạng thái dữ liệu của ứng dụng một cách dễ dàng và hiệu quả Việc sử dụng các hooks như useQuery và useMutation giúp tối ưu hóa quá trình quản lý trạng thái và tương tác với dữ liệu

• Giảm boilerplate code: Thư viện này giảm bớt số lượng boilerplate code cần thiết để xử lý các tác vụ phổ biến như lấy dữ liệu từ API, caching, và tự động làm mới dữ liệu Điều này giúp mã nguồn trở nên ngắn gọn, dễ đọc, và dễ bảo trì hơn

• Tích hợp mạnh mẽ với React: React Query được thiết kế để hoạt động chặt chẽ với React, sử dụng các hooks để cung cấp khả năng quản lý trạng thái và tương tác dữ liệu Điều này giúp đơn giản hóa quá trình tích hợp và sử dụng trong dự án React

• Hỗ trợ caching và làm mới dữ liệu: React Query có hệ thống caching mạnh mẽ, giúp tránh việc gửi các yêu cầu dữ liệu lặp lại và tối ưu hóa hiệu suất ứng dụng Nó cũng hỗ trợ tự động làm mới dữ liệu để đảm bảo rằng trạng thái dữ liệu luôn được cập nhật

• Xử lý side effects dễ dàng: React Query cung cấp các hooks như useMutation để xử lý các tác vụ phụ (side effects) như tạo mới, cập nhật, xóa dữ liệu một cách dễ dàng và có tổ chức

• DevTools hỗ trợ: React Query đi kèm với DevTools giúp theo dõi và debug trạng thái dữ liệu và các yêu cầu từ API một cách hiệu quả.

Zustand

Zustand là một thư viện quản lý trạng thái cho ứng dụng React Nó giúp quản lý trạng thái ứng dụng một cách dễ dàng và linh hoạt, đặc biệt được thiết kế để đơn giản hóa việc quản lý trạng thái trong các ứng dụng React

Dưới đây là một số đặc điểm nổi bật của Zustand:

• Kích thước nhỏ: Zustand có kích thước nhỏ và tập trung vào việc cung cấp một API dễ sử dụng mà không làm tăng kích thước của ứng dụng nhiều

• Cú pháp đơn giản: API của Zustand rất đơn giản, giúp giảm bớt boilerplate code và làm cho việc quản lý trạng thái trở nên thuận tiện hơn Điều này làm cho zustand được ưu tiên tích hợp vào các dự án nhỏ và trung bình hơn so với redux

• Tích hợp tốt với React: Zustand được xây dựng để tích hợp tốt với

React, sử dụng React Hooks để quản lý trạng thái Điều này giúp tận dụng các lợi ích của React Hooks và làm cho việc sử dụng Zustand trở nên tự nhiên trong môi trường React

• Hỗ trợ middleware: Zustand hỗ trợ middleware, giúp bạn mở rộng chức năng và tùy chỉnh quy trình xử lý trạng thái.

NestJs

Hình 2.4: NestJs NestJS là một framework phát triển web back-end cho Node.js, được thiết kế để tạo ra ứng dụng server-side hiệu quả và dễ bảo trì NestJS kết hợp các đặc điểm của TypeScript (hoặc JavaScript) với các kiến trúc và ý tưởng từ Angular, tạo ra một môi trường phát triển mạnh mẽ cho xây dựng ứng dụng web

Dưới đây là một số điểm nổi bật của NestJS:

• Kiến trúc modular: NestJS thúc đẩy việc sử dụng kiến trúc modular, giúp tạo ra mã nguồn dễ bảo trì và linh hoạt Ứng dụng có thể được chia thành các module độc lập với các thành phần như controllers, providers, và middleware

• Sử dụng TypeScript: NestJS được xây dựng hoàn toàn bằng

TypeScript, một ngôn ngữ lập trình mở rộng của JavaScript với kiểu dữ liệu tĩnh Điều này giúp giảm lỗi trong quá trình phát triển và tăng tính rõ ràng của mã nguồn

• Decorator-based syntax: NestJS sử dụng cú pháp dựa trên decorator để đánh dấu các thành phần như controllers, modules, routes, và middleware Điều này giúp mã nguồn trở nên rõ ràng và dễ đọc hơn

• Dependency Injection: NestJS hỗ trợ Dependency Injection (DI), giúp quản lý và đưa các phụ thuộc vào ứng dụng một cách hiệu quả Điều này cũng tạo điều kiện cho việc kiểm thử và tái sử dụng mã nguồn

• Middleware-based approach: NestJS sử dụng middleware để xử lý các yêu cầu HTTP trước khi đến đối tượng xử lý chính Điều này cung cấp khả năng kiểm soát cao và tối ưu hóa quá trình xử lý.

TypeORM

TypeORM là một thư viện ORM (Object-Relational Mapping) cho TypeScript và JavaScript, được sử dụng để tương tác với cơ sở dữ liệu trong các ứng dụng Node.js và TypeScript ORM giúp quản lý truy vấn cơ sở dữ liệu và tương tác với dữ liệu một cách trừu tượng hóa, sử dụng các đối tượng và lớp thay vì các truy vấn SQL trực tiếp

Dưới đây là một số đặc điểm và lợi ích của TypeORM:

• Hỗ trợ nhiều cơ sở dữ liệu: TypeORM hỗ trợ nhiều loại cơ sở dữ liệu như MySQL, PostgreSQL, MariaDB, SQLite, Microsoft SQL Server, Oracle, và nhiều hệ thống cơ sở dữ liệu khác

• Kiểu dữ liệu tĩnh với TypeScript: TypeORM được thiết kế để hoạt động tốt với TypeScript, cho phép sử dụng kiểu dữ liệu tĩnh trong quá trình phát triển để giảm lỗi và tăng tính rõ ràng của mã nguồn

• Object-Relational Mapping (ORM): TypeORM giúp ánh xạ giữa các đối tượng trong mã nguồn và các bảng trong cơ sở dữ liệu Điều này giúp làm giảm cú pháp và tăng sự trừu tượng hóa, cho phép sử dụng đối tượng để thao tác dữ liệu thay vì trực tiếp với SQL

• Quản lý migrations: TypeORM cung cấp các công cụ để quản lý quá trình migration, giúp duy trì và cập nhật cấu trúc cơ sở dữ liệu khi ứng dụng phát triển

Video call và chat sdk

Hình 2.6: video call và chat sdk ZegoCloud là một công ty cung cấp dịch vụ đám mây toàn cầu, chuyên về các giải pháp truyền phát trực tiếp, hội nghị truyền hình và trò chuyện Video Call SDK và Chat SDK của ZegoCloud là hai sản phẩm chính của công ty, được sử dụng bởi hàng triệu nhà phát triển trên toàn thế giới để xây dựng các ứng dụng giao tiếp trực tiếp

Video Call SDK của ZegoCloud cung cấp các tính năng cần thiết để xây dựng các ứng dụng video call chất lượng cao, bao gồm:

• Gọi video 1-1 và gọi video nhóm: Hỗ trợ gọi video 1-1 và gọi video nhóm lên đến 100 người

• Chất lượng video và âm thanh cao: Sử dụng công nghệ mã hóa và giải mã video và âm thanh tiên tiến để mang lại chất lượng video và âm thanh cao, ngay cả trong điều kiện mạng kém

• Tính năng đa nền tảng: Hỗ trợ đa nền tảng, bao gồm

Android, iOS, web, Flutter và React Native

• Tính năng bảo mật cao: Sử dụng mã hóa TLS và AES256 để bảo vệ dữ liệu người dùng

Chat SDK của ZegoCloud cung cấp các tính năng cần thiết để xây dựng các ứng dụng chat chất lượng cao, bao gồm:

• Gửi và nhận tin nhắn: Hỗ trợ gửi và nhận tin nhắn văn bản, hình ảnh, GIF, tệp và các loại nội dung khác

• Tạo cuộc trò chuyện 1-1 và nhóm: Hỗ trợ tạo cuộc trò chuyện 1-1 và cuộc trò chuyện nhóm

• Tính năng đa nền tảng: Hỗ trợ đa nền tảng, bao gồm

Android, iOS, web, Flutter và React Native

• Tính năng bảo mật cao: Sử dụng mã hóa TLS và AES256 để bảo vệ dữ liệu người dùng

XÂY DỰNG HỆ THỐNG

Kiến trúc

Hình 3.1: Tổng quan kiến trúc hệ thống urMentor

Hệ thống sử dụng kiến trúc Client – Server với client và server riêng biệt:

Server: API chính được xây dựng bằng NestJS framework và TypeORM, sử dụng Server Sent Event để gửi thông báo cho người dùng, UploadThing dùng để lưu avatar và file

Client: Ứng dụng web được xây dựng bằng ReactJS, quản lý Client State bằng Zustand và Server State (dữ liệu trả về từ server) bằng React Query

Authentication: token-based authentication sử dụng JWT Refresh token, verify mail code được lưu trên redis để truy cập nhanh hơn

Phân tích hệ thống

Hình 3.2: Sơ đồ Usecase người dùng vãng lai

17 Hình 3.3: Sơ đồ usecase mentee

18 Hình 3.4: Sơ đồ usecase mentor

19 Hình 3.5: Sơ đồ usecase admin

STT Tác nhân Mô tả

1 Người dùng vãng lai Người dùng chưa đăng nhập vào hệ thống nhưng vẫn có thể sử dụng một số tính năng cơ bản của web

2 Người hướng dẫn (mentor) Người dùng có nhu cầu muốn truyền đạt kiến thức và kinh nghiệm thực tế với người khác

3 Người cần hướng dẫn (mentee) Người dùng có mong muốn được học hỏi

4 Quản trị viên (admin) Người thực hiện quản lý hệ thống, bao gồm: quản lý các loại tài khoản, kỹ năng, lĩnh vực và giao dịch

Bảng 3.1: Danh sách tác nhân

Tên usecase Đăng ký tài khoản

Mô tả Người dùng vãng lai muốn đăng ký tài khoản

Tác nhân Người dùng vãng lai Điều kiện Phải có kết nối mạng

Dòng sự kiện chính 1 Truy cập vào trang web

2 Chọn vào nút “Đăng ký” ở trang chủ

3 Hiển thị màn hình đăng ký

4 Nhập thông tin email, mật khẩu, tên

5 Chọn vào nút “Đăng ký”

Dòng sự kiện phụ Chọn nút “Đã có tài khoản? Đăng nhập” ở màn hình đăng ký tài khoản sẽ hiển thị màn hình đăng nhập

Dòng sự kiện lỗi Thông tin đăng ký không hợp lệ, hoặc email đã được đăng ký thông báo lỗi cho người dùng Bảng 3.2: Mô tả usecase đăng ký tài khoản

Mô tả Cho phép người dùng đăng nhập vào hệ thống

Tác nhân Mentee Điều kiện Phải có kết nối mạng

Dòng sự kiện chính 1 Chọn nút “Đăng nhập”

2 Chọn tài khoản đăng nhập là mentee

3 Nhập thông tin email và mật khẩu

Dòng sự kiện phụ Chọn nút “Bạn chưa có tài khoản? Đăng ký” ở màn hình đăng ký tài khoản sẽ hiển thị màn hình đăng ký Dòng sự kiện lỗi Nếu thông tin nhập vào không hợp lệ thì sẽ hiển thị thông báo lỗi và yêu cầu người dùng nhập lại Bảng 3.3: Mô tả usecase đăng nhập

Mô tả Đăng xuất khỏi hệ thống

Tác nhân Mentee, mentor, admin Điều kiện Phải có kết nối mạng Đã đăng nhập vào hệ thống Điều kiện kết quả Người dùng thoát khỏi ứng dụng và có thể thực hiện việc đăng nhập lạ

Dòng sự kiện chính 1 Chọn vào biểu tượng avatar trên thanh header

2 Hiển thị danh mục cá nhân

3 Chọn vào nút “Đăng xuất”

4 Hiển thị màn hình trang chủ khi chưa đăng nhập Dòng sự kiện phụ Không có

Dòng sự kiện lỗi Không có

Bảng 3.4: Mô tả usecase đăng xuất

Tên usecase Đăng ký làm mentor

Mô tả Người dùng đã có tài khoản muốn đăng ký làm mentor

Tác nhân Mentee Điều kiện Phải có kết nối mạng Đã đăng nhập vào hệ thống Điều kiện kết quả Tạo một đơn đăng ký làm mentor, chờ admin duyệt

Dòng sự kiện chính 1 Click vào nút đăng ký làm mentor ở trang chủ hoặc trang dashboard

2 Hiển thị popup form đăng ký 3.Điền thông tin

4 Click vào nút đnawg ký Dòng sự kiện phụ Không có

Dòng sự kiện lỗi Hiển thị lỗi khi người dùng nhập thông tin không hợp lệ hoặc chưa cập nhật profile theo điều kiện tối thiểu

Bảng 3.5: Mô tả usecase đăng ký làm mentor

Tên usecase Tìm kiếm mentor

Mô tả Cho phép người dùng tìm kiếm mentor một cách dễ dàng và thuận lợi, hoạt động như một công cụ giúp lọc và hiển thị những mentor tương ứng với từ khóa và bộ lọc

Tác nhân Mentee, mentor, người dùng vãng lai Điều kiện Phải có kết nối mạng

23 Điều kiện kết quả Hiển thị các mentor phù hợp với thông tin tìm kiếm

Dòng sự kiện chính 1.Nhập thông tin, chọn bộ lọc ở thanh tìm kiếm trong trang chủ

3 Hiển thị danh sách mentor Dòng sự kiện phụ Không có

Dòng sự kiện lỗi Không có

Bảng 3.6: mô tả usecase tìm kiếm mentor

Tên usecase Xem hồ sơ mentor

Mô tả Cho phép người dùng xem thông tin chi tiết của 1 mentor Tác nhân Mentee, mentor, người dùng vãng lai Điều kiện Phải có kết nối mạng Điều kiện kết quả Hiển thị đầy đủ thông tin mentor trên màn hình hồ sơ

Dòng sự kiện chính 1 Chọn nút “Xem chi tiết” trên bất kỳ màn hình nào có các item hiển thị thông tin về mentor đó

2 Hiển thị trang thông tin chi tiết của mentor

Dòng sự kiện phụ Không có

Dòng sự kiện lỗi Không có

Bảng 3.7: mô tả usecase xem hồ sơ mentor

3.2.2.7 Xem chi tiết chương trình cố vấn

Tên usecase Xem chi tiết chương trình cố vấn

Mô tả Cho phép người dùng xem thông tin chi tiết của một chương trình do mentor tạo ra Tác nhân Mentee, mentor, người dùng vãng lai Điều kiện Phải có kết nối mạng Điều kiện kết quả Hiển thị đầy đủ thông tin chi tiết của chương trình cố vấn

Dòng sự kiện chính 1 Chọn vào nút “Xem ngay” của chương trình mentor được hiển thị trên màn hình hồ sơ Mentor

2 Hiển thị trang thông tin chi tiết của chương trình mentor

Dòng sự kiện phụ Không có

Dòng sự kiện lỗi Không có

Bảng 3.8: mô tả usecase xem chương trình cố vấn

3.2.2.8 Đăng ký phiên cố vấn với mentor

Tên usecase Đăng ký phiên cố vấn

Mô tả Cho phép mentee gửi yêu cầu để đặt lịch cho một phiên cố vấn với Mentor

Tác nhân Mentee, mentor Điều kiện Phải có kết nối mạng Đăng nhập vào hệ thống Đang ở trang xem chi tiết phiên cố vấn hoặc ở trang hồ sơ mentor Điều kiện kết quả Hiển thị phiên cố vấn chờ duyệt

Dòng sự kiện chính 1 Nhấn nút đăng ký ở trên trang cố vấn

2 Nhấn nút đăng ký Dòng sự kiện phụ Không có

Dòng sự kiện lỗi Nếu thông tin nhập vào không đúng yêu cầu thì sẽ hiển thị thông báo lỗi và yêu cầu người dùng nhập lại

Bảng 3.9: mô tả usecase đăng ký phiên cố vấn

3.2.2.9 Hủy đăng ký phiên cố vấn với mentor

Tên usecase Hủy đăng ký phiên cố vấn

Mô tả Cho phép mentee, mentor hủy đặt lịch một phiên

Tác nhân Mentee, mentor Điều kiện Phải có kết nối mạng Đăng nhập thành công vào hệ thống Mentee đã đăng ký chương trình cố vấn Điều kiện kết quả Hiển thị thông báo hủy lịch thành công và trạng thái của phiên cố vấn chuyển thành “Đã hủy”

Dòng sự kiện chính 1 Vào trang xem chi tiết phiên cố vấn

2 Nhấn nút hủy lịch Dòng sự kiện phụ Không có

Dòng sự kiện lỗi Không có

Bảng 3.10: mô tả usecase hủy đăng ký phiên

3.2.2.10 Xác nhận hoàn thành phiên cố vấn

Tên usecase Xác nhận hoàn thành phiên cố vấn

Mô tả Cho phép mentee xác nhận phiên cố vấn đã hoàn thành

Tác nhân mentee Điều kiện Phải có kết nối mạng Đăng nhập thành công vào hệ thống Người dùng đã được mentor chấp nhận phiên cố vấn và quá trình mentoring đã diễn ra trên thực tế và hoàn thành Điều kiện kết quả Hiển thị thông báo xác nhận thành công và trạng thái phiên cố vấn trở thành hoàn thành

Dòng sự kiện chính 1 Vào trang dashboard

2 Chọn vào nút “Phiên cố vấn”

3 Chọn vào nút “Hoàn thành” ở phiên cố vấn đã hoàn thành xong

4 Hiển thị thông báo xác nhận hoàn thành

6 Hiển thị thông báo phiên cố vấn đã hoàn thành xong Dòng sự kiện phụ Chọn vào nút “Hủy” để từ chối xác nhận hoàn thành phiên cố vấn Dòng sự kiện lỗi Không có

Bảng 3.11: Xác nhận hoàn thành phiên cố vấn

3.2.2.11 Đánh giá phiên cố vấn

Tên usecase Đánh giá phiên cố vấn

Mô tả Cho phép mentee thực hiện đánh giá phiên cố vấn đã hoàn thành

Tác nhân mentee Điều kiện Phải có kết nối mạng Đăng nhập thành công vào hệ thống Mentee đã chọn hoàn thành phiên cố vấn tương ứng Điều kiện kết quả Thực hiện đánh giá mentor thành công

Dòng sự kiện chính 1 Vào trang dashboard

2 Chọn nút “Phiên cố vấn”

3 Chọn nút “Đánh giá” tại các phiên cố vấn đã hoàn thành

4 Chọn số sao đánh giá

5 Nhập bình luận đánh giá

7 Hệ thống hiển thị kết quả đánh giá thành công và thay đổi trạng thái của phiên cố vấn

Dòng sự kiện phụ Không có

Dòng sự kiện lỗi Không có

Bảng 3.12: mô ta usecase đánh giá phiên cố vấn

3.2.2.12 Nạp xu qua ngân hàng

Tên usecase Nạp xu qua ngân hàng

Mô tả Cho phép mentee thực hiện nạp xu vào hệ thống thông qua ngân hàng

Tác nhân Mentee, mentor Điều kiện Phải có kết nối mạng Đăng nhập thành công vào hệ thống Điều kiện kết quả Số dư xu tăng lên đúng số xu đã nạp

Dòng sự kiện chính 1 Chọn vào biểu tượng hiển thị số dư xu

2 Chọn vào nút “Nạp token”

3 Chọn hình thức nạp tiền qua ngân hàng hoặc ví điện tử

4 Nhập thông tin số xu cần nạp, ghi chú

5 Chọn nút “Thanh toán” để gửi yêu cầu thanh toán đến hệ thống

6 Hiển thị các thông tin thanh toán để người dùng thực hiện thanh toán

7 Số dư xu cộng thêm số xu tương ứng Dòng sự kiện phụ Không có

Dòng sự kiện lỗi Không có

Bảng 3.13: mô tả use case Nạp xu qua ngân hàng

3.2.2.13 Duyệt phiên cố vấn của mentee

Tên usecase Duyệt phiên cố vấn của mentee

Mô tả Cho phép mentor xem xét và kiểm duyệt các phiên cố vấn của mentee

Tác nhân Mentor Điều kiện Phải có kết nối mạng Đã đăng nhập thành công vào hệ thống Mentee đã gửi yêu cầu tham gia phiên cố vấn do mentor này tổ chức Điều kiện kết quả Hiển thị thông báo kiểm duyệt thành công và trạng thái phiên cố vấn chuyển thành “Đã xác nhận”

Dòng sự kiện chính 1 Vào trang dashboard

2 Chọn vào tab “Phiên cố vấn”

3 Hiển thị danh sách các phiên cố vấn

5 Hệ thống gửi thông báo chấp nhận và thay đổi trạng thái giao dịch sang thành công

Dòng sự kiện phụ Hệ thống gửi thông báo cho mentee

Dòng sự kiện lỗi Không có

Bảng 3.14: mô tả use case duyệt phiên cố vấn

3.2.2.14 Tạo nội dung cố vấn

Tên usecase Tạo nội dung cố vấn

Mô tả Cho phép mentor cung cấp nội dung cố vấn, bao gồm: tiêu đề, mô tả chi tiết, thời gian bắt đầu, link meeting)

Tác nhân Mentor Điều kiện Phải có kết nối mạng Đăng nhập thành công vào hệ thống Xác nhận phiên cố vấn được đăng ký bởi mentee Điều kiện kết quả Hiển thị danh sách các nội dung sẽ cố vấn

Dòng sự kiện chính 1 Vào trang dashboard

2 Chọn vào tab “Phiên cố vấn”

3 Hiển thị danh sách các phiên cố vấn

4 Chọn vào thẻ “Nội dung”

5 Chọn nút “Tạo nội dung”

6 Nhập các thông tin cần thiết

8 Hiển thị thông báo tạo nội dung cố vấn thành công Dòng sự kiện phụ Hệ thống gửi thông báo cho mentee

Dòng sự kiện lỗi Nếu thông tin nhập vào không hợp lệ sẽ hiển thị thông báo lỗi và yêu cầu người dùng nhập lại

Bảng 3.15: mô tả use case Tạo nội dung cố vấn

3.2.2.15 Quản lý chương trình cố vấn

Tên usecase Quản lý chương trình cố vấn

Mô tả Cho phép xem và chỉnh sửa các chương trình cố vấn của mình

Ngày đăng: 15/05/2024, 09:29

HÌNH ẢNH LIÊN QUAN

Hình 2.1: ReactJs  ReactJS có một số tính năng nổi bật, bao gồm: - đồ án 1 phát triển ứng dụng mô hình mentorship hỗ trợ trong trường học ngành công nghệ thông tin
Hình 2.1 ReactJs ReactJS có một số tính năng nổi bật, bao gồm: (Trang 13)
Hình 2.3: React Query - đồ án 1 phát triển ứng dụng mô hình mentorship hỗ trợ trong trường học ngành công nghệ thông tin
Hình 2.3 React Query (Trang 14)
Hình 2.2: TypeScripts - đồ án 1 phát triển ứng dụng mô hình mentorship hỗ trợ trong trường học ngành công nghệ thông tin
Hình 2.2 TypeScripts (Trang 14)
Hình 2.6: video call và chat sdk - đồ án 1 phát triển ứng dụng mô hình mentorship hỗ trợ trong trường học ngành công nghệ thông tin
Hình 2.6 video call và chat sdk (Trang 19)
Hình 3.1: Tổng quan kiến trúc hệ thống urMentor - đồ án 1 phát triển ứng dụng mô hình mentorship hỗ trợ trong trường học ngành công nghệ thông tin
Hình 3.1 Tổng quan kiến trúc hệ thống urMentor (Trang 21)
Hình 3.2: Sơ đồ Usecase người dùng vãng lai - đồ án 1 phát triển ứng dụng mô hình mentorship hỗ trợ trong trường học ngành công nghệ thông tin
Hình 3.2 Sơ đồ Usecase người dùng vãng lai (Trang 22)
Hình 3.3: Sơ đồ usecase mentee - đồ án 1 phát triển ứng dụng mô hình mentorship hỗ trợ trong trường học ngành công nghệ thông tin
Hình 3.3 Sơ đồ usecase mentee (Trang 23)
Hình 3.4: Sơ đồ usecase mentor - đồ án 1 phát triển ứng dụng mô hình mentorship hỗ trợ trong trường học ngành công nghệ thông tin
Hình 3.4 Sơ đồ usecase mentor (Trang 24)
Hình 3.5: Sơ đồ usecase admin - đồ án 1 phát triển ứng dụng mô hình mentorship hỗ trợ trong trường học ngành công nghệ thông tin
Hình 3.5 Sơ đồ usecase admin (Trang 25)
Bảng 3.2: Mô tả usecase đăng ký tài khoản - đồ án 1 phát triển ứng dụng mô hình mentorship hỗ trợ trong trường học ngành công nghệ thông tin
Bảng 3.2 Mô tả usecase đăng ký tài khoản (Trang 27)
Bảng 3.4: Mô tả usecase đăng xuất - đồ án 1 phát triển ứng dụng mô hình mentorship hỗ trợ trong trường học ngành công nghệ thông tin
Bảng 3.4 Mô tả usecase đăng xuất (Trang 28)
Bảng 3.6: mô tả usecase tìm kiếm mentor - đồ án 1 phát triển ứng dụng mô hình mentorship hỗ trợ trong trường học ngành công nghệ thông tin
Bảng 3.6 mô tả usecase tìm kiếm mentor (Trang 29)
Bảng 3.8: mô tả usecase xem chương trình cố vấn - đồ án 1 phát triển ứng dụng mô hình mentorship hỗ trợ trong trường học ngành công nghệ thông tin
Bảng 3.8 mô tả usecase xem chương trình cố vấn (Trang 30)
Bảng 3.9: mô tả usecase đăng ký phiên cố vấn - đồ án 1 phát triển ứng dụng mô hình mentorship hỗ trợ trong trường học ngành công nghệ thông tin
Bảng 3.9 mô tả usecase đăng ký phiên cố vấn (Trang 31)
Bảng 3.10: mô tả usecase hủy đăng ký phiên - đồ án 1 phát triển ứng dụng mô hình mentorship hỗ trợ trong trường học ngành công nghệ thông tin
Bảng 3.10 mô tả usecase hủy đăng ký phiên (Trang 32)
Bảng 3.12: mô ta usecase đánh giá phiên cố vấn - đồ án 1 phát triển ứng dụng mô hình mentorship hỗ trợ trong trường học ngành công nghệ thông tin
Bảng 3.12 mô ta usecase đánh giá phiên cố vấn (Trang 33)
Bảng 3.15: mô tả use case Tạo nội dung cố vấn - đồ án 1 phát triển ứng dụng mô hình mentorship hỗ trợ trong trường học ngành công nghệ thông tin
Bảng 3.15 mô tả use case Tạo nội dung cố vấn (Trang 35)
Bảng 3.16: mô tả usecase Quản lý chương trình cố vấn - đồ án 1 phát triển ứng dụng mô hình mentorship hỗ trợ trong trường học ngành công nghệ thông tin
Bảng 3.16 mô tả usecase Quản lý chương trình cố vấn (Trang 36)
Bảng 3.17: mô tả use case Rút coin - đồ án 1 phát triển ứng dụng mô hình mentorship hỗ trợ trong trường học ngành công nghệ thông tin
Bảng 3.17 mô tả use case Rút coin (Trang 36)
Bảng 3.18: mô tả use case Kiểm duyệt tài khoản mentor - đồ án 1 phát triển ứng dụng mô hình mentorship hỗ trợ trong trường học ngành công nghệ thông tin
Bảng 3.18 mô tả use case Kiểm duyệt tài khoản mentor (Trang 37)
Hình 3.6: Database diagram nhóm user - đồ án 1 phát triển ứng dụng mô hình mentorship hỗ trợ trong trường học ngành công nghệ thông tin
Hình 3.6 Database diagram nhóm user (Trang 38)
Hình 3.7: Database diagram nhóm phiên cố vấn - đồ án 1 phát triển ứng dụng mô hình mentorship hỗ trợ trong trường học ngành công nghệ thông tin
Hình 3.7 Database diagram nhóm phiên cố vấn (Trang 39)
Hình 3.8:  Database diagram nhóm giao dịch - đồ án 1 phát triển ứng dụng mô hình mentorship hỗ trợ trong trường học ngành công nghệ thông tin
Hình 3.8 Database diagram nhóm giao dịch (Trang 40)

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

TÀI LIỆU LIÊN QUAN

w