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

Một phần của tài liệu Xây dựng website học trực tuyến cho trung tâm giáo dục topedutech (Trang 37)

7. Cấu trúc đề tài:

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

2.3.1 Mô tả các bảng dữ liệu

Bảng chứa thông tin các danh mục khóa học

Vùng Kiểu dữ

liệu Kích thước Diễn giải Ràng buộc

38 TenDanhMuc Nvarchar 100 Tên danh mục

MoTaDanhMuc Nvarchar 1000 Mô tả danh mục

KichHoat Bit Kích hoạt danh mục

Bảng danh mục các khóa học bao gồm 4 thuộc tính, cụ thể: Mã danh mục, Tên danh mục, Mô tả danh mục, Kịch hoạt trong đó thuộc tính Mã danh mục sẽ đóng vai trò làm khóa chính của bảng.

Bảng chứa thông tin các khóa học

Vùng Kiểu dữ liệu Kích

thước Diễn giải Ràng buộc

MaKhoaHoc Int 4 Mã khóa học Khóa chính

TenKhoaHoc Nvarchar 100 Tên khóa học

GiaKhoaHoc Decimal Giá khóa học

HinhAnhKhoaHoc Nvarchar 100 Hình khóa học MoTaKhoaHoc Nvarchar Max Mô tả khóa học LoaiKhoaHoc Nvarchar 100 Khóa học dạy

môn học nào NgayTao Smalldatetime Ngày tạo

KichHoat Bit Kích hoạt khoá

học

MaDanhMuc Int 4 Mã danh mục Khóa ngoại

Bảng chứa thông tin các khóa học bao gồm 9 thuộc tính, cụ thể: Mã khóa học, Tên khóa học, Giá khóa học, Hình ảnh khóa học, Mô tả khóa học, Loại khóa học, Ngày

39 tạo, Kích hoạt, Mã danh mục trong đó thuộc tính Mã khóa học sẽ đóng vai trò làm khóa chính, Mã danh mục sẽ đóng vai trò làm khóa ngoại của bảng.

Bảng chứa thông tin chi tiết giỏ hàng mua khóa học

Vùng Kiểu dữ liệu Kích

thước Diễn giải Ràng buộc

MaGioHang Nvarchar 100 Mã giỏ hàng Khóa chính

MaKhoaHoc Int 4 Mã sản phẩm Khóa ngoại

MoTaChiTiet Nvarchar 50 Mô tả chi tiết đơn đặt hàng

Xoa Bit Hủy bỏ chi

tiết đơn đặt hàng

Bảng chứa thông tin chi tiết giỏ hàng mua khóa học bao gồm 4 thuộc tính, cụ thể: Mã giỏ hàng, Mã khóa học, Mô tả chi tiết, Xóa trong đó thuộc tính Mã giỏ hàng sẽ đóng vai trò làm khóa chính, Mã khóa học sẽ đóng vai trò làm khóa ngoại của bảng.

Bảng chứa thông tin mua khóa học của học viên

Vùng Kiểu dữ liệu Kích

thước Diễn giải Ràng buộc

MaDon Int 4 Mã đơn Khóa chính

MaHocVien Nvarchar 50 Mã học viên Khóa ngoại Email Varchar 100 Email học viên

DienThoai Nvarchar 50 Điện thoại của học viên

40 Ten Nvarchar 100 Họ tên học viên

MoTa Nvarchar 100 Mô tả đơn đặt hàng

NgayTao Smalldatetime Ngày tạo đơn mua khóa học

TrangThai Int 4 Tình trạng đơn

mua khóa học

KichHoat Bit Kích hoạt khóa

học trên tài khoản học viên TongTien Decimal

Bảng chứa thông tin mua khóa học của học viên bao gồm 10 thuộc tính, cụ thể: Mã đơn, Mã học viên, Email, Điện thoại, Tên, Mô tả, Ngày tạo, Trạng thái, Kích hoạt, Tổng tiền trong đó thuộc tính Mã đơn sẽ đóng vai trò làm khóa chính, Mã học viên sẽ đóng vai trò làm khóa ngoại của bảng.

Bảng chứa thông tin tài liệu

Vùng Kiểu dữ liệu Kích

thước Diễn giải Ràng buộc

MaTaiLieu Int 4 Mã tài liệu Khóa chính

TieuDe Nvarchar 255 Tiêu đề

NoiDungNgan Ntext Nội dung

ngắn

41 NoiDungHTML Ntext

Nội dung tài liệu dưới dạng HTML

HinhAnh Nvarchar 50 Hình ảnh tài liệu NgayTao Smalldatetime Ngày tạo

Bảng chứa thông tin tài liệu bao gồm 7 thuộc tính, cụ thể: Mã tài liệu, Tiêu đề, Nội dung ngắn, Nội dung, Nội dung HTML, Hình ảnh, Ngày tạo trong đó thuộc tính Mã tài liệu sẽ đóng vai trò làm khóa chính của bảng.

Bảng chứa thông tin học viên

Vùng Kiểu dữ liệu Kích

thước Diễn giải Ràng buộc

TenDangNhap Nvarchar 50 Tên đăng nhập Khóa chính

MatKhau Nvarchar 50 Mật khẩu

HoTen Nvarchar 100 Họ và tên

Email Varchar 100 Email

DiaChi Nvarchar 100 Địa chỉ

DienThoai Nvarchar 50 Điện thoại

Bảng chứa thông tin học viên bao gồm 6 thuộc tính, cụ thể: Tên đăng nhập, Mật khẩu, Họ tên, Email, Địa chỉ, Điện thoại trong đó thuộc tính Tên đăng nhập sẽ đóng vai trò làm khóa chính của bảng.

42 Sau khi thiết bảng dữ liệu, từ mối liên hệ giữa các bảng, khóa chính, khóa ngoại, ta có sơ đồ mỗi quan hệ giữa các bảng trong cơ sở dữ liệu của website học trực tuyến tại trung tâm giáo dục Topedutech như sau:

Hình 2.10: Sơ đồ quan hệ dữ liệu giữa các bảng Tiểu kết

Thông qua chương 2, khóa luận đã khảo sát và đưa ra những yêu cầu cần thiết cho quá trình xây dựng web. Cùng với đó phân tích và đặc tả các nhiệm vụ của hệ thống. Xây dựng bảng dữ liệu, mối quan hệ giữa các bảng dữ liệu với nhau. Chương 2 là bản lề để xây dựng website và bước vào chương 3.

43

CHƯƠNG 3: CÀI ĐẶT VÀ CHẠY THỬ WEBSITE 3.1. Môi trường cài đặt

• Cài đặt và chạy thử trên máy tính cá nhân, sử dụng công cụ XAMPP có sẵn Hệ quản trị cơ sở dữ liệu MySQL.

• Giới thiệu về phần mềm Xampp

Là phần mềm web server thuộc bản quyền của GNU General Public Licence,XAMPP do Apache Friends phân phối và phát triển. Đây là chương trình tạo máy chủ Web (Web Server) được tích hợp sẵn Apache, PHP, MySQL, FTP Server, Mail Server và các công cụ như phpMyAdmin.

Web Server (máy phục vụ Web) là máy tính cài đặt phần mềm phục vụ Web. Đôi khi người ta cũng gọi chính phần mềm đó là Web Server.

Hiểu đơn giản, XAMPP là ứng dụng dùng để tạo và điều hành máy chủ nội bộ (localhost). Được ghép của 2 chữ “local” (máy tính của bạn) và “host” (máy chủ), localhost là thuật ngữ chỉ máy chủ chạy trên máy tính cá nhân.

XAMPP chính là một phần mềm cho phép bạn giả lập môi trường server hosting. Nhờ server hosting giả định này, bạn có thể chạy thử demo một website ngay trên chiếc máy vi tính của bạn không cần thiết phải mua hosting hay VPS.

XAMPP hoạt động dựa trên sự tích hợp của 5 phần mềm chính là Cross- Platform (X), Apache (A), MySQL (M), PHP (P) và Perl (P), nên tên gọi XAMPP cũng là viết tắt từ chữ cái đầu của 5 phần mềm này:

• Chữ X đầu tiên là viết tắt của hệ điều hành mà nó hoạt động với: Linux, Windows và Mac OS X.

• Apache: Web Server mã nguồn mở Apache là máy chủ được sử dụng rộng rãi nhất trên toàn thế giới để phân phối nội dung Web. Ứng dụng được cung cấp dưới dạng phần mềm miễn phí bởi Apache Software Foundation.

• MySQL: Trong MySQL, XAMPP chứa một trong những hệ quản trị cơ sở dữ liệu quan hệ phổ biến nhất trên thế giới. Kết hợp với Web Server Apache

44 và ngôn ngữ lập trình PHP, MySQL cung cấp khả năng lưu trữ dữ liệu cho các dịch vụ Web. Các phiên bản XAMPP hiện tại đã thay thế MySQL bằng MariaDB (một nhánh của dự án MySQL do cộng đồng phát triển, được thực hiện bởi các nhà phát triển ban đầu).

• PHP: Ngôn ngữ lập trình phía máy chủ PHP cho phép người dùng tạo các trang Web hoặc ứng dụng động. PHP có thể được cài đặt trên tất cả các nền tảng và hỗ trợ một số hệ thống cơ sở dữ liệu đa dạng.

• Perl: ngôn ngữ kịch bản Perl được sử dụng trong quản trị hệ thống, phát triển Web và lập trình mạng. Giống như PHP, Perl cũng cho phép người dùng lập trình các ứng dụng Web động.

3.2. Một số giao diện chức năng của website

Giao diện trang chủ sẽ hiển thị hết sẽ hiển thị các chức của trang web cho phép người dùng thao tác với hệ thống, hiển thị danh mục các khóa học đang sẵn có trên hệ thống của trung tâm

45 Giao diện thể hiện chi tiết các danh mục khóa học có sẵn trên hệ thống của trung tâm để học viên và khách hàng dễ dàng tìm kiếm và lựa chọn

Hình 3.2: Danh mục khóa học

Giao diện khi học viên đăng nhập.Học viên cần nhập chính xác các thông tin tài khoản và mật khẩu để có thể truy cập. Nếu quên mật khẩu có thể chọn dòng “Quên mật khẩu”.

46 Giao diện đăng ký cho phép người dung điền các trường thông tin cần thiết để tiến hành đăng ký tài khoản học viên. Sau khi đăng ký sẽ có một mail gửi liên kết để xác nhận đăng ký tài khoản. Xác nhận đăng ký thành công xong sẽ được chuyển hướng về trang đăng nhập.

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

Giao diện sau khi học viên chọn một danh mục khóa học bất kì, thể hiện chi tiết các bài học có trong danh mục đó

47 Tại trang này người quản trị có thể quản lý các thông tin tài khoản của học viên như: số điện thoại liên hệ, email, ngày đăng ký, khóa học đã mua

Hình 3.6: Giao diện quản lý danh sách học viên

Khi muốn thêm mới một thêm mới một danh mục môn học hoặc một bài học thuộc danh mục, người quản trị có thể truy cập vào khu vực riêng để thực hiện thao tác trên.

48 Tại đây nhà quản lý có thể quản lý, thêm mới và cấp quyền cho các tài khoản admin quản lý từng chức vụ khác nhau.

Hình 3.8: Giao diện thêm mới tài khoản admin

49 Dưới đây là mã nguồn của một số chức năng cơ bản như đăng nhập và tìm kiếm của trang web. Mã nguồn của LoginController, phần này sẽ thực hiện chức năng đăng nhập vào trang web.

<?php namespace App\Http\Controllers\Auth; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; use App\Http\Controllers\Controller; use App\Providers\RouteServiceProvider; use Illuminate\Foundation\Auth\AuthenticatesUsers; use Auth; use App\User;

class LoginController extends Controller {

use AuthenticatesUsers; /**

* Where to redirect users after login. *

* @var string */

protected $redirectTo = RouteServiceProvider::HOME; /**

50 *

* @return void */

public function __construct() {

$this->middleware('guest')->except('logout'); // $this->middleware('verified');

}

public function postLogin(Request $request) { $rules = [ 'user_name' => 'required|', 'user_password' => 'required|min:8|max:64' ]; $messages = [

'user_name.required' => 'Vui lòng nhập email', 'user_password.required' => 'Vui lòng nhập mật khẩu',

'user_password.min' => 'Vui lòng nhập password tối thiểu 8 ký tự', 'user_password.max' => 'Vui lòng nhập password tối đa 64 ký tự', ];

51 if ($validator->errors()->messages()) { return response()->json([ 'status' => 'validator_fail', 'messages' => $validator->errors()->messages() ], 400); } $name = $request->user_name; $password = $request->user_password;

// $valid = Auth::attempt(['name'=>$name, 'password'=>$password]); $user = User::where('name', $name)->first();

if ($user->hasVerifiedEmail()) { if (Auth::attempt(['name'=>$name, 'password'=>$password])) { // return $this->sendLoginResponse($request); return response()->json([ 'status' => true ], 200); } else { return response()->json([ 'status' => 'auth_fail',

'messages' => 'User hoặc mật khẩu chưa đúng' ], 400);

52 }

}else {

return response()->json([ 'status' => 'veri_fail',

'messages' => 'Chưa xác minh email' ], 400); } // var_dump ($valid); // die(); // if ($valid) { // return response()->json([ // 'status' => true // ], 200); // } else { // return response()->json([ // 'status' => 'auth_fail',

// 'messages' => 'Email hoặc mật khẩu chưa đúng' // ], 400);

// } }

53 Mã nguồn của FrontController, phần này sẽ thực hiện chức năng tìm kiếm khóa học của học viên và khách vãng lai.

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; use DB; use Session; use Auth;

class FrontController extends Controller {

public function searchLive(Request $request) {

if ($request->ajax()) {

$products = DB::table('products')->where('product_name', 'LIKE', '%'.$request->search.'%')->limit(5)->get();

if ($products->count() !== 0) { return response()->json([ 'status' => true,

'message' => 'Tìm Thấy Khóa Học', 'products' => $products

], 200); } else {

54 return response()->json([

'status' => 'invalid',

'message' => 'Không Tìm Thấy Khóa Học' ], 200);

} } }

public function searchProduct(Request $request) { $search = $request->searchproduct; $products = DB::table('products') ->where('product_name','LIKE',"%$search%")->paginate(12); return view('pages.search',['products'=>$products,'search'=>$search]); } } 3.3. Sự khác biệt so với hệ thống cũ

Từ quá trình cài đặt và thử nghiệm có thể thấy sự khác biệt mà website bán học trực tuyến mang lại. Website cũ của trung tâm chỉ có chức năng trình bày, giới thiệu các khóa học, mang tính thông tin tới người dùng. Website thử nghiệm được xây dựng có các chức năng giúp học viên có thể dễ dàng tìm kiếm các khóa học và các tài liệu học tập cần thiết. Đây là một sự cải tiến so với trang web cũ của trung tâm, giúp cho học viên tiết kiệm rất nhiều thời gian và nâng cao trải nghiệm so việc tìm kiếm thủ công và tìm tài liệu từ những nguồn không chính cống bên ngoài. Học viên có thể tải hoặc xem lại lịch sử các khóa học, tài liệu mà mình đã tìm kiếm bất cứ khi nào. Các trang quản trị cũng được tối ưu hơn website

55 cũ, có nhiều chức năng quản lý hơn như quản lý danh mục khóa học, quản lý tài liệu học tập, quản lý đơn hang mua khóa học, cài đặt website để thay đổi tên, liên kết đến các trang mạng xã hội, logo, số điện thoại, email, địa chỉ liên hệ của công ty.

Tiểu kết

Để kiểm tra hệ thống có hoạt động chính xác hay không thì bước thử nghiệm vô cùng quan trọng. Ở chương 3, tác giả khóa luận đã thực hiện việc cài đặt trang web. Mỗi giao diện web tương ứng với với những chức năng, nghiệp vụ cụ thể, ở đây mỗi người dung, người quản trị có thể thực hiện các tác vụ khác nhau. Hoạt động dạy và học trực tuyến được mô tả chi tiết về cách thức hoạt động. Thông qua những thử nghiệm hoạt động đó tác giả còn đưa ra các điểm khác biệt về tính năng so với website cũ. Ở website này có nhiều chức năng hơn đáp ứng được nhiều nhu cầu của học viên hơn, đem lại nhiều trải nhiệm tốt và tối ưu hơn.

56

KẾT LUẬN

Trong thời điểm mà đại dịch bùng phát như hiện nay, nhu cầu về một môi trường học trực tuyến ngày càng cấp thiết. Học tập và trau dồi kiến thức trong mọi hoạt động, mọi lĩnh vực nói chung là những nhu cầu thiết yếu của mỗi người. Việc ứng dụng tin học, ứng dụng những thành tựu khoa học vào việc dạy và học giúp quá trình này cắt giảm bớt thời gian, công sức làm việc nhưng đem lại kết quả cao, thậm chí còn vượt hơn cả các phương pháp học truyền thống bây giờ. Việc cho phát triển website học trực tuyến cho trung tâm giáo dục Topedutech đã mang lại một sự lựa chọn mới mẻ và phù hợp, giúp cho mọi người dễ dàng tiếp cận với các phương pháp học mới. Giao diện than thiện với người dung giúp cho từ người lớn tuổi đến trẻ em cũng đều có thể sử dụng một cách dễ dàng, thuận tiện tiếp cận với những kiến thức mới hoặc cải thiện kiến thức.

Kết quả đạt được

Việc thực hiện khóa luận lần này đã đem lại cho bản thân em rất nhiều kiến thức. Hiểu rõ được mô hình của một website học trực tuyến, hiểu được và thực hành thiết kế cơ sở dữ liệu trên MySQL tích hợp sẵn trên ứng dụng XAMPP. Khảo sát hệ thống và thiết kế hệ thống để đưa ra một website thân thiện với người dùng, giúp học viên tiếp cận từng môn học theo các danh mục cụ thể, từng bài học được thể hiện rõ thông tin đi kèm với các tài liệu học tập khác. Các nhà quản trị cũng có thể dễ dàng quản lý trang web, quản lý tài liệu học tập thông qua các chức năng cơ bản của trang quản trị của website.

Hạn chế

Tuy nhiên việc xây dựng website hiện tại vẫn còn những hạn chế cần phải cải thiện như: lương tài nguyên tài liệu học tập, các môn học còn khiêm tốn, chưa tích hợp được các phương thức thanh toán trực tuyến khi học viên có nhu cầu mua khóa học, tính bảo mật thông tin, bảo mật cơ sở dữ liệu chưa cao, chưa tích hợp được các ứng dụng giúp các học viên có thể trao đồi, trò chuyện trực tiếp với giáo viên,….

57

Hướng phát triển

Để phát triển website ngày càng hoàn thiện, việc tích hợp thêm các thành tựu, ứng dụng khác là rất cần thiết. Để dễ dàng cho học viên mua khóa học hơn cần phải tích hợp các phương thức thanh toán trực tuyến. Để nâng cao chất lượng dạy và học cần phải mở rộng nguồn tài liệu học tập, mở rộng ngân hàng bài học và khóa học, tích hợp các phương thức giúp học viên và giáo viên có thể trò chuyện trực tiếp với nhau. Tạo hòm thư tiếp nhận ý kiến phản hồi, đánh giá chất lượng khóa học của mỗi học viên để cải thiện hơn hệ thống cũng là rất cần thiết.

Một phần của tài liệu Xây dựng website học trực tuyến cho trung tâm giáo dục topedutech (Trang 37)

Tải bản đầy đủ (PDF)

(58 trang)