Bối cảnh và vấn đề nghiên cứu
1. Lý do chọn đề tài
Trong đời sống xã hội và môi trường học đường hiện nay, việc làm thêm để trang trải sinh hoạt phí và tích lũy kinh nghiệm là nhu cầu phổ biến của đông đảo sinh viên. Trong số các công việc bán thời gian, dạy kèm (gia sư) được nhiều sinh viên lựa chọn nhờ tính linh hoạt về mặt thời gian, thời lượng làm việc trong ngày ngắn, giúp người dạy dễ dàng cân đối giữa lịch học tập tại trường và lịch đi làm.
Tuy nhiên, phương thức kết nối dạy kèm truyền thống bộc lộ nhiều bất cập và rủi ro:
- Đối với sinh viên (người tìm lớp dạy): Việc tìm lớp chủ yếu thực hiện gián tiếp thông qua các hội nhóm, fanpage mạng xã hội hoặc qua các trung tâm môi giới gia sư. Người dạy thường phải đến tận nơi nhận lớp và đóng phí hoa hồng trước, dẫn đến rủi ro bị lừa đảo tài chính hoặc nhận lớp không đúng thỏa thuận.
- Đối với phụ huynh và học sinh (người tìm gia sư): Việc tìm kiếm gia sư đòi hỏi phải liên hệ hoặc đến trực tiếp trung tâm gia sư để đăng ký, song phụ huynh không có đầy đủ cơ sở thông tin để kiểm chứng trình độ chuyên môn, lý lịch cá nhân cũng như năng lực thực tế của người dạy.
Nhằm giải quyết các hạn chế nêu trên, đề tài khóa luận tập trung xây dựng hệ thống website kết nối gia sư trực tuyến mang tên HDLearning, cho phép người dạy và người học chủ động tìm kiếm, xác thực thông tin và kết nối trực tiếp với nhau, hạn chế các tầng trung gian và giảm thiểu rủi ro phát sinh.
2. Mục tiêu và nhiệm vụ nghiên cứu
Mục tiêu tổng quát của đề tài bao gồm việc nghiên cứu nền tảng framework Laravel và xây dựng hoàn chỉnh ứng dụng website cung cấp gia sư theo mô hình phân quyền người dùng và quản trị hệ thống.
Văn bản đề cương khóa luận xác định 6 nhiệm vụ nghiên cứu cụ thể:
- Tìm hiểu framework Laravel.
- Khảo sát các website cung cấp gia sư hiện có trên thị trường.
- Dự kiến các kết quả kỹ thuật và chức năng đạt được sau khi hoàn thành luận văn.
- Nghiên cứu nghiệp vụ và hiện thực hóa các ca sử dụng (Use Case) đã đề ra.
- Đề xuất các ý tưởng, tính năng mới cho hệ thống kết nối gia sư.
- Hoàn thiện báo cáo kỹ thuật đầy đủ theo quy định của Khoa Công nghệ Thông tin và yêu cầu của giảng viên hướng dẫn.
Mục tiêu kỹ thuật bổ trợ bao gồm: xây dựng hệ thống phân quyền tài khoản (sử dụng cơ chế AccessToken), thiết kế và phát triển hệ thống RESTful API chuẩn hóa, kết hợp Laravel ở backend với Angular/giao diện Single Page Application (SPA) nhằm tối ưu hóa hiệu năng truyền tải và đảm bảo khả năng tương thích trên các thiết bị di động.
3. Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu:
- Nhóm người dùng là sinh viên thuộc các khối ngành có nhu cầu tìm kiếm công việc dạy kèm tại nhà phù hợp với chuyên môn, thời gian biểu và mức thu nhập mong muốn.
- Nhóm người dùng là phụ huynh và học sinh có nhu cầu tìm kiếm người dạy kèm theo từng bộ môn, cấp học và khu vực địa lý.
- Phạm vi nghiên cứu: Tập trung vào cơ sở lý thuyết về Web Service và RESTful API; phương pháp ứng dụng framework Laravel trong việc xây dựng hệ thống cơ sở dữ liệu, viết API và triển khai ứng dụng quản lý, kết nối gia sư trực tuyến.
- Thời gian thực hiện: Từ ngày 04/03/2019 đến ngày 14/07/2019 (gồm 19 tuần làm việc theo kế hoạch tiến độ).
Cơ sở lý thuyết và phương pháp
1. Khung lý thuyết và công nghệ sử dụng
Khóa luận ứng dụng các khái niệm, công nghệ và tiêu chuẩn lập trình phần mềm web hiện đại:
- Kiến trúc MVC (Model - View - Controller): Mô hình phân tách lớp dữ liệu, giao diện hiển thị và điều khiển logic nghiệp vụ trong phát triển phần mềm.
- PHP và Framework Laravel: Khung ứng dụng web mã nguồn mở viết bằng ngôn ngữ PHP, cung cấp các thành phần cốt lõi như Eloquent ORM, Blade Template Engine, Query Builder, Middleware, Authentication, Form Request Validation, Database Migrations và Seeding.
- Mô hình kiến trúc RESTful API và Web Service: Chuẩn thiết kế giao diện lập trình ứng dụng dựa trên các phương thức HTTP (GET, POST, PUT, PATCH, DELETE) để trao đổi dữ liệu định dạng JSON, hỗ trợ kiến trúc Single Page Application.
- Dịch vụ mở rộng (Social Authentication & Mail Service): Gói thư viện Laravel Socialite phục vụ đăng nhập qua tài khoản mạng xã hội (Facebook App ID, Secret Key) và cấu hình dịch vụ gửi thư điện tử qua Google Service/SMTP.
2. Phương pháp nghiên cứu
- Phương pháp khảo sát hiện trạng: Đánh giá, phân tích ưu điểm, nhược điểm và chức năng của các website gia sư đang hoạt động thực tế tại Việt Nam để làm cơ sở định hình yêu cầu hệ thống.
- Phương pháp phân tích và thiết kế hệ thống theo chuẩn UML: Sử dụng biểu đồ ca sử dụng (Use Case Diagram), biểu đồ hoạt động (Activity Diagram), biểu đồ tuần tự (Sequence Diagram) và biểu đồ lớp (Class Diagram) để mô hình hóa cấu trúc và quy trình nghiệp vụ.
- Phương pháp thực nghiệm phát triển phần mềm: Thiết kế cấu trúc cơ sở dữ liệu quan hệ, lập trình các bộ điều khiển (Controllers), định tuyến (Routes), tạo khuôn mẫu giao diện (Blade Views) và tích hợp các module chức năng.
- Phương pháp kiểm thử phần mềm: Thiết lập kế hoạch kiểm thử, xây dựng bảng kịch bản kiểm thử (Testcase) chi tiết theo vai trò người dùng thường và vai trò quản trị viên (Admin), tiến hành dò lỗi và khắc phục lỗi trước khi đóng gói sản phẩm.
3. Nguồn dữ liệu
- Dữ liệu khảo sát hiện trạng từ 4 website gia sư thực tế: Gia sư Tài Năng Biên Hòa, Gia sư Tiên Phong, Gia sư Bách Khoa và Gia sư Đất Việt.
- Tài liệu kỹ thuật, hướng dẫn chuyên sâu của framework Laravel, tài liệu API Facebook Developers và tài liệu cấu hình dịch vụ Google Mail.
- Dữ liệu thử nghiệm hệ thống được thiết lập thông qua cơ chế Seeding và các biểu mẫu nhập liệu thực nghiệm.
Nội dung chính theo từng chương
CHƯƠNG 1: KHẢO SÁT HIỆN TRẠNG
Chương 1 tiến hành khảo sát và đánh giá 4 hệ thống website gia sư tiêu biểu đang vận hành trên thị trường nhằm xác định các tính năng cần thiết và điểm nghẽn trải nghiệm người dùng:
| Tên website khảo sát |
Nhóm chức năng chính |
Đặc điểm giao diện |
Ưu điểm ghi nhận |
Nhược điểm còn tồn tại |
| Gia sư Tài Năng Biên Hòa |
Đăng ký gia sư (chờ duyệt), đăng ký tìm gia sư, tin tức giáo dục |
Giao diện thân thiện nhưng thiếu hình ảnh trực quan, bố cục còn rối mắt |
Thông tin cung cấp rõ ràng, dễ tiếp cận |
Chưa hỗ trợ đa ngôn ngữ, chưa tối ưu hiển thị trên thiết bị di động |
| Gia sư Tiên Phong |
Nhận lớp, nhận gia sư, liên kết và hỗ trợ qua mạng xã hội (Facebook, Twitter) |
Bố cục sắp xếp hợp lý, tuy nhiên chứa quá nhiều văn bản |
Đầy đủ thông tin trung tâm, có liên kết bài đăng mạng xã hội |
Chưa hỗ trợ đa ngôn ngữ, thao tác còn phức tạp, không hiển thị lớp ngay trang chủ |
| Gia sư Bách Khoa |
Đăng ký gia sư, đăng ký lớp, tin tức giáo dục, thông tin nội bộ |
Bố cục phân chia rõ ràng nhưng mật độ chữ dày đặc, ít hình ảnh |
Hỗ trợ người dùng tốt, bố cục rõ ràng, dễ sử dụng |
Chưa hỗ trợ đa ngôn ngữ, giao diện chưa tối ưu hóa trải nghiệm, rất ít hình ảnh |
| Gia sư Đất Việt |
Đăng ký gia sư, đăng ký lớp học, tin tức giáo dục, tích hợp bản đồ |
Bắt mắt, bố cục rõ ràng, lượng hình ảnh mức độ trung bình |
Liệt kê danh sách gia sư tiêu biểu, có bản đồ vị trí trực quan |
Chưa hỗ trợ đa ngôn ngữ, thiếu tính năng nhắn tin tương tác trực tiếp giữa người dùng |
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Chương 2 trình bày toàn diện cấu trúc kỹ thuật của Laravel và các thành phần cốt lõi được ứng dụng trong đồ án:
- Cấu trúc thư mục Laravel: Phân tích chức năng các thư mục
app (chứa Console, Exceptions, Http/Controllers, Middleware, Providers, Models), bootstrap, config, database (migrations, seeds, factories), public, resources (views, assets), routes, storage, vendor, cùng các tập tin cấu hình .env, composer.json, artisan.
- Cơ chế định tuyến (Routing): Phân loại các phương thức
Route::get, Route::post, Route::put, Route::delete, Route::match, Route::any, Route::group (kèm tiền tố prefix và middleware), truyền tham số biến qua đường dẫn (cú pháp {id}) và cấu trúc Route::resource.
| HTTP Verb |
Đường dẫn (Path) |
Tên Action trong Controller |
Tên định danh Route (Route Name) |
GET |
/profile |
index |
profile.index |
GET |
/profile/create |
create |
profile.create |
POST |
/profile |
store |
profile.store |
GET |
/profile/{id} |
show |
profile.show |
GET |
/profile/{id}/edit |
edit |
profile.edit |
PUT/PATCH |
/profile/{id} |
update |
profile.update |
DELETE |
/profile/{id} |
destroy |
profile.destroy |
- Blade Template Engine: Cấu trúc kế thừa giao diện bằng thẻ
@extends, khai báo vùng nội dung @yield('content'), @section, nhúng khối giao diện con qua @include, và các vòng lặp/cấu trúc rẽ nhánh điều kiện (@for, @foreach, @forelse, @while, @if - @else).
- Controller và Query Builder: Cách tạo bộ điều khiển thủ công hoặc qua câu lệnh CLI
php artisan make:controller [Name] --resource; cấu hình tham số cơ sở dữ liệu trong .env; các phương thức truy vấn dữ liệu (select, where, join, leftJoin, union, orderBy, inRandomOrder, groupBy, having, insert).
- Model và Eloquent ORM: Định nghĩa bảng tương ứng qua thuộc tính
protected $table, quản lý cột an toàn qua protected $fillable, các thao tác CRUD (all, find, where, save, update, delete, destroy).
- Các mối quan hệ trong Eloquent: Hiện thực 6 quan hệ dữ liệu: One to One (
hasOne, belongsTo), One to Many (hasMany, belongsTo), Many to Many (belongsToMany), Has Many Through (hasManyThrough), Polymorphic Relations và Many to Many Polymorphic Relations.
- Laravel Collections: Khởi tạo đối tượng tập hợp dữ liệu và sử dụng các phương thức xử lý mảng tích hợp:
all(), filter(), except(), count(), avg(), sum(), chunk(), first(), get(), sortBy(), sortByDesc().
- Thành phần bổ trợ khác: Database Migrations (hàm
up và down), Seeding dữ liệu mẫu, Form Request Validation (xử lý lỗi trực tiếp hoặc qua lớp Request riêng biệt), cơ chế Authentication và Middleware phân quyền người dùng.
CHƯƠNG 3: ĐĂNG NHẬP BẰNG FACEBOOK VÀ NHỮNG SOCIAL TƯƠNG TỰ
Chương 3 trình bày các bước kích hoạt hệ thống xác thực người dùng thông qua mạng xã hội:
- Cài đặt và tích hợp gói thư viện
laravel/socialite vào cấu hình dự án.
- Thiết lập ứng dụng Facebook Developers, đăng ký tài khoản nhà phát triển và trích xuất hai thông số bảo mật: App ID và App Secret Key.
- Cấu hình chuyển hướng (redirect URI) và ánh xạ thông tin tài khoản Facebook về hệ thống cơ sở dữ liệu nội bộ.
CHƯƠNG 4: GỬI MAIL TRONG LARAVEL
Chương 4 mô tả cấu hình hệ thống gửi thư điện tử tự động:
- Cấu hình thông số dịch vụ Google Service/SMTP trong tập tin môi trường
.env.
- Xây dựng cấu trúc gửi thư cơ bản và tùy biến nội dung mẫu email (tiêu đề, nội dung HTML, tệp đính kèm) nhằm phục vụ các nghiệp vụ như kích hoạt tài khoản, thông báo nhận lớp hoặc khôi phục mật khẩu.
CHƯƠNG 5: PHÂN TÍCH YÊU CẦU ỨNG DỤNG
Chương 5 phân tích hệ thống chức năng và biểu diễn các quy trình nghiệp vụ thông qua 35 sơ đồ UML:
- Hệ thống sơ đồ Use Case: Bao gồm Use Case tổng quát diễn đàn, Use Case Tương tác người dùng, Quản lý bài viết, Quản lý tin tức, Quản lý thông báo, Quản lý lớp học, Đăng ký gia sư, Quản lý thông tin cá nhân, Quản lý bài viết diễn đàn, Quản lý báo cáo diễn đàn, Quản lý nhận lớp và Quản lý thành viên diễn đàn.
- Phân tích luồng nghiệp vụ chi tiết: Xây dựng cặp lược đồ hoạt động (Activity Diagram) và lược đồ tuần tự (Sequence Diagram) cho từng quy trình:
- Nghiệp vụ Đăng ký tài khoản.
- Nghiệp vụ Đăng nhập hệ thống.
- Nghiệp vụ Tạo bài viết mới trên diễn đàn.
- Nghiệp vụ Đăng ký mở lớp học mới (dành cho phụ huynh/người học).
- Nghiệp vụ Nhận lớp giảng dạy (dành cho gia sư).
- Nghiệp vụ Bình luận tương tác.
- Nghiệp vụ Đăng ký tìm lớp dạy kèm.
- Nghiệp vụ Theo dõi / Bỏ theo dõi Tag chủ đề.
- Nghiệp vụ Xác thực lớp học (dành cho Quản trị viên).
- Nghiệp vụ Xác thực yêu cầu tìm lớp (dành cho Quản trị viên).
- Sơ đồ lớp (Class Diagram): Đặc tả các thuộc tính, phương thức và mối quan hệ phụ thuộc giữa các thực thể phần mềm trong toàn bộ hệ thống.
CHƯƠNG 6: THIẾT KẾ CƠ SỞ DỮ LIỆU
Chương 6 đặc tả cấu trúc các bảng dữ liệu chính trong hệ thống website cung cấp gia sư:
| Tên bảng dữ liệu |
Vai trò và chức năng lưu trữ trong hệ thống |
academic_levels |
Quản lý danh mục các cấp học, trình độ học vấn của gia sư và học sinh |
class_detail |
Lưu trữ thông tin chi tiết về lớp học (môn học, địa chỉ, thời gian, mức lương, yêu cầu) |
class_receive |
Quản lý trạng thái và thông tin tiếp nhận lớp học của người dạy |
teacher_receive |
Ghi nhận thông tin phân công, tiếp nhận gia sư đối với từng yêu cầu học |
user_detail |
Lưu trữ thông tin chi tiết cá nhân của người dùng (họ tên, ngày sinh, liên hệ, địa chỉ) |
user_images |
Quản lý các tệp hình ảnh đính kèm (ảnh đại diện, ảnh bằng cấp, chứng chỉ xác thực) |
user_inforteachings |
Lưu trữ thông tin chuyên môn giảng dạy, kinh nghiệm và chuyên ngành của gia sư |
CHƯƠNG 7: CÀI ĐẶT ỨNG DỤNG
Chương 7 hướng dẫn thiết lập môi trường phát triển cục bộ và cấu trúc dự án:
- Cài đặt gói máy chủ web tích hợp Apache và MySQL thông qua XAMPP hoặc WAMP.
- Cài đặt trình quản lý gói phụ thuộc Composer cho PHP.
- Khởi tạo dự án Laravel bằng lệnh Composer và giới thiệu chi tiết cây thư mục của mã nguồn.
CHƯƠNG 8: THIẾT KẾ GIAO DIỆN VÀ XỬ LÝ
Chương 8 mô tả chi tiết giao diện người dùng và thuật toán xử lý logic cho 9 màn hình chính:
- Màn hình trang chủ: Hiển thị tổng quan các lớp học mới, gia sư nổi bật, danh mục tìm kiếm nhanh và bài viết tin tức.
- Màn hình đăng nhập: Biểu mẫu xác thực tài khoản truyền thống và nút liên kết đăng nhập nhanh qua Facebook.
- Màn hình lớp học: Danh sách các lớp cần tìm gia sư kèm bộ lọc phân trang, tìm kiếm theo khu vực và môn học.
- Màn hình giáo viên: Danh sách hồ sơ gia sư, thông tin chuyên môn và mức lương giảng dạy.
- Màn hình cộng đồng (Diễn đàn): Nơi người dùng và gia sư trao đổi kinh nghiệm, tạo chủ đề và thảo luận.
- Màn hình tin tức: Cập nhật các thông tin giáo dục và thông báo từ ban quản trị.
- Màn hình đăng ký: Biểu mẫu tạo mới tài khoản cho các vai trò phụ huynh hoặc giáo viên/sinh viên.
- Màn hình quên mật khẩu: Quy trình gửi email xác nhận và cấp phát mã thiết lập lại mật khẩu.
- Màn hình quản trị (Admin): Bảng điều khiển dành cho người quản trị để duyệt lớp học, xác thực gia sư, quản lý bài viết và người dùng.
CHƯƠNG 9: KIỂM THỬ ỨNG DỤNG
Chương 9 trình bày kế hoạch kiểm thử chức năng và các kịch bản kiểm thử (Testcase):
- Kiểm thử vai trò người dùng: Kiểm thử các chức năng đăng ký, đăng nhập, chỉnh sửa hồ sơ, đăng bài tìm gia sư, gửi yêu cầu nhận lớp, bình luận diễn đàn và đổi mật khẩu.
- Kiểm thử vai trò Admin: Kiểm thử quyền truy cập bảng quản trị, duyệt yêu cầu đăng lớp, duyệt hồ sơ gia sư, khóa tài khoản vi phạm và quản lý danh mục hệ thống.
- Tiến trình sửa lỗi (Fix bug): Ghi nhận các lỗi phát sinh trong quá trình kiểm thử kịch bản và tiến hành cập nhật mã nguồn xử lý.
CHƯƠNG 10: KẾT LUẬN
Chương 10 tổng kết toàn bộ quá trình thực hiện đồ án tốt nghiệp:
- Đánh giá mức độ hoàn thành các mục tiêu chức năng và kỹ thuật đã đề ra.
- Trình bày bài học kinh nghiệm về quản lý tiến độ, làm việc nhóm và tiếp cận công nghệ mới.
- Định hướng các giải pháp phát triển, mở rộng hệ thống trong tương lai.
CHƯƠNG 11: TÀI LIỆU THAM KHẢO
Liệt kê danh mục các sách, tài liệu nghiên cứu và nguồn trực tuyến được sử dụng trong suốt quá trình xây dựng đồ án.
Thiết kế và triển khai
1. Kiến trúc hệ thống và công nghệ
Hệ thống website HDLearning được xây dựng trên nền tảng kiến trúc phân tầng:
- Backend: Sử dụng PHP kết hợp Framework Laravel. Hệ thống xử lý các yêu cầu định tuyến qua Controller, tương tác cơ sở dữ liệu bằng Eloquent ORM và Query Builder, đồng thời xây dựng các RESTful API phục vụ kết nối dữ liệu.
- Cơ sở dữ liệu: Hệ quản trị cơ sở dữ liệu quan hệ MySQL, quản lý thông qua giao diện phpMyAdmin và đồng bộ cấu trúc bằng Laravel Migrations.
- Frontend & Giao diện: Sử dụng công cụ Blade Template Engine kế thừa cấu trúc layout, tích hợp định dạng CSS/JS đáp ứng giao diện và hướng tới cấu trúc Single Page Application kết hợp xử lý API.
- Dịch vụ tích hợp bên thứ ba: Sử dụng Laravel Socialite kết nối Facebook API và dịch vụ SMTP kết nối Google Service để gửi email xác thực.
2. Kế hoạch và tiến độ triển khai
Quá trình phân tích, thiết kế, lập trình và kiểm thử được triển khai xuyên suốt 19 tuần:
| Tuần thực hiện |
Nội dung công việc triển khai |
Thành viên đảm nhiệm |
| Tuần 01 (05/03 – 10/03) |
Gặp giảng viên hướng dẫn nhận yêu cầu, xác định mục tiêu nghiên cứu, khảo sát hiện trạng, lập kế hoạch tuần |
Huỳnh Trung Đăng, Lê Hồng Hải |
| Tuần 02 (11/03 – 17/03) |
Phân tích chức năng chính của website, dựng bản vẽ Mockup giao diện, thiết kế CSDL trên phpMyAdmin |
Huỳnh Trung Đăng, Lê Hồng Hải |
| Tuần 03 (18/03 – 24/03) |
Cài đặt công cụ, thiết lập môi trường máy chủ, thiết kế và cài đặt các package, Controller cần thiết |
Huỳnh Trung Đăng, Lê Hồng Hải |
| Tuần 04 (25/03 – 31/03) |
Tìm hiểu và cài đặt chức năng đăng nhập truyền thống cùng đăng nhập qua Google, Facebook |
Huỳnh Trung Đăng, Lê Hồng Hải |
| Tuần 05 (01/04 – 07/04) |
Thiết kế và cài đặt chức năng quản lý thông tin cá nhân (Profile) cho giáo viên |
Huỳnh Trung Đăng |
| Tuần 06 (08/04 – 14/04) |
Thiết kế và cài đặt chức năng quản lý thông tin cá nhân (Profile) cho phụ huynh học sinh |
Lê Hồng Hải |
| Tuần 07 (15/04 – 21/04) |
Khảo sát và tìm hiểu nghiệp vụ đăng ký lớp học mới và tạo một lớp học |
Huỳnh Trung Đăng, Lê Hồng Hải |
| Tuần 08 (22/04 – 28/04) |
Lập trình thiết kế chức năng đăng ký lớp học mới và tạo lớp học |
Huỳnh Trung Đăng, Lê Hồng Hải |
| Tuần 09 (29/04 – 05/05) |
Khảo sát và tìm hiểu nghiệp vụ đăng ký giáo viên mới |
Huỳnh Trung Đăng, Lê Hồng Hải |
| Tuần 10 (06/05 – 12/05) |
Lập trình thiết kế chức năng đăng ký giáo viên mới và tạo giáo viên |
Huỳnh Trung Đăng, Lê Hồng Hải |
| Tuần 11 (13/05 – 19/05) |
Phân tích nghiệp vụ phân quyền và quản lý của người dùng Admin |
Huỳnh Trung Đăng, Lê Hồng Hải |
| Tuần 12 (20/05 – 26/05) |
Lập trình thiết kế các chức năng phân hệ quản trị Admin |
Huỳnh Trung Đăng, Lê Hồng Hải |
| Tuần 13 (27/05 – 02/06) |
Thiết kế và ghép nối các màn hình giao diện chính của website |
Huỳnh Trung Đăng, Lê Hồng Hải |
| Tuần 14 (03/06 – 09/06) |
Nghiên cứu và thiết kế chức năng trò chuyện (chat) qua Facebook |
Huỳnh Trung Đăng, Lê Hồng Hải |
| Tuần 15 (10/06 – 16/06) |
Xây dựng danh sách kịch bản kiểm thử (Testcase) và thực thi kiểm thử toàn bộ chức năng |
Huỳnh Trung Đăng, Lê Hồng Hải |
| Tuần 16 (17/06 – 23/06) |
Tiến hành sửa các lỗi (Fix bug) ghi nhận được từ kết quả kiểm thử |
Huỳnh Trung Đăng, Lê Hồng Hải |
| Tuần 17 (24/06 – 30/06) |
Hoàn thiện tài liệu báo cáo khóa luận và chuẩn bị bài thuyết trình |
Huỳnh Trung Đăng, Lê Hồng Hải |
| Tuần 18 (01/07 – 07/07) |
Đồng bộ mã nguồn lên GitHub chốt phiên bản, đóng gói đĩa CD, quay video demo/hướng dẫn sử dụng |
Huỳnh Trung Đăng, Lê Hồng Hải |
| Tuần 19 (08/07 – 14/07) |
Hoàn tất công việc, báo cáo giảng viên hướng dẫn và chỉnh sửa báo cáo lần cuối |
Huỳnh Trung Đăng, Lê Hồng Hải |
Kết quả và đóng góp
1. Kết quả đạt được
- Về mặt kỹ thuật: Nắm vững cấu trúc và kỹ thuật lập trình với Framework Laravel; hiện thực hóa thành công các cơ chế Routing nâng cao, cấu trúc Blade template kế thừa, xây dựng các mô hình dữ liệu qua Eloquent ORM và xử lý truy vấn dữ liệu phức tạp.
- Về mặt chức năng hệ thống:
- Hoàn thiện hệ thống phân quyền 2 cấp độ: Người dùng (sinh viên/gia sư, phụ huynh) và Quản trị viên (Admin).
- Triển khai thành công module xác thực: đăng nhập truyền thống, đăng nhập qua Facebook Socialite và hệ thống gửi thư điện tử phục vụ xác nhận tài khoản/quên mật khẩu.
- Xây dựng đầy đủ các luồng nghiệp vụ: Đăng ký tạo lớp học, tiếp nhận lớp dạy kèm, quản lý hồ sơ chuyên môn gia sư và chuyên mục diễn đàn cộng đồng chia sẻ kiến thức.
- Xây dựng hệ thống quản trị hỗ trợ kiểm duyệt nội dung lớp học và xác thực hồ sơ gia sư trước khi hiển thị công khai.
2. Giải pháp và đóng góp của đề tài
- Giải quyết bài toán kết nối trực tiếp: Cung cấp mô hình kết nối trực tuyến hai chiều giữa phụ huynh và gia sư mà không cần thông qua các trung tâm môi giới truyền thống, giúp sinh viên tránh được rủi ro bị lừa đảo phí nhận lớp.
- Tăng cường tính minh bạch thông tin: Cho phép phụ huynh xem xét chi tiết hồ sơ, trình độ học vấn, bằng cấp và chuyên môn của gia sư đã được ban quản trị xác thực trước khi đồng ý tiếp nhận giảng dạy.
- Định hướng phát triển API: Xây dựng hệ thống RESTful API tạo tiền đề cho việc tích hợp ứng dụng giao diện Single Page hoặc mở rộng ứng dụng trên các nền tảng thiết bị di động trong tương lai.
Hạn chế và hướng nghiên cứu tiếp
1. Hạn chế của đề tài
Dựa trên phạm vi nghiên cứu và khảo sát thực tế được nhóm tác giả ghi nhận:
- Hệ thống website chưa hỗ trợ cơ chế đa ngôn ngữ (mới chỉ vận hành đơn ngữ tiếng Việt).
- Chức năng giao tiếp trực tiếp (nhắn tin thời gian thực) giữa phụ huynh và gia sư trên website vẫn phụ thuộc vào liên kết mạng xã hội bên thứ ba, chưa xây dựng module chat nội bộ độc lập.
- Thời gian nghiên cứu tập trung nhiều vào việc hoàn thiện cấu trúc backend và RESTful API, do đó một số tính năng mở rộng chuyên sâu của diễn đàn chưa được hiện thực hóa toàn diện.
2. Hướng nghiên cứu và phát triển tiếp theo
- Hoàn thiện trọn vẹn toàn bộ hệ thống các API theo chuẩn RESTful để tách biệt hoàn toàn giữa tầng backend và frontend.
- Ứng dụng công nghệ Angular để hoàn thiện giao diện ứng dụng Single Page Application (SPA), nâng cao hiệu năng tải trang và trải nghiệm người dùng.
- Tích hợp thêm các phương thức thanh toán điện tử trực tuyến an toàn và xây dựng module nhắn tin tức thời (Real-time Chat) trực tiếp trên nền tảng.
Giá trị tham khảo
Tài liệu khóa luận mang lại giá trị tham khảo hữu ích cho các đối tượng sau:
- Sinh viên ngành Công nghệ thông tin, Kỹ thuật phần mềm: Là tài liệu tham khảo thực tế về quy trình phát triển một ứng dụng web hoàn chỉnh từ khâu khảo sát, phân tích nghiệp vụ UML (biểu đồ Use Case, Activity, Sequence, Class Diagram) đến khâu cài đặt cơ sở dữ liệu và viết mã nguồn.
- Người nghiên cứu Framework Laravel: Cung cấp tài liệu tổng hợp rõ ràng về các thành phần cốt lõi của Laravel (Routing, Middleware, Controllers, Blade, Query Builder, Eloquent Relationships, Collections, Migrations, Socialite, Mail Service) kèm các đoạn mã minh họa cụ thể.
- Người phát triển các hệ thống kết nối dịch vụ/gia sư: Cung cấp mô hình cơ sở dữ liệu quan hệ (
academic_levels, class_detail, class_receive, teacher_receive, user_detail, user_inforteachings) và các luồng nghiệp vụ xác thực lớp học phục vụ cho các đề tài có bài toán tương tự.
Câu hỏi thường gặp
1. Mục tiêu chính của việc xây dựng hệ thống website HDLearning là gì?
Hệ thống HDLearning được xây dựng nhằm tạo ra môi trường kết nối trực tuyến an toàn, trực tiếp giữa sinh viên có nhu cầu làm gia sư và phụ huynh học sinh có nhu cầu tìm người dạy kèm. Hệ thống giúp loại bỏ rủi ro bị lừa đảo phí nhận lớp qua các trung tâm môi giới hoặc nhóm mạng xã hội trung gian, đồng thời giúp phụ huynh kiểm chứng được năng lực, thông tin cá nhân của gia sư một cách minh bạch.
2. Bốn website gia sư được nhóm tác giả khảo sát hiện trạng trong Chương 1 là những hệ thống nào?
Nhóm tác giả đã tiến hành khảo sát, phân tích chức năng, giao diện, ưu điểm và nhược điểm của 4 website gồm: Gia sư Tài Năng Biên Hòa, Gia sư Tiên Phong, Gia sư Bách Khoa và Gia sư Đất Việt.
3. Trong cơ sở lý thuyết về Laravel, những mối quan hệ (Relationships) nào của Eloquent ORM được trình bày?
Khóa luận trình bày 6 mối quan hệ trong Eloquent ORM của Laravel gồm: One to One (Một - Một), One to Many (Một - Nhiều), Many to Many (Nhiều - Nhiều), Has Many Through (Nhiều - Nhiều qua bảng trung gian), Polymorphic Relations (Quan hệ đa hình) và Many To Many Polymorphic Relations (Quan hệ nhiều - nhiều đa hình).
4. Hệ thống cơ sở dữ liệu của đồ án bao gồm những bảng thực thể chính nào?
Hệ thống cơ sở dữ liệu của đồ án được thiết kế gồm các bảng thuộc tính chính: academic_levels (cấp học/trình độ), class_detail (chi tiết lớp học), class_receive (tiếp nhận lớp), teacher_receive (tiếp nhận gia sư), user_detail (thông tin người dùng), user_images (hình ảnh, chứng chỉ) và user_inforteachings (thông tin giảng dạy của giáo viên).
5. Phân hệ Quản trị viên (Admin) trong hệ thống đảm nhiệm những nghiệp vụ xác thực cốt lõi nào?
Phân hệ Quản trị viên chịu trách nhiệm thực thi hai luồng nghiệp vụ kiểm duyệt trọng yếu: nghiệp vụ Xác thực lớp học (kiểm tra và phê duyệt các lớp học mới do phụ huynh đăng ký trước khi đưa lên hệ thống) và nghiệp vụ Xác thực tìm lớp/hồ sơ gia sư (kiểm tra thông tin cá nhân, bằng cấp của gia sư trước khi cấp quyền nhận lớp).
Kết luận
Đồ án tốt nghiệp "Tìm hiểu và xây dựng website cung cấp gia sư" của sinh viên Huỳnh Trung Đăng và Lê Hồng Hải đã nghiên cứu và vận dụng thành công nền tảng PHP Framework Laravel để giải quyết bài toán kết nối giáo dục thực tiễn. Hệ thống HDLearning được phân tích nghiệp vụ chặt chẽ qua 35 lược đồ UML, thiết kế cơ sở dữ liệu quan hệ hoàn chỉnh và hiện thực hóa đầy đủ các chức năng phân quyền, đăng nhập mạng xã hội, quản lý lớp học và kiểm duyệt quản trị. Đây là công trình kỹ thuật có giá trị tham khảo tốt cho sinh viên ngành Công nghệ Thông tin về quy trình thiết kế, triển khai ứng dụng web hướng dịch vụ và quản trị cơ sở dữ liệu hiện đại.