Chương 1: Tổng quan về đề tài 2. Mục tiêu Về nghiệp vụ: ● Xây dưng một website cung cấp thông tin và tìm kiếm huấn luyện viên cá nhân cho khách hàng. ● Tạo ra một nền tảng kết nối giữa khách hàng và huấn luyện viên cá nhân, giúp khách hàng dễ dàng tìm thấy huấn luyện viên phù hợp với nhu cầu của mình. ● Cung cấp thông tin về các dịch vụ huấn luyện, giá cả, kinh nghiệm của huấn luyện viên, giúp khách hàng có thể lưa chọn được một huấn luyện viên phù hợp với mục tiêu của mình.
Về công nghệ, tìm hiểu nghiên cứu, áp dụng framework: ● Nodejs, ● Mongodb ● React ● Gmail service api mail, api map ● Tailwindcss. Công nghệ sử dụng Front-end: sử dụng ReactJS Back-end: sử dụng NodeJS, ExpressJS Database: MongoDB Các dịch vụ khác: MediaPipe Trang 11 Chương 2: Cơ sở lý thuyết CHƯƠNG 2: CƠ SỞ LÝ THUYẾT [1] 1.js là một nền tảng được xây dưng trên V8 JavaScript Engine – trình thông dịch thưc thi mã JavaScript, giúp xây dưng các ứng dụng web một cách đơn giản và dễ dàng mở rộng.js được phát triển bởi Ryan Dahl vào năm 2009 và có thể chạy trên nhiều hệ điều hành khác nhau như Windows, Linux và macOS. Nó hoạt động như một máy chủ web và cho phép bạn viết mã JavaScript để chạy trên máy chủ. Bạn có thể sử dụng Node.js để xây dưng các ứng dụng web phía máy chủ, các công cụ dòng lệnh và các ứng dụng desktop.
ExpressJS ExpressJS là một framework được xây dưng trên nền tảng của Nodejs. Nó cung cấp các tính năng mạnh mẽ để phát triển web hoặc mobile. Expressjs hỗ trợ các method HTTP và middleware tạo ra API vô cùng mạnh mẽ và dễ sử dụng. ExpressJS được sử dụng để thiết kế và phát triển các ứng dụng web một cách nhanh chóng.
MongoDB MongoDB là một database hướng tài liệu (document), một dạng NoSQL database. Vì thế, MongoDB sẽ tránh cấu trúc table-based của relational database để thích ứng với các tài liệu như JSON có một schema rất linh hoạt gọi là BSON. MongoDB là một hệ thống cơ sở dữ liệu phi quan hệ (NoSQL), mã nguồn mở, được phát hành lần đầu vào tháng 2 năm 2009 bởi MongoDB Inc và quản lý theo SSPL (Server Side Public License). React React là một thư viện JavaScript được sử dụng để xây dưng các giao diện người dùng (UI) động.
React được phát triển bởi Facebook và được sử dụng rộng rãi trong các ứng dụng web. React cho phép bạn tạo ra các thành phần UI độc lập và tái sử dụng được trong các ứng dụng khác nhau. Trang 12 Chương 2: Cơ sở lý thuyết [5] 5. Ant design Ant Design là một bộ công cụ thiết kế UI được phát triển bởi Ant Financial.
Nó cung cấp các thành phần UI đẹp và dễ sử dụng cho các ứng dụng web. Ant Design được xây dưng trên React và có thể được sử dụng với các thư viện khác như Angular và Vue. MediaPipe MediaPipe là một framework mã nguồn mở của Google được sử dụng để xây dưng các ứng dụng xử lý video và âm thanh. MediaPipe cung cấp các công cụ để phát hiện khuôn mặt, đeo kính, đo khoảng cách và nhiều hơn nữa.
MediaPipe có thể được sử dụng với các ngôn ngữ lập trình như C++, Python và Javascript. Technical stack Hình 1: Kiến trúc đồ án Trang 13 Chương 3: Phân tích và mô hình hóa yêu cầu CHƯƠNG 3: PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU 1. Phân tích yêu cầu chức năng 1. Yêu cầu nghiệp vụ 1.
Khách chưa đăng nhập Cung cấp các chức năng cho khách hàng, bao gồm đăng ký tài khoản mới, đăng nhập và xem thông tin về các huấn luyện viên. Đăng ký tài khoản mới ● Khách hàng truy cập vào ứng dụng và chọn chức năng "Đăng ký tài khoản". ● Một mẫu đăng ký tài khoản mới hiển thị, yêu cầu khách hàng cung cấp các thông tin cần thiết như tên, địa chỉ email, mật khẩu, và các chi tiết cá nhân khác nếu cần thiết. ● Khách hàng điền đầy đủ thông tin và nhấp vào nút "Đăng ký" để hoàn tất quá trình đăng ký.
● Hệ thống kiểm tra thông tin và thông báo cho khách hàng về việc tài khoản đã được tạo thành công hoặc cần cung cấp thông tin bổ sung nếu có. Đăng nhập ● Sau khi đăng ký tài khoản, khách hàng có thể truy cập chức năng "Đăng nhập". ● Khách hàng nhập địa chỉ email và mật khẩu đã đăng ký trước đó. ● Hệ thống xác thưc thông tin và đăng nhập thành công nếu thông tin đúng.
● Sau khi đăng nhập thành công, khách hàng sẽ được chuyển đến giao diện chính của ứng dụng và có thể tiếp tục sử dụng các chức năng khác. Xem thông tin huấn luyện viên: ● Trên giao diện chính của ứng dụng, khách hàng có thể tìm kiếm và xem thông tin về các huấn luyện viên. Trang 14 Chương 3: Phân tích và mô hình hóa yêu cầu ● Hệ thống hiển thị danh sách các huấn luyện viên phù hợp với yêu cầu tìm kiếm. ● Khách hàng có thể chọn một huấn luyện viên cụ thể để xem chi tiết thông tin, bao gồm tên, chuyên môn, kinh nghiệm và các thông tin liên hệ khác.
Khách đã đăng nhập Cung cấp các chức năng cho khách hàng, bao gồm khôi phục mật khẩu, đặt lịch tập, quản lý thông tin cá nhân và xem lại lịch đã đặt. Khôi phục mật khẩu: ● Nếu khách hàng quên mật khẩu, họ có thể sử dụng chức năng khôi phục mật khẩu. ● Khách hàng chọn tùy chọn "Quên mật khẩu" trên giao diện đăng nhập. ● Hệ thống yêu cầu khách hàng nhập địa chỉ email đã được liên kết với tài khoản của họ.
● Sau khi khách hàng nhập đúng địa chỉ email, hệ thống gửi một liên kết khôi phục mật khẩu qua email. ● Khách hàng sử dụng liên kết đó để đặt lại mật khẩu và tiếp tục truy cập vào tài khoản. Đặt lịch tập ● Khách hàng có thể sử dụng chức năng đặt lịch tập để chọn lớp, huấn luyện viên và khung giờ phù hợp. ● Trên giao diện chính, khách hàng chọn tùy chọn "Đặt lịch tập".
● Hệ thống hiển thị danh sách các lớp tập có sẵn và thông tin về huấn luyện viên. ● Khách hàng có thể chọn lớp tập và huấn luyện viên theo sở thích và khung giờ phù hợp. Trang 15 Chương 3: Phân tích và mô hình hóa yêu cầu ● Sau khi chọn lớp, huấn luyện viên và khung giờ, khách hàng xác nhận đặt lịch tập. ● Hệ thống ghi nhận lịch tập và gửi thông báo xác nhận đến khách hàng.
Quản lý thông tin cá nhân ● Trên giao diện chính, khách hàng có thể truy cập chức năng quản lý thông tin cá nhân. ● Khách hàng có thể xem và chỉnh sửa các thông tin cá nhân như tên, địa chỉ, số điện thoại và hình ảnh cá nhân. ● Sau khi chỉnh sửa, khách hàng lưu thông tin cập nhật và hệ thống cập nhật thông tin trong tài khoản của họ. Xem lại lịch đã đặt ● Khách hàng có thể sử dụng chức năng xem lại lịch đã đặt để kiểm tra và quản lý lịch tập của mình.
● Trên giao diện chính, khách hàng chọn tùy chọn "Xem lịch đã đặt". ● Hệ thống hiển thị danh sách các lịch tập đã đặt trước đó, bao gồm thông tin về lớp, huấn luyện viên và khung giờ. ● Khách hàng có thể xem thông tin chi tiết về mỗi lịch tập và thay đổi hoặc hủy bất kỳ lịch nào nếu cần. Huấn luyện viên Cung cấp các chức năng cho Huấn luyện viên, bao gồm xem lịch booking, xem danh sách khách hàng book, mục tiêu tập luyện của khách và tạo nhiệm vụ tập luyện cho khách.
Xem lịch booking: ● Huấn luyện viên truy cập vào ứng dụng và chọn chức năng "Xem lịch booking". Trang 16 Chương 3: Phân tích và mô hình hóa yêu cầu ● Hệ thống hiển thị danh sách các lịch tập đã được đặt với Huấn luyện viên đó. ● Huấn luyện viên có thể xem thông tin chi tiết về mỗi lịch tập, bao gồm ngày, giờ và tên khách hàng. ● Thông tin về lịch booking giúp Huấn luyện viên có cái nhìn tổng quan về lịch trình công việc và chuẩn bị tốt hơn cho các buổi tập.
Xem danh sách khách hàng book: ● Huấn luyện viên có thể xem mục tiêu tập luyện của từng khách hàng. ● Trên giao diện chi tiết của khách hàng, Huấn luyện viên có thể xem thông tin về mục tiêu tập luyện của khách hàng, bao gồm mục tiêu cụ thể, mục tiêu tập luyện hàng ngày, tuần hoặc tháng, và các yêu cầu đặc biệt khác. ● Thông qua việc hiểu mục tiêu tập luyện của khách hàng, Huấn luyện viên có thể tạo ra các bài tập và lộ trình phù hợp để giúp khách hàng đạt được mục tiêu của mình. Tạo nhiệm vụ tập luyện cho khách: ● Huấn luyện viên có thể sử dụng chức năng "Tạo nhiệm vụ tập luyện" để tạo ra các bài tập và nhiệm vụ cụ thể cho khách hàng.
● Huấn luyện viên xác định mục tiêu cụ thể cho nhiệm vụ tập luyện, bao gồm bài tập, số lần tập, khối lượng tập, thời gian tập và các chỉ số khác liên quan. ● Huấn luyện viên gán nhiệm vụ tập luyện cho từng khách hàng và thông báo cho họ về nhiệm vụ mới. ● Khách hàng sẽ nhận được thông báo về nhiệm vụ tập luyện và có thể xem chi tiết và tiến hành thưc hiện nhiệm vụ. Trang 17 Chương 3: Phân tích và mô hình hóa yêu cầu 1.
Quản trị viên Cung cấp các chức năng cho Quản trị viên, bao gồm quản lý vé đặt lịch, quản lý khách hàng, quản lý lớp, quản lý huấn luyện viên, quản lý tài khoản và đặt lịch tập giúp khách hàng. Quản lý vé đặt lịch ● Quản trị viên có thể sử dụng chức năng "Quản lý vé đặt lịch" để xem và quản lý tất cả các vé đặt lịch của khách hàng. ● Hệ thống hiển thị danh sách các vé đặt lịch, bao gồm thông tin về khách hàng, lớp tập, huấn luyện viên và khung thời gian. ● Quản trị viên có thể xem thông tin chi tiết của mỗi vé đặt lịch, bao gồm tình trạng thanh toán và các thông tin khác liên quan.
● Quản trị viên có thể thưc hiện các hoạt động quản lý như xác nhận thanh toán, hủy vé đặt lịch hoặc cập nhật thông tin liên quan. Quản lý khách hàng ● Quản trị viên có chức năng "Quản lý khách hàng" để xem danh sách khách hàng và quản lý thông tin của họ. ● Hệ thống hiển thị danh sách các khách hàng, bao gồm tên, thông tin liên hệ và các chi tiết khác.