Các công ty, doanh nghiệp hiện nay đều có website riêng nhằm mục đích mua bán, trao đổi sản phẩm và mang tính chấtgiới thiệu sản phẩm cho khách hàng, Giúp khách hàng có thể gần hơn với s
Trang 1TRƯỜNG ĐẠI HỌC KINH TE QUOC DÂN VIEN CÔNG NGHỆ THONG TIN VÀ KINH TE SO
đt fe of địt đc oe oe oe oi ook
Dé tài: Xây dựng WEBSITE bắt động sản Thuận Thành Land
Chuyên ngành: Công nghệ thông tin
Hệ: Chính quyLớp: Công nghệ thông tin KS9A
Mã sinh viên: 11173986
Họ và tên sinh viên: Đoàn Thị Diễm Quỳnh Giáo viên hướng dẫn: TS Phạm Minh Hoàn
Hà Nội — 2021
Trang 2I9)80/9780271000P8S8nn8.Ầ.- 4 CHƯƠNG I: MO TA BÀI TOÁN WEBSITE BAT ĐỘNG SAN (THUẬN THÀNH LAND)
— 5
LiL Mục đích bài tOH .cc SĐT kg 1kg 5
1.2 Lý do lựa chon GE 10bi ceececcccscscscscscsvscscsescscscsvsvsvsvesessscssstscavavevavesessasassesesvscevaceees 7 1.3 Đối tượng bài OGN ceccecceccesessessessessessessessessessescsessessessessessssseseseesessessessessesseaeess 7
1.3.1 770 7 1.3.2 Khách hàng S HH HH, 6 1.3.3 z7772- PP 8 1.4 Các CAUC HĂNHG Ă.ĂĂ Ăn TH TH KH HH HH, 8
1.4.1 AMUNS PEEREREER 6 1.42 02-2 .- 4A 6
CHUONG 2: KHAO SÁT VA PHAN TÍCH HE THONG VÀ PHAN TÍCH THUẬT TOÁN.
2.2.6 Phân tích thiết kế thuật toán -5++52+5£+S++E+Ee+EeEtertererssree 33
3.1 Thiết kế giao diỆn - c5 cEkÉEỀEEEEEEEEEE1E11E112112111111111111 1111k 42 3.2 Thiết kế chức năng -©7ScSccSEtSEkEE E2 E221 21121 reo 44
2
Trang 33.3 Kết quả thử nghiệm hệ thốngg -©2+©5£+5++cEeEE+EEEEeEEerErrrerrkerkerkees 5I
3.3.1 Backend- Trang quản tri Của W€PSIf€ Series 51 3.3.2 Frontend- Trang web phía người đÙng . cccscssseexsseeeeeers 59
3.4 Đánh giá kết quả và hướng phát tien coeccecccsscescessessssssessessessssssessessesseessessessees 76 CHUONG 4: TONG KET VÀ TAI LIEU THAM KHAO - : cc:cccc:+c5+e: 77
Trang 4LỜI NÓI ĐẦU
Trong thời đại công nghê phát triển, internet là một phần không thé thiếu trong cuộc sống của con người hiện đại Ngày nay ta bắt gặp internet ở bất cứ mọi
đâu Từ trong nhà ra ngoài đường, đâu đâu cũng là ứng dụng của internet Có thể
nói hầu như chúng ta đều có thé tra cứu thông tin trên internet và cập nhật thông
tin nhanh nhất từ internet vì thế ngành công nghệ đang rat phô biến việc phát triểnmột website Các công ty, doanh nghiệp đều có trang web riêng của họ phục vụcho mục đích quảng cáo, giới thiệu sản phẩm của doanh nghiệp và tuyên dụng
Chính vì thế em đã xây dựng lên trang web bất động sản có tên ThuậnThành land nhằm mục đích giới thiệu những sản phâm đất dai cho công ty đưa tới
thông tin cho người có nhu cầu mua bán nhà đất.
Bài báo cáo về dự án này em sẽ chia thành các phần sau:
Chương |: Mô tả bài toán website bat động san (Thuan Thanh Land).
Chương 2: Khảo sát va phân tích hệ thống và phân tích thuật toán
Chương 3: Tổng kết va demo sản phẩm
Chương 4: Link sourcecode.
Lời cuối cùng em xin cảm ơn ThS Phạm Minh Hoàn đã giúp em xây dung trang
web này một cách tốt nhất.
Em xin chân thành cảm ơn thầy!
Hà Nội, ngày 2 tháng 3 năm 2021
Trang 5CHUONG 1: MÔ TẢ BÀI TOÁN WEBSITE BAT ĐỘNG SAN (THUAN
THANH LAND)
1.1 Muc dich bai toan.
Sự phát triển của internet ngày nay rat đa dang và đang phát triển từng ngày
Internet có trong hầu hết trong các hoạt động của con người Sự ra đời của những website cũng tăng lên nhanh chóng Hau hết ta có thé bắt gặp một trang web bat
kỳ ở trên mạng Các trang web ra đời đều có mục đích khác nhau và đem lại nhữnglợi ích cho chủ sở hữu.
Các trang web thương mại điện tử như Tiki, Lazada, Shopee ra đời nhằm
mục đích giúp khách hang mua bán đồ đạc online Các trang web giúp đặt đồ ănnhư Now, BaeMin, GoJek giúp người dùng có thé mua đồ ăn từ quán ăn và sẽ
được ship đến nhà với thời gian nhanh nhất Điều đó chắc hắn rất tiện ích và an
toàn trong thời buổi dịch bệnh hiện nay khi mà chính phủ khuyến cáo người dânkhông nên ra ngoài đường nhiều trong những thời điểm ta phải din cách xã hội
Chúng ta không thé không công nhận những lợi ích của các website dem lại
nói riêng và Internet nói chung.
Bên cạnh những trang website thương mại điện tử nổi bật thì cũng có những
website mang mục đích và lợi ích khác Các công ty, doanh nghiệp hiện nay đều
có website riêng nhằm mục đích mua bán, trao đổi sản phẩm và mang tính chấtgiới thiệu sản phẩm cho khách hàng, Giúp khách hàng có thể gần hơn với sảnpham của công ty và tin tưởng về chất lượng sản pham của công ty Qua đó kháchhàng có thé tin tưởng và sử dung các sản pham của công ty
Nhu cầu sử dụng nhà đất hiện nay được rất nhiều người quan tâm Việc lựa chọn những căn nhà ưng ý và lựa chọn đầu tư thì cần phải có sự xem xét và cân nhắc Hiện nay các website về bất động sản không hiến gặp, ta có thể biết tới tập
đoàn VinGroup cũng có thể nói là hoạt động mạnh mẽ trong lĩnh vực bất động
sản điển hình là website https://vinhomes.vn/ thuộc tập đoàn Vingroup, tập đoàn
5
Trang 6Đất Xanh cũng có website https://www.datxanh.vn/ đem đến các sản pham về bat
động sản Website bất động sản Thuận Thanh Land mà em xây dựng và phát triển hướng tới việc giới thiệu các sản pham nhà đất của công ty, đem lại những trai nghiệm online với khách hàng về những sản phẩm của công ty Khách hàng sẽ biết được chỉ tiết các dự án bất động sản của công ty trên website đồng thời có cái
nhìn trực quan nhất có thê về các sản phẩm Các đánh giá trên website của người
dùng cũng nhằm nâng cao chất lượng sản phâm của công ty Hướng tới việc đưa
các dự án của công ty có thể được biết đến rộng rãi và được nhiều người và cácdoanh nghiệp đối tác tin tưởng Chăm sóc khách hàng bằng việc gửi mail tự động
để hỗ trợ Ngoài ra còn có hoạt động về nhân sự của công ty, website giúp khách hàng, những người dùng có thé trở thành nhân viên của công ty.
Về chức năng chính của trang web Thuận Thành Land sẽ giới thiệu upload
được các thông tin về các dự án, và cụ thé hơn là những dự án con trong mục lớn
DU ÁN Phía admin của trang web có thé có thé quan trị được các thông tin nhỏ
của dự án con như thêm,, sửa, xóa, cập nhật trạng thái.
Bài viết Chung cư
Khu nghỉ dưỡng
25 Biệt thự Dự án 9 { Khéng } 23/03/2021 Z 8
26 Chung cư Dự án 10 [khong } 30/03/2021 Z 8
27 Khu nghỉ dưỡng Dự án 11 30/03/2021 Z 8
Trang 71.2 Lý do lựa chọn đề tài.
Vấn đề em quan tâm ở một trang website đó là sự rõ ràng về phân chia bốcục, chia các phần để cho người sử dụng Các trang web bất động sản nhưdatxanh.vn, vinhomes.vn thường sẽ là trang web đơn thuần về giới thiệu mang
tính chất cho người dùng sử dụng trang web như một kênh thông tin về bất động
sản cho những ai quan tâm về lĩnh vực bất động sản và mua bán nhà đất Các trangweb đó mang giá trị về quảng cáo quảng bá sản phẩm và đưa tên tuổi của công tychủ sở hữu website giúp gần gũi với người sử dụng
Website Thuận Thành land ngoài việc đáp ứng day đủ tat cả các chức năng như các website bất động sản khác thì Thuận Thành land còn quan trọng yếu tố
về hình ảnh giao diện cho người xem thấy dễ sử dụng và có nhiều thông tin cần thiết và có thê tương tác với website Nội dung đưa lên website một các rõ ràng
và phân chia các phần dé admin dé quản lý, các điểm sang nồi bật của các dự án
sẽ được đưa lên dau trang dé khách hàng có thé tham khảo va lấy ý kiến Dựa trên
sự tương tác của khách hàng với các sản phâm được đăng tải lên website khách hàng có cái nhìn tổng quan nhất đối với các sản pham mà họ đã trao niềm tin và
sử dụng sản phẩm Khách hàng có thé đăng nhập vào tài khoản dé truy cập vào
website bình luận về các sản phẩm của công ty Tuy rằng em chưa thể phát triển
được chức năng đặt lịch trên website dé có thé hỗ trợ khách hàng về sản phẩm.
Tuy nhiên em đã làm phần Liên hệ cho khách hang ở mục riêng dé khách hàng có
thé gửi tin nhắn và các thông tin cá nhân cần thiết dé admin lưu lại và gửi mail tới khách hàng đó qua đó cũng góp phần tạo nên một môi trường giúp công ty và
khách hàng có những trao đổi và chăm sóc khách hàng tốt hơn Việc phân chia
các mục con trong dự án cũng làm cho admin dễ quản lý hơn và người xem cũng
cảm thấy nội dung được chia chỉ tiết và rõ ràng
Website Thuận Thành land có thể còn nhiều lỗi và chưa đạt những nghiệp
vụ chỉ tiết cho một website chuyên nghiệp nhưng em sẽ tiếp tục phát triển dự án
này trong tương lai một cách tốt hơn và chuyên nghiệp hơn.
1.3 Đối tượng bài toán
Gồm 3 đối tượng
1.3.1 Chủ dự án.
Trang 8Chủ dự án, doanh nghiệp, công ty môi giới muôn đưa các sản phâm của mình
tới khách hàng Sản phẩm cụ thé ở đây là nhà đất, các dự án đầu tư
Những người có mong muốn trở thành nhân viên của công ty Có thé nộp
CV lên website dé admin quản lý.
1.4 Các chức năng.
Chức năng của website sẽ được hệ thông phân qua đối tượng người sử dụng.1.4.1 Admins
e Thêm sửa xóa thông tin (Dự án, tin tức,v V ).
e Thêm sửa xóa, cập nhật trạng thái của các dự án con trong Dự án
lớn.
e Tiếp nhận những phản hồi của khách hàng(Bình luận và đánh
giá).
e Lưu lại liên hệ của khách hàng và gửi mail liên hệ.
e Thém sửa xóa thông tin của khách hàng.
e_ Tiếp nhận CV của ứng viên và gửi mail xác nhận
1.4.2 Users
e Thêm sửa xóa thông tin cá nhân.
e Xem thông tin (Sản phâm dự án, tin tức)e_ Đăng ký, đăng nhập, đăng xuất
1.5 Sơ đồ các quy trình nghiệp vụ yêu cầu.
Trang 9Website Thuận Thành land có các nghiệp vụ cơ bản được quản lý bởi admin.
Ỷ
Quản lý liên hệ Quản lý bình luận Quản lý người dùng
Quản lý dự án bài viết
Tạo dự án bài viết Lấy dữ liệu từ người
dùng
Tạo người Lấy dữ liệu từ người
dùng(admin, user) dùng nhập vào
Thêm sửa xóa bình
luân
|Quản lý ở backend và
Thêm sửa xóa database
Thêm sửa xóa
Bình luận dự án Thêm sửa xóa Trả lời bình luận
Hình 1.5 Sơ đô quy trình quản lý nghiệp vụ của website.
Trang 10CHUONG 2: KHAO SAT VA PHAN TÍCH HE THONG VA PHAN TÍCH
THUAT TOAN.
2.1 Phân tích yêu cầu dé bài
2.1.1 Chức năng
Phan 1: Tên dé tài
Website giới thiệu sản phẩm bat động sản Thuận Thành Land
Phần 2: Chức năngThuận Thành Land là trang web giới thiệu về sản phẩm nhà đất Trang web
giới thiệu vê công ty Gôm có các chức năng:
- Cho phép cập nhật thông tin các dự án vào cơ sở dữ liệu.
- _ Hiển thị các dự án nỗi bật lên slides trang chu website
- Hién thị các dự án trong mục dự án
- Hién thị tin tức nỗi bật và tin tức liên quan đến bất động sản.
- Submit liên hệ mà khách hang gửi qua form.
- Bình luận và đánh giá dự án.
- Update cập nhật tinh trạng dự án.
2.1.2 Yêu cầu đặt ra
a Thiết bị và phần mềm.
e_ Máy tính có thê thiết kế được trang web
e Hệ quản tri cơ sở dữ liệu MySQL
e Cài dat: Spring tool suite, Esclipse, Visual Studio Code, Thymeleaf
e Công nghệ su dung: MySQL, Thymeleaf, Bootstraps, Java Spring
Boot.
b Yéu cau trang web
Hệ thống gồm 2 phan:
10
Trang 11e Phần người dùng :Người dùng có thé truy cập vào website dé xem
thông tin về các sản phẩm, dé lại bình luận đánh giá và có chức năngliên hệ Xem thông tin về các dự án, xem tin tức trong đó Có chức
năng đăng nhập và đăng ký.
e Phan quản trị:
- Quản tri viên cho phép lưu contact của người dùng nhập
vào
- Upload sửa xóa các thông tin của dự án và tin tức.
- Quản lý đăng nhập, đăng ký vào website
- Quản lý lý bình luận đánh giá.
- Cập nhật thời gian sửa của dự án và tin tức.
-Cho phép hiền thị nổi bật hay không nỗi bật trên trangweb.
2.2 Phân tích hệ thống
2.2.1 Đặc tả mô hình nghiệp vụ.
Mô hình nghiệp vụ của website đưa ra những phân tích từng nghiệp vụ của
từng chức năng của website , từ phía frontend và backend Giúp hiểu rõ website
làm gì và có những yêu cầu như thé nào
Quy trình thực hiện các nghiệp vụ:
1 Xem các du án Người xem có thê biệt tat ca các thông
tin của dự án: Bao gôm các căn nhà, diện tích và giá thành.
11
Trang 122 _ | Bình luận, đánh giá Người xem có thé dé lại đánh giá và
bình luận ở mỗi dự án Nội dung bình
luận sẽ được lưu ở trong cơ sở dữ liệu.
3 Liên hệ với website Người xem có thê dé lại liên hệ cho
website như: email, số điện thoại, nơi ở,
và nội dung gửi tới website Phía
website sẽ ghi nhận thông tin ma người xem gửi lên và lưu trong cơ sở dữ liệu.
4 Đặt lịch Người xem có thé đặt lịch hẹn trên
website để giúp nhà cung cấp có thểgiao dịch với người xem về các sảnphẩm
5 Đăng nhập Đăng nhập trở thành user của website dé
có thể bình luận đánh giá và đặt lịch
6 Đăng ký Đề có thé đăng nhập vào website
7 Xem dự án mới nhất Hiền thị các dự án mới nhất
8 Xem tin tức Hiền thị các tin tức có liên quan
9 Tuyền dụng Khi trở thành user có thê đăng ký tuyên
dụng tại công ty này Băng cách submit
CV lên hệ thống Và CV cũng sẽ được
lưu vào database.
Sơ đồ phân cấp chức năng phía frontend
12
Trang 13Ly! Chi tiết Chỉ tiết
thông tin thông tin
website website
Lượng Lượng
truy cập +» |truy cập
Y»y
Hình 2.2.1a Sơ đồ phân cấp chức năng phía frontend
b Chức năng phía người quản trị website backend
Quan lý du án Quan lý thông tin dự án, hình ảnh, sản
phẩm, bài viết giới thiệu, mô tả sản
phẩm, tính năng sản phẩm, giá cả, số
lượng Bao gồm: Hình ảnh, nội dung,
mô tả, ảnh thumbnail, dự án nỗi bật hoặckhông nổi bật Dự án nào đã cũ sẽ được
an đi nhưng vẫn lưu lại trong cơ sở dữ
liệu.
13
Trang 14Quản lý tin tức Quản lý các bài viết về tin tức liên quan
cả về sản phâm Bao gồm hình ảnh, nội
dung, mô tả,ảnh thumbnail, tin nổi bậthoặc không nổi bat, quan lý xem tin tức
đó có được hién thị hay tin tức cũ quáthì phải ân đi
Quản ly slides hiện trên
trang chủ
Trong trang chủ phía client có hiền thị 1
slides gồm có các hình anh và tên các dự
án tiêu biểu của công ty, nó sẽ update liên tục Admin có thể thêm sửa xóa các slides này đề hiển thị lên giao diện củaclient.
nhờ đăng ký Bao gồm: Tên, số điện
thoại, ảnh đại diện(nếu có), Nơi ở Và
phân loại ra đâu là tài khoản admin và tài khoản người dùng.
gồm thông tin: Tên, Số điện thoại, email, Nội dung nhắn Các thông tin này
sẽ được lưu lại và được admin quản lý.
Đồng thời khi người dùng để lại liên hệthì đồng thời website sẽ tự động gửi
mail tới email mà người dùng vừa nhập
vào đề xác nhận sẽ liên hệ lại với ngườidùng.
14
Trang 15người dùng.
6 Gửi mail Trang web sẽ tự động gửi mail của liên
hệ vừa submit ở form liên hệ ở phía website client.
7 Quản lý phản hồi của | Admin sẽ ghi nhận những đánh giá và
bình luận của users từ đó có thể xóahoặc hiển thị nó lên, những bình luậnnếu cho là tiêu cực gây hiềm khíchchăng han sẽ được admin ân đi Hoặcnhững bình luận mang tính chất đóng
góp có thê cho lên comment highlight.
8 Xóa sửa các dự án va tin
Trang 16Bình luận danh giá
Hình 2.2.1b Sơ đồ phân cấp chức năng phía backend.
2.2.2 Sơ đồ phân cấp chức năng website.
16
Trang 17Thuận Thành Land
—¥ |
Xem các bài
đơn sản phẩm viên việt và hiên thị aii mail ky danh gia pham theo
từng mục
Biêu do phân rã chức năng.
17
Trang 18Quản lý tài khoản
admin
Quản lý tài khản user
Hình 2.2.2b Sơ đô phân rã chức năng.
2.2.3 Sơ đồ luồng dữ liệu.
a Sơ đô mức khung cảnh.
Trang 191.Danh sách các dự án, bài viết và các dự án con.
2 Lưu thông tin đăng nhập, liên hệ.
3 Lưu danh sách các user.
4 Danh sách bình luận đánh giá.
5 Danh sách slide hiển thị, các mục hiển thị.
6.Yêu cau thông tin cá nhân.
7 Yêu cầu đăng nhập đăng ký.
8.Bình luận.
9.Trả về tài khoản đăng nhập
b Biểu đồ luồng mức 1
19
Trang 201.Đăng nhập
quản lý thông tin
Xem thông tin
Xuất danh sách
Danh sách thông tin
Hình 2.2.3b Sơ đồ luông mức 1
2.2.4 Mô hình thực thể liên kết
- _ Thực thể người dùng:
20
Trang 21Hình 2.2.4a Sơ đồ thực thể người dùng
- Thực thể Contact(khách hàng):
21
Trang 22Hình 2.2.4b Sơ đồ thực thể liên kết của liên hệ.
Trang 23Hình 2.2.4c Sơ đô thực thể liên kết của dự án.
Trang 24Ngày giờ
Mô hình thực thể liên kết:
24
Trang 25wena UNE! re)
Heo nee enone 2s) nba Ta
—
Irdzg
ahs 12002980255)
—:#xvACrBrCSs) area 4 AE #441)
a Tông quan về kiên trúc Client/Server
Kiến trúc client/Server là kiến trúc nổi tiếng trong mạng máy tính, hầu hết
© ewesx corsa ext |
Guand ø cur reds) |
các website hoạt động dựa trên kiến trúc này Trong đó client là máy khách gửi
yêu câu đên máy server Tại đây thì server sẽ lăng nghe các yêu câu từ máy client,
nhận thông tin từ client sau đó xử lý, trả kết quả về cho máy client
25
Trang 26b Ngôn ngữ viết lập trình.
Hiện nay dé xây dựng một ứng dung website có nhiều cách dé làm điều đó,
sử dụng ASP.NET, PHP, và trong báo cáo của em về chuyên đề tốt nghiệp
kỳ này là xây dựng một ứng dụng website bằng ngôn ngữ lập trình hướng
đối tượng JAVA Xây dựng hệ thống website phía backend bằng JAVA và framework rất nổi tiếng và được coi như linh hồn của trang website đó chính
là Spring.
e Ngôn ngữ lập trình Java:
“ Java là một một ngôn ngữ lập trình hiện đại, bậc cao, hướng
đối tượng, bảo mật và mạnh mẽ và là một Platform
Platform: Bat cứ môi trường phần cứng hoặc phần mềm nào mà trong
đó có một chương trình chạy, thì được hiểu như là một Platform Với
môi trường runtime riêng cho mình (JRE) và API, Java được gọi là Platform.
Ngôn ngữ lập trình Java ban đầu được phát triển bởi Sun
Microsystems do James Gosling khởi xướng và phát hành vào năm
1995 Phiên bản mới nhất của Java Standard Edition là Java SE 8 Với
sự tiên bộ của Java và sự phô biên rộng rãi của nó, nhiêu câu hình đã
26
Trang 27được xây dựng dé phù hợp với nhiều loại nền tảng khác nhau Ví dụ:
J2EE cho các ứng dụng doanh nghiệp, J2ME cho các ứng dụng di động.
Các phiên bản J2 mới đã được đổi tên thành Java SE, Java EE và
Java ME Phương châm của java là "Write Once, Run Anywhere"
-viết một lần chạy nhiều nơi, nghĩa là bạn chỉ cần -viết một lần trênwindow chang hạn, sau đó vẫn chương trình đó ban có thể chạy trênLinux, Android, các thiết bị J2ME ” [1]
Spring framework:
“Spring Framework từ lâu đã không còn xa lạ gì đối với lập trìnhviên Java nói chung và Java Web nói riêng, nó cung cấp rất nhiều tínhnăng giúp xây dựng sản phẩm một cách thuận tiện và nhanh chónghơn Spring hiện được sử dụng rất rộng rãi và là một phần gan nhu
không thể thiếu trong các sản phẩm Java EE Sẽ là không nói quá rang chúng xa có thể xây dựng được rất nhiều ứng dụng chỉ với "hệ sinh thái" Spring Cùng với đó, chúng ta cũng bắt gặp không ít lần các ứng
dụng được phát triển với Spring Boot, Spring MVC”[2]
Spring boot:
“ Spring Boot là một module nằm trong Spring Framework, nó cung
cấp giao diện và khả năng phát triển các ứng dụng độc lập với rất ítcác bước cấu hình rườm rà hoặc gần như bằng không Spring Bootđược đóng gói với rất nhiều thư viện phụ thuộc các module nên tảngcủa Spring Framework nhưng được giảm thiêu đi các mã nguồn dài
dòng, phức tạp nhằm cung cấp sự thuận tiện và phù hợp với từng mục
đích khi phát triển ứng dụng.”[2]
Spring MVC:
“Cũng giống như Spring Boot, Spring MVC cũng là một module nam
trong Spring Framework nhưng mục đích chính của nó là xây dựng
27
Trang 28các ứng dụng web dựa trên mô hình MVC (Model View Controller) Spring MVC sử dụng rất nhiều các cầu hình từ Spring do
-đó cũng chưa rất nhiều các file cấu hình tùy các mục đích khác nhau trong ứng dụng của bạn và nó cung cấp khung phát triển ứng dụng
web theo hướng HTTP.”I2|
Mô hình MVC
“MVC viết tat của 3 từ đó là Model — View — Controller (MVC) là
mẫu thiết kế nhằm mục tiêu chia tách phần Giao diện và Code dé déquản lý, phát triển và bảo trì
Mỗi phần lại có có một nhiệm vụ xử lý khác nhau, đối với trong mô
hình mvc trong java nói riêng và mô hình mvc nói chung thì :
- Model là lớp chứa thông tin đối tượng (Dữ liệu), tương tác với
Database Chịu trách nhiệm chính trong mô hình hóa đối tượng.
- View là giao diện của hệ thống tương tác trực tiếp với người
dùng.
- Controller nhận yêu cau từ người dùng và sử dụng Model va
View dé xử lý và trả kết qua cho người dùng.” [3]
28
Trang 29oe
- Bat ky request nào tới ứng dụng web đều sẽ được gửi tới Front
Controller (Dispatcher Servlet)
29
Trang 30Front Controller sẽ sử dụng Handler Mapping để biết được controller
Trang 31Các lợi ích cua Spring MVC.
Các tầng trong Spring MVC độc lap nên việc unit test dé dang hơn.
Phan view có thé tích hợp với nhiều Framework về UI như JSF,
Cung cấp việc phân chia một cách rõ ràng, linh hoạt giữa controller,
service, data acces layer.
BI.
c Thiết kế cơ sở dữ liệu cho website
Hibernate trong ứng dung spring java.
“Hibernate là một thư viện ORM (Object Relational Mapping) ma
nguồn mở giúp lập trình viên viết ứng dụng Java có thé map các
objects (pojo) với hệ quan tri co sở dữ liệu quan hệ, va hỗ trợ thực
hiện các khái niệm lập trình hướng đôi tượng với cớ dữ liệu quan hệ.
Hiéu ngắn gọn thì Hibernate sẽ là một layer đứng trung gian giữa ứng
dụng và database, và chúng ta sẽ giao tiếp với Hibernate thay vì giao tiếp với database.
Hibernate đến thời điểm tại có thể xem là một ORM có tầm ảnhhưởng lớn trong cộng đồng Java Đóng vai trò là một ORMframework đi đầu trong lĩnh vực, đa số các dự án đều tin cậy và sử
dung Hibernate.” [4].
31
Trang 32Mục tiêu chính cua thymeleaf là mang lai các template tự nhiên, đồng nhất, đơn
giản (nature templates) cho công việc phát triển.
Các lợi ích của Thymeleaf Với thymeleaf, ta chỉ cần sử dụng file HTML là cóthé hiển thị tất cả mọi thứ (không cần jsp ) Thymealeaf sẽ tham gia vàorenderd các file HTML dưới dạng các thuộc tính trong các thẻ HTML > do
đó ta không cần phải thêm bat kỳ thẻ non-HTML nào Vì là HTML nên ta có
thé xem các file view mà không cần khởi chạy server Thymeleaf hỗ trợ cơ chế cache, do đó ta có thé cache dit liệu hoặc custom dé hiển thị view khi có thay
đổi mà không cần restart server.”[5]
32
Trang 33Template Engine
2.2.6 Phân tích thiết kế thuật toán
Frontend.
Giao dién client
e Giao diện client sé lay dữ liệu từ admin đồ ra.
e Trang Tin tức, Dự án, Liên hệ được lay dữ liệu được đồ ra từ admin
thêm vào.
e Phan slides giới thiệu về trang web cũng được đồ ra từ admin
Backend.
Giao diện admin
Dự án Thuận Thành Land được xây dựng theo Mô hình MVC gồm:
e Mỗi một model sẽ có một controller tương ứng
e Nhiệm vụ của controller sẽ xử lý các request từ Client.
33
Trang 34Hot tinyint
Sort int Thứ tự
hiển
thị Created_ at Datetime(6)
Updated_at Datetime(6)
34
Trang 35News (Tin tức).
35
Trang 36Tên trường Kiêu dữ liệu Giá trị Ghi chú Giá trị mặc định
1d Int
Name Varchar Tén bai viét
Title Varchar Tiéu dé bai viét
' Category_Id Int Khóa ngoại
Slug Varchar Tên không dau
Public tinyint Hiện thị hoặc an 1
Hot tinyint 0
Sort int Thứ tự hién thị
Thumbnall Varchar Tén anh
thumbnail
Description TEXT Mô tả của bài viết
Content LONGTEXT Nội dung bài viết
Created_ at Datetime(6)
Updated_at Datetime(6)
36
Trang 37- Images (Hình ảnh)
Tên trường Kiểu dữ liệu | Giá trị Ghi chú Giá trị mặc định
1d Int
Name Varchar Tên ảnh
| News_Id Int Khoa ngoai
Title Varchar Tiéu dé
Public tinyint Hiện thị hoặc an 1
Sort int Thứ tự hiền thi
Image Varchar Tên ảnh
Description TEXT Mô tả
Created_ at Datetime(6)
37
Trang 38Updated_ at Datetime(6)
- Spotlight (Tin nỗi bật)
Tên trường Kiểu dữ liệu | Giá trị Ghi chú Giá trị mặc định
1d Int
Name Varchar Tén
Title Varchar Tiéu dé
Public tinyint Hiện thị hoặc an 1
Sort int Thứ tự hién thị
Image Varchar Tén anh
Description TEXT Mô tả
Created_ at Datetime(6)
Updated_at Datetime(6)
38
Trang 39- Users (Người dùng).
Tên trường Kiểu dữliệu | Giá trị Ghi chú Giá trị mặc định
1d Int
Name Varchar Tên
Email Varchar Dia chi email
Phone Varchar SDT
Password Varchar Mat khau
Address Varchar Dia chi 1
Avatar Varchar anh dai dién
Role int 1: ADMIN Vai trò