Tải bản đầy đủ (.pdf) (98 trang)

XÂY DỰNG WEBSITE DIỄN ĐÀN TIẾNG ANH

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.49 MB, 98 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN TỐT NGHIỆP
NGÀNH: CÔNG NGHỆ THÔNG TIN
CHUYÊN NGÀNH: CÔNG NGHỆ PHẦN MỀM

ĐỀ TÀI:

XÂY DỰNG WEBSITE
DIỄN ĐÀN TIẾNG ANH

Người hướng dẫn: THS. NGUYỄN THỊ MINH HỶ
Sinh viên thực hiện: NGUYỄN THẾ CƯỜNG
Số thẻ sinh viên: 102150088
Lớp: 15T2

Đà Nẵng, 12/2019


NHẬN XÉT CỦA NGƯỜI HƯỚNG DẪN
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................


............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................

Đà Nẵng, ngày … tháng … năm 2019
Giảng viên hướng dẫn

Ths. Nguyễn Thị Minh Hỷ


NHẬN XÉT CỦA NGƯỜI PHẢN BIỆN

............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................

............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
..........................................

Đà Nẵng, ngày … tháng … năm 2019


TÓM TẮT
Tên đề tài: Xây dựng website diễn đàn tiếng Anh
Sinh viên thực hiện: Nguyễn Thế Cường
Số thẻ SV: 102150088

Lớp: 15T2

Website diễn đàn tiếng Anh được xây dựng dựa trên nhu cầu học ngoại ngữ, đặc biệt
là tiếng Anh ngày một tăng cao của người dân Việt Nam hiện nay. Website cung cấp một
mơi trường mà mọi người dùng có mong muốn học tiếng Anh đều có thể dễ dàng sử
dụng. Các vấn đề một người tự học tiếng Anh sẽ thường gặp phải sẽ thường bao gồm:
 Cần tìm một người học cùng: Một trong yếu tố rất quan trọng góp phần tạo nên thành
cơng cho một người học tiếng Anh là có một người cùng học cùng. Việc cùng học
tiếng Anh với một người bạn khiến người học tiếng Anh có thể tìm được động lực để
học tập và sẽ nhanh chóng tiến bộ.
 Cần lời giải đáp trong một vấn đề khó: Trong q trình tự học sẽ ln có những vấn đề
khó mà người tự học khơng biết hỏi ai và muốn có một mơi trường để giải đáp cho họ
những vấn đề trên.
 Cần góp ý trong quá trình luyện tập tiếng Anh: Việc tự luyện tập trong tiếng Anh là
điều cần thiết để giúp kĩ năng của người học tiến bộ hơn. Nhưng trong q trình đó

người tự học ln muốn nghe lời góp ý nhận xét của người khác về kĩ năng của mình
để biết mình sai ở đâu và cần cải thiện ở điểm nào.
Hiểu được các vấn đề đó website diễn đàn tiếng Anh được xây dựng nhằm cung cấp
cho người dùng các chức năng như tìm kiếm người cùng học, hỏi đáp các vấn đề khó
khan trong q trình tự học và lấy góp ý nhận xét từ người khác.

i


ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THƠNG TIN

CỘNG HỊA XÃ HƠI CHỦ NGHĨA VIỆT NAM

Độc lập - Tự do - Hạnh phúc

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên: NGUYỄN THẾ CƯỜNG
Số thẻ sinh viên: 102150088
Lớp: 15T2
Khoa: Công nghệ thông tin
Ngành: Công nghệ thông tin
1. Tên đề tài đồ án:
Xây dựng website diễn đàn tiếng Anh
2. Đề tài thuộc diện: ☐ Có ký kết thỏa thuận sở hữu trí tuệ đối với kết quả thực hiện
3. Các số liệu và dữ liệu ban đầu:
Khơng có.
4. Nội dung các phần thuyết minh và tính tốn:
Nội dung của thuyết minh gồm:

Mở đầu: Phần mở đầu của luận văn, giới thiệu về nhu cầu thực tế và lý do thực hiện
đề tài, đồng thời giới thiệu sơ lược về đề tài và mục tiêu phải đạt được.
Chương 1. Cơ sở lý thuyết: trình bày những lý thuyết học được và đã áp dụng vào hệ
thống.
Chương 2. Phân tích và thiết kế: trình bày các hồ sơ phân tích và hồ sơ thiết kế trong
xây dựng hệ thống và luồng hoạt động của hệ thống.
Chương 3. Triển khai và đánh giá kết quả: mô tả cách cài đặt, vận hành hệ thống và
đánh giá kết quả đạt được.
5. Các bản vẽ, đồ thị (ghi rõ các loại và kích thước bản vẽ):
Khơng có.
6. Họ tên người hướng dẫn: THS. NGUYỄN THỊ MINH HỶ
7. Ngày giao nhiệm vụ đồ án:
……../……./ 2019
8. Ngày hoàn thành đồ án:
……../……./ 2019
Đà Nẵng, ngày
Trưởng Bộ môn ……………………..

tháng 12 năm 2019

Người hướng dẫn

ii


LỜI CẢM ƠN
Trên thực tế, khơng có thành cơng nào mà không gắn liền với những sự hỗ trợ, giúp
đỡ dù ít hay nhiều, dù là trực tiếp hay gián tiếp của người khác. Trong suốt thời gian năm
năm qua từ khi bắt đầu học tập ở giảng đường đại học đến nay, em đã nhận được rất nhiều
sự quan tâm, giúp đỡ của q thầy cơ, gia đình và bạn bè.

Em xin chân thành cảm ơn cô - ThS. Nguyễn Thị Minh Hỷ, người đã tận tình hướng
dẫn, cũng như đã tạo mọi điều kiện để em có thể hồn thành đồ án tốt nghiệp này. Nếu
như khơng nhờ những lời hướng dẫn, những đánh giá và chỉ bảo sâu sắc của cơ thì em
nghĩ việc hồn thành đồ án tốt nghiệp của em sẽ khó khăn hơn rất nhiều. Một lần nữa em
xin chân thành cảm ơn cô.
Sau cùng, em xin kính chúc q thầy cơ trong Khoa Công nghệ Thông tin và cô
Nguyễn Thị Minh Hỷ thật dồi dào sức khỏe, niềm tin để tiếp tục thực hiện sứ mệnh cao
đẹp của mình là truyền đạt kiến thức cho thế hệ mai sau.
Một lần nữa em xem chân thành cảm ơn!

Nguyễn Thế Cường

iii


CAM ĐOAN
Em xin cam đoan:
1. Nội dung trong đồ án này là do em thực hiện dưới sự hướng dẫn trực tiếp của Cô

giáo ThS. Nguyễn Thị Minh Hỷ.
2. Các tham khảo dùng trong đồ án đều được trích dẫn rõ ràng tên tác giả, tên cơng

trình, thời gian, địa điểm cơng bố.
Nếu có những sao chép khơng hợp lệ, vi phạm quy chế đào tạo, em xin chịu hoàn toàn
trách nhiệm.
Sinh viên thực hiện

Nguyễn Thế Cường

iv



MỤC LỤC

TÓM TẮT.............................................................................................................................. i
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP ....................................................................................ii
LỜI CẢM ƠN ..................................................................................................................... iii
CAM ĐOAN........................................................................................................................ iv
MỤC LỤC ............................................................................................................................ v
DANH SÁCH CÁC BẢNG ............................................................................................. viii
DANH SÁCH HÌNH VẼ...................................................................................................... x
DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT .............................................................xii
MỞ ĐẦU .............................................................................................................................. 1
1. Bối cảnh chọn đề tài .................................................................................................... 1
2. Mục đích của đề tài ..................................................................................................... 1
3. Nội dung của đề tài ...................................................................................................... 2
4. Phạm vi sử dụng đề tài................................................................................................ 3
5. Bố cục của đồ án .......................................................................................................... 3
Chương 1: CƠ SỞ LÝ THUYẾT ...................................................................................... 4
1.1. Tổng quan về ASP.NET Core ................................................................................. 4
1.2. Tổng quan về Entity Framework core ................................................................... 5
1.3. Tổng quan về RESTful API .................................................................................... 7
1.4. Tổng quan về React js .............................................................................................. 8
1.4.1. React js là gì? ...................................................................................................... 8
1.4.2. Các khái niệm chính ............................................................................................ 8
Chương 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG ................................................ 14
2.1. Khảo sát bài toán thực tế ....................................................................................... 14
v



2.1.1. Khảo sát một số diễn đàn tiếng Anh ................................................................. 14
2.1.2. Mục tiêu của hệ thống ....................................................................................... 15
2.2. Phân tích chức năng ............................................................................................... 15
2.2.1. Phát biểu bài toán .............................................................................................. 15
2.2.2. Chức năng của user ........................................................................................... 16
2.2.3. Chức năng của admin ........................................................................................ 17
2.3. Sơ đồ use case ......................................................................................................... 18
2.3.1. Các tác nhân của hệ thống................................................................................. 18
2.3.2. Sơ đồ use case tổng quát ................................................................................... 19
2.3.3. Sơ đồ use case phân rã ...................................................................................... 19
2.4. Sơ đồ lớp của hệ thống ........................................................................................... 46
2.5. Sơ đồ hoạt động của hệ thống ............................................................................... 48
2.5.1. Sơ đồ hoạt động chức năng đăng bài ................................................................ 48
2.5.2. Sơ đồ hoạt động chức năng gửi yêu cầu ........................................................... 50
2.5.3. Sơ đồ hoạt động chức năng gửi báo cáo ........................................................... 52
2.6. Thiết kế cơ sở dữ liệu ............................................................................................. 53
2.6.1. Sơ đồ mối quan hệ giữa các bảng cơ sở dữ liệu: .............................................. 55
2.6.2. Mô tả chi tiết các bảng ...................................................................................... 56
Chương 3: TRIỂN KHAI VÀ CHẠY THỬ NGHIỆM ................................................. 64
3.1. Môi trường triển khai ............................................................................................ 64
3.1.1. Quản lý mã nguồn ............................................................................................. 64
3.1.2. Công cụ triển khai ............................................................................................. 64
3.1.3. Môi trường cài đặt ............................................................................................. 66
3.2. Kết quả demo và hướng dẫn cài đặt chương trình ............................................. 69
3.3. Đánh giá .................................................................................................................. 79
KẾT LUẬN ....................................................................................................................... 80
vi


TÀI LIỆU THAM KHẢO................................................................................................ 83


vii


DANH SÁCH CÁC BẢNG

Bảng 2.1 Đặc tả use case đăng nhập................................................................................... 20
Bảng 2.2 Đặc tả use case đăng kí ....................................................................................... 21
Bảng 2.3 Đặc tả use case đổi mật khẩu .............................................................................. 22
Bảng 2.4 Đặc tả use case cập nhật thông tin cá nhân ......................................................... 23
Bảng 2.5 Đặc tả use case xem danh sách thông báo .......................................................... 24
Bảng 2.6 Đặc tả use case đánh dấu đã đọc ......................................................................... 25
Bảng 2.7 Đặc tả use case xem danh sách cuộc trò chuyện ................................................. 27
Bảng 2.8 Đặc tả use case gửi tin nhắn ................................................................................ 27
Bảng 2.9 Đặc tả use case xem chi tiết cuộc trò chuyện...................................................... 28
Bảng 2.10 Đặc tả use case xem danh sách yêu cầu ............................................................ 29
Bảng 2.11 Đặc tả use case gửi yêu cầu .............................................................................. 30
Bảng 2.12 Đặc tả use case chấp nhận yêu cầu ................................................................... 31
Bảng 2.13 Đặc tả use case xóa yêu cầu .............................................................................. 31
Bảng 2.14 Đặc tả use case tạo mới bài đăng ...................................................................... 33
Bảng 2.15 Đặc tả use case xem danh sách bài đăng........................................................... 34
Bảng 2.16 Đặc tả use case xem chi tiết bài đăng ............................................................... 35
Bảng 2.17 Đặc tả use case tìm kiếm bài đăng .................................................................... 35
Bảng 2.18 Đặc tả use case thích bài đăng .......................................................................... 36
Bảng 2.19 Đặc tả use case bình luận .................................................................................. 37
Bảng 2.20 Đặc tả use case xem thông tin cá nhân ............................................................. 38
Bảng 2.21 Đặc tả use case báo cáo ..................................................................................... 39
Bảng 2.22 Đặc tả use case xem danh sách báo cáo ............................................................ 40
Bảng 2.23 Đặc tả use case xóa báo cáo .............................................................................. 41
viii



Bảng 2.24 Đặc tả use case xử lý báo cáo ........................................................................... 41
Bảng 2.25 Đặc tả use case xem danh sách user.................................................................. 43
Bảng 2.26 Đặc tả use case chặn user .................................................................................. 44
Bảng 2.27 Đặc tả use case bỏ chặn..................................................................................... 44
Bảng 2.28 Bảng dữ liệu UserAccounts .............................................................................. 56
Bảng 2.29 Bảng dữ liệu Roles ............................................................................................ 56
Bảng 2.30 Bảng dữ liệu UserRoles .................................................................................... 56
Bảng 2.31 Bảng dữ liệu UserInformations ......................................................................... 57
Bảng 2.32 Bảng dữ liệu PartnerRequests ........................................................................... 58
Bảng 2.33 Bảng dữ liệu Conversations .............................................................................. 58
Bảng 2.34 Bảng dữ liệu Messages ..................................................................................... 59
Bảng 2.35 Bảng dữ liệu Posts ............................................................................................. 59
Bảng 2.36 Bảng dữ liệu Comments .................................................................................... 60
Bảng 2.37 Bảng dữ liệu Notifications ................................................................................ 61
Bảng 2.38 Bảng dữ liệu Partnerships ................................................................................. 62

ix


DANH SÁCH HÌNH VẼ

Hình 1.1 Kiến trúc của EF Core ........................................................................................... 6
Hình 1.2 Hai cách tiếp cận chủ yếu của EF Core ................................................................. 7
Hình 1.3 Virtual DOM ......................................................................................................... 9
Hình 1.4 Cơ chế binding trong React ................................................................................. 10
Hình 2.1 Sơ đồ use case tổng quát...................................................................................... 19
Hình 2.2 Sơ đồ use case chức năng quản lý tài khoản ....................................................... 20
Hình 2.3 Sơ đồ use case chức năng quản lý thông báo ...................................................... 24

Hình 2.4 Sơ đồ use case chức năng quản lý tin nhắn ......................................................... 26
Hình 2.5 Sơ đồ use case chức năng quản lý yêu cầu .......................................................... 29
Hình 2.6 Sơ đồ use case chức năng quản lý bài đăng ........................................................ 33
Hình 2.7 Sơ đồ use case chức năng tương tác với user ...................................................... 38
Hình 2.8 Sơ đồ use case chức năng quản lý báo cáo .......................................................... 40
Hình 2.9 Sơ đồ use case quản lý user ................................................................................. 43
Hình 2.10 Sơ đồ lớp của hệ thống ...................................................................................... 47
Hình 2.11 Sơ đồ hoạt động chức năng đăng bài ................................................................. 48
Hình 2.12 Sơ đồ hoạt động chức năng gửi yêu cầu ............................................................ 50
Hình 2.13 Sơ đồ hoạt động chức năng báo cáo .................................................................. 52
Hình 2.14 Mối quan hệ giữa các bảng cơ sở dữ liệu .......................................................... 55
Hình 3.1 Cơng cụ visual studio 2019 ................................................................................. 65
Hình 3.2 Cơng cụ Visual Code ........................................................................................... 66
Hình 3.3 Node js ................................................................................................................. 66
Hình 3.4 React js ................................................................................................................ 67
Hình 3.5 .Net core của Microsoft ....................................................................................... 67
x


Hình 3.6 Microsoft SQL server .......................................................................................... 68
Hình 3.7 Màn hình đăng kí tài khoản ................................................................................. 69
Hình 3.8 Màn hình đăng nhập ............................................................................................ 70
Hình 3.9 Màn hình sau khi đăng nhập ................................................................................ 70
Hình 3.10 Màn hình gửi yêu cầu ........................................................................................ 71
Hình 3.11 Màn hình danh sách các partner ........................................................................ 72
Hình 3.12 Màn hình xem chi tiết một bài đăng .................................................................. 72
Hình 3.13 Màn hình bình luận tại bài đăng ........................................................................ 73
Hình 3.14 Màn hình chỉnh sửa thơng tin cá nhân............................................................... 74
Hình 3.15 Màn hình quản lý yêu cầu ................................................................................. 74
Hình 3.16 Màn hình quản lý thơng báo .............................................................................. 76

Hình 3.17 Màn hình nhắn tin với user khác ....................................................................... 76
Hình 3.18 Màn hình đặt câu hỏi ......................................................................................... 77
Hình 3.19 Màn hình đăng bài hỏi góp ý từ người khác...................................................... 78
Hình 3.20 Màn hình xem thơng tin cá nhân của người khác ............................................. 78

xi


DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT

Từ

Viết tắt của

Diễn giải

API

Application Programming Interface

Giao diện lập trình ứng dụng
Một dạng chuyển đổi cấu trúc dữ

RESTful

REpresentational State Transfer

liệu, một kiểu kiến trúc để viết API

DB


Database

Cơ sở dữ liệu

DOM

Document Object Model

Mơ hình đối tượng tài liệu
Một loại cú pháp mở rộng dành

JSX

JavaScript XML

cho ngôn ngữ JavaScript viết theo

SQL

Structured Query Language

Ngôn ngữ truy vấn cấu trúc

kiểu XML

Người học tiếng Anh cùng (áp
Partner
LINQ


dụng trong báo cáo này)
Language Integrated Query

Ngơn ngữ truy vấn tích hợp
Chỉ sự ánh xạ các bảng cơ sở dữ

ORM

Object Relational Mapping

liệu thành các đối tượng trong các
ngơn ngữ lập trình
Mẫu đã được dựng sẵn giúp cho
việc xây dựng một sản phẩm phần

Framework

mềm nhanh chóng hơn

xii


Xây dựng website diễn đàn tiếng Anh

MỞ ĐẦU

1. Bối cảnh chọn đề tài
Hiện nay với sự phát triển nhanh chóng của kinh tế xã hội đặc biệt là sự hội nhập kinh
tế với nước ngoài, ngoại ngữ đang dần trở thành một yêu cầu không thể thiếu trong hầu
hết các trường học và các doanh nghiệp, đặc biệt là doanh nghiệp nước ngồi. Trong đó

tiếng Anh vẫn ln là một u cầu hàng đầu và là ngơn ngữ chính được giảng dạy tại hầu
hết các đơn vị giáo dục tại Việt Nam. Chính vì thế nhu cầu học và tự học tiếng Anh ở Việt
Nam đang ngày càng tăng lên. Một trong các yếu tố quan trọng cần thiết cho một người tự
học tiếng Anh là một môi trường để trao đổi, hỏi đáp, lấy ý kiến từ người khác và tìm 1
người cùng học chung.Trong quá trình tự học tiếng Anh của mình, tơi nhận thấy có ba
vấn đề gây khó khăn cho người tự học tiếng Anh bao gồm:
 Cần tìm một người học cùng: Một trong yếu tố rất quan trọng góp phần tạo nên thành
cơng cho một người học tiếng Anh là có một người cùng học cùng. Việc cùng học
tiếng Anh với một người bạn khiến người học tiếng Anh có thể tìm được động lực để
học tập và sẽ nhanh chóng tiến bộ.
 Cần lời giải đáp trong một vấn đề khó: Trong quá trình tự học sẽ ln có những vấn đề
khó mà người tự học khơng biết hỏi ai và muốn có một môi trường để giải đáp cho họ
những vấn đề trên.
 Cần góp ý trong q trình luyện tập tiếng Anh: Việc tự luyện tập trong tiếng Anh là
điều cần thiết để giúp kĩ năng của người học tiến bộ hơn. Nhưng trong q trình đó
người tự học ln muốn nghe lời góp ý nhận xét của người khác về kĩ năng của mình
để biết mình sai ở đâu và cần cải thiện ở điểm nào.
Chính vì thế ý tưởng về một diễn đàn giúp người học tiếng Anh tìm kiếm một người
bạn cùng học tập, một môi trường để mọi người trao đổi hỏi đáp, lấy ý kiến của người
khác khiến cho “Diễn đàn học tiếng Anh – Partner Finder” ra đời.
2. Mục đích của đề tài
“Diễn đàn học tiếng Anh – Partner Finder” với mục đích xây dựng một website với
giao diện đơn giản, thân thiện với mọi người dùng ở mọi lứa tuổi. Website cung cấp một

SVTH: Nguyễn Thế Cường

GVHD: Nguyễn Thị Minh Hỷ

1



Xây dựng website diễn đàn tiếng Anh

môi trường để người dùng có thể dễ dàng tìm kiếm một người phù hợp với cùng nhu cầu
học tiếng Anh để cùng nhau học tập. Vì theo hầu hết các hướng dẫn về việc tự học tiếng
Anh, tìm kiếm một đối tác để học cùng luôn là yếu tố quan trọng trong việc cải thiện trình
độ tiếng Anh của người học.
Ngồi ra website còn cung cấp cho người dùng chức năng hỏi đáp. Chức năng này
giúp giải quyết vấn đề khi người tự học gặp vấn đề khó khăn nhưng khơng biết hỏi ai.
Chức năng này còn giúp người dùng chia sẻ kiến thức với mọi người cũng như cũng cố
lại những kiến thức đã biết.
Một chức năng lớn nữa của website là người dùng có thể lấy ý kiến của người khác về
những bài viết hay bài nói của người dùng. Mục đích của việc này giúp cho người dùng tự
học tiếng Anh có thể được người khác góp ý sửa lỗi về các bài viết, bài nói. Vì trong việc
học tiếng Anh, việc tìm và sửa lỗi là yếu tốt quan trọng giúp người học có thể cải thiện kĩ
năng nói và viết.Ngồi ra chức năng này cịn giúp người dùng khác có thể tham khảo các
bài nói, bài viết của người khác.
3. Nội dung của đề tài
Những công việc cần thực hiện để hồn thành đề tài bao gồm:
 Tìm hiểu bài tốn thực tế.
 Tìm hiểu và phân tích UML.
 Phân tích và thiết kế hệ thống thơng tin.
 Tìm hiểu cơng nghệ cần sử dụng và ngơn ngữ kết nối cơ sở dữ liệu.Ở đây tôi sử dụng
Asp.net core một framework xây dựng bởi Microsoft hỗ trợ xây dựng các ứng dụng
web để xây dựng back-end cho website. Cùng với đó ở phía client tơi sử dụng React js
– một library của javascript được xây dựng bởi Facebook để xây dựng giao diện phía
người dùng.
 Thiết kế cơ sở dữ liệu. Cơ sở dữ liệu SQL Server được sử dụng để lưu trữ dữ liệu của
website
 Xây dựng ứng dụng với các chức năng chính.


SVTH: Nguyễn Thế Cường

GVHD: Nguyễn Thị Minh Hỷ

2


Xây dựng website diễn đàn tiếng Anh

4. Phạm vi sử dụng đề tài
Với nhu cầu học tiếng Anh ngày càng tăng cao của mọi người ở mọi lứa tuổi và mọi
tầng lớp. Đề tài được kì vọng sẽ có thể ứng dụng rộng rãi cho người tự học tiếng Anh ở
mọi độ tuổi. Với giao diện đơn giản dễ sử dụng, các chức năng đơn giản nhưng đáp ứng
được các nhu cầu cần thiết nhất của một người tự học tiếng Anh, đề tài có thể phục vụ
rộng rãi trong cộng đồng những người tự học tiếng Anh tại nhà hiện nay.
5. Bố cục của đồ án
Đồ án được viết thành 3 chương chính, với độ dài khoảng 80 trang, bao gồm:
Với chương thứ nhất, đồ án đi sâu vào tìm hiểu về cơng nghệ , cơ sở lý thuyết cần
thiết cho đề tài để có thể áp dụng vào đề tài như các framework, thư viện cần thiết.
Trong chương thứ hai đề tài đi vào khảo sát tình hình thực tế, khảo sát các website có
chức năng tương tự. Sau đó thực hiện phân tích thiết kế hệ thống thông tin bao gồm các
hoạt động như xác định các tác nhân và các đặc tả hoạt động của các tác nhân , phân tích
luồng hoạt động của hệ thống và xây dựng cơ sở dữ liệu của hệ thống.
Chương thứ ba đề tài sẽ trình bày quá trình triển khai hệ thống, quá trình xây dựng mã
nguồn của chương trình và các hình ảnh thực tế của đề tài
Và cuối cùng là kết luận và hướng phát triển để đánh giá kết quả đạt được và đưa ra
giải pháp cho các vấn đề chưa giải quyết được.

SVTH: Nguyễn Thế Cường


GVHD: Nguyễn Thị Minh Hỷ

3


Xây dựng website diễn đàn tiếng Anh

Chương 1: CƠ SỞ LÝ THUYẾT

1.1. Tổng quan về ASP.NET Core
ASP.NET Core là một framework mã nguồn mở, hiệu suất cao và đa nền tảng dùng
để xây dựng các ứng dụng hiện đại có kết nối với internet và dựa trên mơ hình đám mây.
ASP.NET Core được phát triển bởi tập đoàn Microsoft và cộng đồng lập trình viên.
ASP.NET Core cũng là một framework kiểu module có khả năng thực thi trên framework
.NET, Windows và .NET Core đa nền tảng.
ASP.NET Core còn được xem là sự kết hợp giữa ASP.NET MVC và ASP.NET Web
API tạo thành một mơ hình lập trình đơn. Mặc dù được xây dựng mới, ASP.NET Core
vẫn có tính tương thích cao với ASP.NET MVC. Hơn nữa, các ứng dụng ASP.NET Core
hỗ trợ kiểu phiên bản “side by side”, tức là cùng chạy trên một máy tính với việc lựa chọn
nhiều phiên bản ASP.NET Core khác nhau. Điều này là không thể với các phiên bản
ASP.NET trước kia.
Với ASP.NET Core, bạn có thể:
 Xây dựng các ứng dụng web, các dịch vụ, ứng dụng IoT và các phần backend mobile.
 Sử dụng các cơng cụ phát triển ưa thích trên Windows, macOS và Linux.
 Triển khai trên đám mây hoặc tại chỗ.
 Chạy trên .NET Core hoặc .NET Framework.
ASP.NET mang lại các lợi ích như sau:
 Dùng để xây dựng giao diện Web (Web UI) cũng như các API Web.
 Tích hợp các framework phía client hiện đại và các quy trình làm việc phát triển.

 Hệ thống cấu hình sẵn có trên đám mây.
 Tích hợp sẵn nhúng phụ thuộc.
 Đường ống (pipeline) yêu cầu HTTP mang tính module, hiện suất cao và nhẹ ký.
 Có khả năng lưu trữ (host) ở IIS, Nginx, Apache, Docker, hoặc tự host ở các tiến trình
riêng.
 Tạo mới phiên bản app side-by-side với .NET Core.
 Tạo cơng cụ đơn giản hóa phát triển web hiện đại.
SVTH: Nguyễn Thế Cường

GVHD: Nguyễn Thị Minh Hỷ

4


Xây dựng website diễn đàn tiếng Anh

 Khả năng xây dựng, chạy trên Windows, macOS, và Linux.
 Mã nguồn mở và tập trung vào cộng đồng phát triển mã nguồn.
ASP.NET Core được cung cấp dưới dạng các gói NuGet. Bạn có thể sử dụng các gói
này để tối ưu hóa ứng dụng khi chỉ nhúng những thành phần cần thiết. Trên thực tế, các
ứng dụng ASP.NET Core 2.x cũng chỉ yêu cầu một gói NuGet đơn lẻ.
1.2. Tổng quan về Entity Framework core
Entity Framework Core (ef core) là phiên bản mới của Entity Framework sau EF
6.x. Nó là mã nguồn mở, nhẹ, có thể mở rộng và là phiên bản đa nền tảng của công nghệ
truy cập dữ liệu Entity Framework.
Entity Framework là một khung đối tượng / Ánh xạ quan hệ (O / RM). Đây là một cải
tiến của ADO.NET, cung cấp cho các nhà phát triển một cơ chế tự động để truy cập và
lưu trữ dữ liệu trong cơ sở dữ liệu.
EF Core dự định sẽ được sử dụng với các ứng dụng .NET Core. Tuy nhiên, nó cũng có
thể được sử dụng với các ứng dụng dựa trên khung .NET 4.5+ tiêu chuẩn.

EF Core giúp cho việc thực hiện truy vấn dữ liệu từ cơ sở dữ liệu trở lên đơn giản với
việc ánh xạ các bảng trong cơ sở dữ liệu thành các model trong back-end, và sử dụng
LINQ (ngơn ngữ truy vấn tích hợp) để thực hiện các câu truy vấn mà không cần phải viết
các câu query trực tiếp với database.

SVTH: Nguyễn Thế Cường

GVHD: Nguyễn Thị Minh Hỷ

5



×