và cơ sở dữ liệu dùng chung của Ủy ban nhân dân thành phố thành phố;quản trị, vận hành kỹ thuật Cổng Thông tin Điện tử thành phố CanthoPortal; cung cấp các dịch vụ trong lĩnh vực thông t
Trang 1TRƯỜNG ĐẠI HỌC KỸ THUẬT - CÔNG NGHỆ CẦN THƠ
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO THỰC TẬP TỐT NGHIỆP
XÂY DỰNG WEBSITE GIỚI THIỆU NHÀ TRỌ
CẦN THƠ
CƠ QUAN THỰC TẬP: TRUNG TÂM CÔNG NGHỆ THÔNG
TIN VÀ TRUYỀN THÔNG CẦN THƠ
SV1: NGUYỄN ĐÔNG TƯỜNG MSSV:1400367
CÁN BỘ HƯỚNG DẪN: LÊ HOÀNG MINH
GVHD: NGUYỄN XUÂN HÀ GIANG
Cần Thơ, Ngày 06 Tháng 07 Năm 2017
Trang 2NHẬN XÉT
(Của giáo viên hướng dẫn)
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Cần Thơ, ngày…tháng…năm 2017 Giáo viên hướng dẫn
Trang 3LỜI CẢM ƠN
Thực tập tốt nghiệp là một yêu cầu bắt buộc đối với mọi sinh viên tại trường Đại học
Kỹ thuật- Công nghệ Cần Thơ trước khi kết thúc 4 năm học tại trường Một mặt là yêu cầu,nhưng mặt khác đây cũng là một giai đoạn hết sức ý nghĩa, giúp sinh viên tập làm quen vớicông việc thực tế
Để cho chúng em có thể nắm chắc kiến thức và tiếp cận với thực tế, nhà trường đã tạođiều kiện cho chúng em thực tập Sau 4 tuần thực tập tại môi trường mới và nhờ sự giúp đỡtận tình của các anh chị trong công ty đặc biệt là giảng viên hướng dẫn Nguyễn Xuân HàGiang, cho đến nay báo cáo thực tập của em đã hoàn thành Qua chuyến thực tập thực tế này
đã giúp em hiểu thêm về môi trường mới, công việc thực tế của chuyên ngành mình Qua đó
có thể vận dụng được các kiến thức được học tại trường vào thực tế
Em xin chân thành cảm ơn các Anh, Chị và Cô Hà Giang đã hướng dẫn thực tiếp báo cáothực tập, đã tận tình giúp đỡ, giải đáp thắc mắc và cho em hướng đi đúng đắn trong quá trìnhthực tập và làm báo cáo
Cần Thơ, ngày 06 tháng 07 năm 2017
Trang 4MỤC LỤC
CHƯƠNG 1 GIỚI THIỆU CHUNG 1
1 Giới thiệu Trung tâm Công nghệ thông tin và Truyền thông Cần Thơ 1
2 Giới thiệu website giới thiệu nhà trọ Cần Thơ 2
CHƯƠNG 2 KHẢO SÁT VÀ ĐẶT BÀI TOÁN 3
1 Thực trạng 3
2 Đặc tả yêu cầu 3
CHƯƠNG 3 CƠ SỞ LÝ THUYẾT 5
1 Giới thiệu về hệ quản trị cơ sở dữ liệu MySQL 5
2 Giới thiệu về Brackets và Zend Studio 6
3 Ngôn ngữ PHP 7
4 Hệ thống Git và Github 8
CHƯƠNG 4 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 9
1 Thiết kế Sitemap 9
2 Phân tích chức năng 10
2.1 Quản trị hệ thống 10
2.2 Quản lý nhà trọ 10
2.3 Quản lý chi tiết nhà trọ 10
2.4 Quản lý thông tin người dùng 10
2.5 Tìm kiếm nhà trọ 10
3 Sơ đồ phần rã chức năng 11
4 Sơ đồ luồng dữ liệu 12
4.1 Sơ đồ luồng dữ liệu mức ngữ cảnh 12
4.2 Sơ đồ luồng dữ liệu mức đỉnh 13
5 Thiết kế cơ sở dữ liệu 14
6 Phân tích thiết kế hệ thống và dữ liệu 16
6.1 Xác định thực thể 16
6.2 Mô hình thực thể ER 17
6.3 Mô hình quan hệ 18
CHƯƠNG 5 CÀI ĐẶT VÀ CHẠY CHƯƠNG TRÌNH 19
1 Cài đặt 19
Trang 52.1 Giao diện trang chủ (index.php) 20
2.2 Giao diện trang chi tiết nhà trọ (chitietnhatro.php) 23
2.3 Giao diện trang giới thiệu (gioithieu.php) 25
2.4 Giao diện trang liên hệ (lienhe.php) 26
2.5 Giao diện trang hỏi đáp (hoidap.php) 28
2.6 Truy cập trang quản trị 29
3 Giao diện trang quản trị (index.php) 31
3.1 Trang chủ 31
3.2 Nhà trọ 32
3.3 Chi tiết nhà trọ 40
3.4 Hình ảnh 42
3.5 Hỏi đáp 44
3.6 Liên hệ 45
3.7 Nhận email 47
3.8 Đăng xuất 48
CHƯƠNG 6 TỔNG KẾT 49
1 Kết quả đạt được 49
1.1 Kết quả đạt được 49
1.2 Về công nghệ 49
1.3 Về cài đặt chương trình 49
2 Khuyết điểm 49
3 Hướng phát triển của đề tài 49
TÀI LIỆU THAM KHẢO 50
PHÂN CHIA CÔNG VIỆC 51
Trang 6DANH MỤC BẢNG
Bảng 1: Nhà trọ 14
Bảng 2: Chi tiết nhà trọ 14
Bảng 3: Hình ảnh 15
Bảng 4: Liên hệ 15
Bảng 6: Hỏi đáp 15
Bảng 7: Nhận email 16
Trang 7DANH MỤC HÌNH
Hình 1 Sitemap của Website 9
Hình 2 Sơ đồ phần rã chức năng 11
Hình 3 Sơ đồ luồng dữ liệu mức ngữ cảnh 12
Hình 4 Sơ đồ luồng dữ liệu mức đỉnh 13
Hình 5 Mô hình thực thể ER 17
Hình 6 Mô hình quan hệ 18
Hinh 7 Giao diện tang chủ 20
Hình 8 Thông tin chi tiết một nhà trọ 21
Hình 9 Chức năng tìm kiếm nhà trọ 21
Hình 10 Tìm nhà trọ nằm trên đường Trần Quang Diệu 22
Hinh 11 Chức năng đăng ký nhận email 22
Hình 12 Chọn vào nút xem thêm 23
Hình 13 Trang chi tiết nhà trọ 24
Hình 14 Trang giới thiệu 25
Hình 15 Giao diện trang liên hệ 26
Hình 16 Biểu mẫu gửi tin nhắn đến công ty 27
Hình 17 Vị trí công ty trên bản đồ 27
Hình 18 Trang hỏi đáp 28
Hình 19 Biểu mẫu gửi câu hỏi 29
Hình 20 Danh mục 29
Hình 21 Trang đăng nhập 30
Hình 22 Nhập tài khoản và mật khẩu 30
Hình 23 Trang chủ trang quản trị 31
Hình 24 Thanh menu quản lý 31
Hình 25 Quản lý nhà trọ 32
Hình 26 Chức năng tìm kiếm 32
Hình 27 Chức năng sắp xếp 33
Hình 28 Chức năng thêm nhà trọ 33
Hình 28.1 Giao diện trang thêm mới nhà trọ 34
Hình 28.2 Hộp thoại chọn hình ảnh 35
Hình 28.3 Thông báo thêm nhà trọ thành công 35
Hình 28.4 Danh sách nhà trọ sau khi thêm mới 36
Hình 29 Chức năng cập nhật nhà trọ 36
Hình 29.1 Giao diện trang cập nhật nhà trọ 37
Hình 30 Chức năng xóa nhà trọ 38
Trang 8Hình 30.1 Trang xác nhận lại thông tin xóa 38
Hình 30.2 Trang cập nhật lại dánh sách các nhà trọ sau khi xóa 39
Hình 31 Xem thông tin chi tiết nhà trọ 39
Hình 32 Trang chi tiết nhà trọ 40
Hình 33 Giao diện trang thêm chi tiết nhà trọ 40
Hình 34 Giao diện trang cập nhật chi tiết nhà trọ 41
Hình 35 Giao diện trang xóa chi tiết nhà trọ 41
Hình 36 Trang quản lý hình ảnh 42
Hình 37 Trang thêm hình ảnh 42
Hình 38 Trang cập nhật hình ảnh 43
Hình 39 Trang xóa hình ảnh 44
Hình 40 Trang quản lý câu hỏi 44
Hình 41 Trang xóa câu hỏi 45
Hình 42 Trang quản lý liên hệ 45
Hình 43 Trang xóa liên hệ 46
Hình 44 Trang xem chi tiết liên hệ 46
Hình 45 Quản lý email 47
Hình 46 Trang xóa email 47
Hình 47 Đăng xuất khỏi hệ thống 48
Trang 9CHƯƠNG 1 GIỚI THIỆU CHUNG
1 Giới thiệu Trung tâm Công nghệ thông tin và Truyền thông Cần Thơ
- Tổng quan: Trung tâm Công nghệ Thông tin và Truyền thông Cần Thơ trực thuộc
Sở Thông tin và Truyền Thông thành phố Cần Thơ, được thành lập theo Quyếtđịnh số 3208/QĐ-UBND ngày 19 tháng 1 năm 2017 của Ủy ban nhân dân thànhphố Cần Thơ
o Tên giao dịch quốc tế: Cantho Information and Communication Technology Center.
o Tên viết tắt: CTICT
và cơ sở dữ liệu dùng chung của Ủy ban nhân dân thành phố thành phố;quản trị, vận hành kỹ thuật Cổng Thông tin Điện tử thành phố (CanthoPortal); cung cấp các dịch vụ trong lĩnh vực thông tin và truyền thông chocác tổ chức, cá nhân có nhu cầu
o Nhiệm vụ, quyền hạn:
Quản lý, vận hành ổn định, an toàn hạ tầng kỹ thuật ứng dụng côngnghê ‚ thông tin trong các cơ quan nhà nước thuộc UBND thành phố
Trang 10 Tham mưu, đề xuất, triển khai, thực hiê ‚n các nhiê ‚m vụ, giải phápnhằm đảm bảo an toàn thông tin trong hoạt đô ‚ng ứng dụng côngnghê ‚ thông tin của thành phố.
Thực hiê ‚n các giải pháp kỹ thuật, dịch vụ đảm bảo vận hành ổnđịnh, an toàn hệ thống hội nghị truyền hình; vận hành, hỗ trợ vậnhành hệ thống Hội nghị truyền hình các sở ban ngành và các quận,huyện, xã, phường, thị trấn thuộc thành phố
Phối hợp đào tạo, bồi dưỡng nâng cao kiến thức, kỹ năng trong lĩnhvực công nghê ‚ thông tin và truyền thông, ngoại ngữ chuyên ngànhcho cán bộ, công chức, viên chức và các cá nhân, tổ chức có yêucầu
Hợp tác trong nước, quốc tế về lĩnh vực đầu tư, phát triển côngnghê ‚ thông tin và truyền thông, theo quy định của pháp luật vànhiệm vụ được giao
2 Giới thiệu website giới thiệu nhà trọ Cần Thơ
- Mục tiêu:
o Cung cấp cho người dùng những thông tin cần thiết, đầy đủ và chính xácnhất về nhà trọ ở Cần Thơ, hỗ trợ và đưa ra những ý kiến khách quan giúp người dùng có thể chọn ra nhà trọ tiện nghi, tốt nhất với giá hợp lý nhất.Giao diện dễ nhìn, thân thiện với người sử dụng, tốc độ xử lý nhanh Đảmbảo an toàn các thông tin của khách hàng Nội dung luôn được cập nhậtthường xuyên
Trang 11CHƯƠNG 2 KHẢO SÁT VÀ ĐẶT BÀI TOÁN
1 Thực trạng
Để phát triển đất nước, xây dựng một nền kinh tế hiện đại cần phải thực hiện thành côngquá trình Công nghiệp hóa và Hiện đại hóa, cùng với nó là quá trình đô thị hóa nhằm cungcấp nhân công, tập trung tài lực, vật lực, tích lũy tư bản cho công nghiệp Bên cạnh đó, đôthị hóa cũng kèm theo nhiều vấn đề cần giải quyết do sự tập trung quá đông ở đô thị như vấn
đề ô nhiễm môi trường, kẹt xe, vệ sinh an toàn thực phẩm, đời sống vật chất tinh thần, nhà ởcho công nhân Đối với những thành phố lớn, đặc biệt với Thành phố Cần Thơ – trung tâmphát triển lớn nhất Đồng bằng Sông Cửu Long – thì những vấn đề trên càng trở nên phứctạp, nhất là vấn đề nhà trọ cho dân nhập cư, công nhân và sinh viên của các trường đại học -cao đẳng Hơn thế nữa, hàng năm có hơn 1,5 triệu học sinh tham gia kỳ thi tuyển sinh ĐạiHọc mà chủ yếu tập trung ở các thành phố lớn trong đó có Cần Thơ, hơn nữa, đa số số thísinh này và gia đình là ở ngoại thành lên thành phố, tìm được nhà trọ vừa ý là rất khó.Nhưng bằng cánh nào để người cần thuê gặp được chủ nhà một cách cách dễ dàng và thuêđược nhà trọ ưng ý nhất?
Hiện nay, nhu cầu tìm kiếm mọi thông tin trên internet đã trở nên khá phổ biến Chính vìthế, đề tài của chúng tôi là thiết kế một trang web tìm kiếm nhà trọ một cách nhanh chóng vàhiệu quả nhất
2 Đặc tả yêu cầu
- Yêu cầu chức năng:
o Công ty tìm hiểu các thông tin về nhà trọ trong khu vực Sau đó nhân viên
có nhiệm vụ viết bài, cập nhật thông tin lên website về thông tin chi tiếtcác nhà trọ bao gồm giá phòng, giá điện nước, gác, WC, cũng như đánhgiá của khách hàng về nhà trọ đó
o Người dùng truy cập trang web có thể xem thông tin chi tiết của nhà trọ,đánh giá của người khác; hoặc cần tư vấn hỏi đáp
o Quản trị viên có thể thêm, cập nhật, xóa thông các nhà trọ, chi tiết nhà trọ,các đánh giá của khách hàng
- Yêu cầu phi chức năng:
o Thiết kế giao diện đẹp, màu sắc hài hòa
o Phân thành nhiều mục cho người dùng dễ thao tác
o Tốc độ xử lý nhanh
Trang 12 Liên hệ: Người dùng có thể liên hệ với công ty bằng cách cung cấp
họ tên, email, số điện thoại, tiêu đề, nội dung cần liên hệ
Đánh giá: Người dùng có thể bình luận, đánh giá nhà trọ của mìnhbằng tài khoản Facebook của mình
Hỏi đáp: Người dùng có thể nêu lên các câu hỏi cần giải đáp chocông ty bằng cách cung cấp họ tên, email, nội dung câu hỏi
Người dùng cần nhận thông tin mới nhất về các nhà trọ, có thểđăng ký nhận thông tin qua email
o Người quản trị:
Quản lý nhà trọ: Người quản trị có thể xem, thêm, cập nhật, xóathông tin nhà trọ vào cơ sở dữ liệu như tên nhà trọ, địa chỉ, hìnhảnh, giá điện, giá nước, giá phòng, diện tích,…
Quản lý chi tiết nhà trọ: Người quản trị có thể xem, thêm, cập nhật,xóa chi tiết nhà trọ vào cơ sở dữ liệu như mô tả, số điện thoại chủnhà trọ, email, ngày đăng, chủ nhà trọ
Quản lý hình ảnh: Người quản trị có thể xem, thêm, cập nhât, xóahình ảnh của các nhà trọ vào cơ sở dữ liệu
Quản lý liên hệ: Người quản trị có thể xóa thông tin liên hệ củangười dùng trong cơ sở dữ liệu
Quản lý hỏi đáp: Người quản tị có thể xóa thông tin hỏi đáp củangười dùng trong cơ sở dữ liệu
Quản lý nhận email: Người quản trị có thể xóa email của ngườidùng ở mục nhận email
Trang 13CHƯƠNG 3
CƠ SỞ LÝ THUYẾT
1 Giới thiệu về hệ quản trị cơ sở dữ liệu MySQL
- MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới và được cácnhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng.Vì MySQL là cơ sở dữ liệutốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành,cung cấp một hệ thống lớn các hàm tiện ích rất mạnh Với tốc độ và tính bảo mật cao,MySQL rất thích hợp cho các ứng dụng có truy cập cơ sở dữ liệu (CSDL) trên internet.MySQL có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32/64 bit chocác hệ điều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, NovellNetWare, SGI Irix, Solaris, SunOS,…
- MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ sửdụng Ngôn ngữ truy vấn có cấu trúc (SQL)
- MySQL có nhiều đặc điểm cuốn hút:
o Linh hoạt: Sự linh hoạt về flatform là một đặc tính nổi bật của MySQL với cácphiên bản đang được hỗ trợ của Linux, Unix, Windows, MySQL cho phép tùybiến hoàn toàn theo ý muốn, thêm vào các yêu cầu thích hợp cho database server
o Thực thi cao: MySQL có thể đáp ứng khả năng xử lý những yêu cầu khắt khe nhấtcủa từng hệ thống, MySQL còn đưa ra các “công cụ” cần thiết cho các hệ thốngdoanh nghiệp khó tính bằng tiện ích tải tốc độ cao, bộ nhớ cache và các cơ chế xử
lý nâng cao khác
o Sử dụng ngay: Các tiêu chuẩn đảm bảo của MySQL giúp cho người dùng vữngtin và chọn sử dụng ngay, MySQL đưa ra nhiều tùy chọn và các giải pháp đểngười sử dụng dùng ngay cho server cơ sở dữ liệu MySQL
o Nơi tin cậy để lưu trữ web và dữ liệu: Do MySQL có engine xử lý tốc độ cao vàkhả năng chèn dữ liệu nhanh, hỗ trợ tốt cho các chức năng chuyên dùng cho webnên MySQL là lựa chọn tốt nhất cho các ứng dụng web và các ứng dụng webdoanh nghiệp
o Bảo mật tốt: Doanh nghiệp nào cũng cần tính năng bảo mật dữ liệu tuyệt đối vì đóchính là lợi ích quan trọng hàng đầu, và đó cũng là lý do mà các chuyên gia về cơ
sỡ dữ liệu chọn dùng MySQL
o Mã nguồn mở tự do và hỗ trợ xuyên suốt: Nhiều doanh nghiệp lo lắng việc sửdụng mã nguồn mở là không an toàn và không được hỗ trợ tốt vì đa số tin vào cácphần mềm có bản quyền, nhưng đối với MySQL, các nhà doanh nghiệp hoàn toàn
Trang 14có thể yên tâm về điều này, MySQL có chính sách bồi thường hẳn hoi và luôn hỗtrợ tối đa cho quý doanh nghiệp.
o Chi phí thấp: Đối với các dự án phát triển mới, nếu các doanh nghiệp sử dụngMySQL thì đó là 1 chọn lựa đúng đắn vừa tiết kiệm chi phí vừa đáng tin cậy Mứcduy trì của MySQL không chiếm nhiều thời gian sửa chữa của người quản trị cơ
sở dữ liệu và các doanh nghiệp thật sự hài lòng về khả năng xử lý thông qua việc
sử dụng server cơ sở dữ liệu MySQL và kiến trúc scale-out
o Dễ quản lý: Quá trình cài đặt MySQL diễn ra khá nhanh chóng trên MicrosoftWindows, Linux, Macintosh hoặc Unix Sau khi cài đặt, các tính năng tự động mởrộng không gian, tự khởi động lại và cấu hình động được thiết lập sẵn sàng chongười quản trị cơ sở dữ liệu làm việc
2 Giới thiệu về Brackets và Zend Studio
- Brackets là một trình soạn thảo cho website mã nguồn mở của hãng Adobe Nó đượctạo ra đặc biệt dành cho các nhà phát triển web và được viết bằng HTML, CSS và Javascript
sử dụng CodeMirror trong một Node.js container Những tính năng chính của Bracket:
o Soạn thảo nhanh chóng với tính năng Quick Edit
o Tích hợp JSLint cảnh báo lỗi lập trình JavaScript
o Công cụ soạn thảo mã nguồn mở
o Trích xuất trực tiếp từ PSD
o Tính năng Live Preview mạnh mẽ
o Các gói mở rộng đa dạng và phong phú
o Giao diện đồ họa hấp dẫn
o Highlight cú pháp và tự động hoàn chỉnh
- Zend Studio là một trong những công cụ hỗ trợ lập trình website tốt nhất hiện nay vớiđầy đủ các tính năng giúp bạn lập trình web dễ dàng Zend Studio là môi trường phát triểnkết hợp (IDE) dành cho các chuyên viên thiết kế chuyên nghiệp để hoàn thiện tất cả nhữngphần phát triển cần thiết cho quy trình xây dựng ứng dụng PHP Thông qua một bộ công cụtoàn diện gồm editing, debugging, analysis, optimization and database tools, Zend Studiođẩy mạnh các chu kỳ phát triển và làm đơn giản những đề án phức tạp Với giải thưởngInternal Debugger và nhà xuất bản PHP tuyệt vời, Zend Studio mang đến tất cả những chứcnăng cần thiết mà một chuyên viên thiết kế PHP cần:
o Nâng cao năng suất với môi trường phát triển PHP đã được thử nghiệm.Bao gồm PHP 5 cao cấp: Support, Code Editor, Code Completion, SyntaxHighlighting, Project Manager, Wizards, và Internal Debugger
Trang 15o Làm tăng hiệu suất làm việc của bạn Kiểm tra ứng dụng của bạn bằngcách sử dụng chức năng nổi tiếng và có nhiều giải thưởng: InternalDebugger Chức năng sửa lỗi nổi bật bao gồm: conditional breakpoints,stack trace view, advanced watches, variables và output buffer.
o Zend Snippets Explorer cho phép bạn sắp xếp, xem và thêm các chứcnăng tiện ích hay mã hóa sản phẩm Tự động kết nối tới thư viện mã củaZend, nơi bạn có thể chọn lựa, tải về, đánh giá hay đưa lên các CodeSnippets
o Phát triển một cách nhanh chóng và thông minh hơn với SyntaxHighlighting Dễ nhận biết về mã với việc đánh dấu màu sắc cho PHP 4,PHP 5, HTML, JavaScript, XML và CSS
3 Ngôn ngữ PHP
- PHP - viết tắt hồi quy của "Hypertext Preprocessor", là một ngôn ngữ lập trình kịchbản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máychủ, mã nguồn mở, dùng cho mục đích tổng quát Nó rất thích hợp với web và có thể dễdàng nhúng vào trang HTML Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏgọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn
so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình webphổ biến nhất thế giới
- PHP được ưa chuộng vì có nhiều ưu điểm:
o PHP là một mã nguồn mở: Việc cài đặt và sử dụng PHP rất dễ dàng vàmiễn phí vì đây là một mã nguồn mở (Open-source).Vì có tính ưu thế nhưvậy mà PHP đã được cài đặt phổ biến trên các WebServer thông dụng hiệnnay như Apache, IIS,…
o Tính cộng đồng của PHP: Là một ngôn ngữ mã nguồn mở cùng với sự phổbiến của PHP thì cộng đồng PHP được coi là khá lớn và có chất lượng.Khả năng ứng dụng là rất cao
o Thư viện phong phú
o Lập trình hướng đối tượng: Với việc ngày càng có nhiều Framework vàứng dụng PHP viết bằng mô hình OOP nên lập trình viên tiếp cận và mởrộng các ứng dụng này trở nên dễ dàng và nhanh chóng
o Tính bảo mật: Bản thân PHP là mã nguồn mở và cộng đồng phát triển rấttích cực nên có thể nói PHP khá là an toàn
- Với những tính năng ưu việt và vượt trội của mình, ngôn ngữ PHP đã vươn lên vị trí
là ngôn ngữ web hàng đầu trên thế giới, nhanh chóng vượt mặt nhiều ngôn ngữ lập trình
Trang 16khác Có tới 90% các trang web hiện nay viết bằng PHP, từ những trang báo điện tử, trangmạng xã hôi cho tới các cổng thông tin của Chính phủ đều đang sử dụng.
4 Hệ thống Git và Github
Git là tên gọi của một Hệ thống quản lý phiên bản phân tán (Distributed Version ControlSystem – DVCS) là một trong những hệ thống quản lý phiên bản phân tán phổ biến nhấthiện nay DVCS nghĩa là hệ thống giúp mỗi máy tính có thể lưu trữ nhiều phiên bản khácnhau của một mã nguồn được nhân bản (clone) từ một kho chứa mã nguồn (repository), mỗithay đổi vào mã nguồn trên máy tính sẽ có thể ủy thác (commit) rồi đưa lên máy chủ nơi đặtkho chứa chính Và một máy tính khác (nếu họ có quyền truy cập) cũng có thể clone lại mãnguồn từ kho chứa hoặc clone lại một tập hợp các thay đổi mới nhất trên máy tính kia.Trong Git, thư mục làm việc trên máy tính gọi là Working Tree
Cơ chế lưu trữ phiên bản của Git là nó sẽ tạo ra một “ảnh chụp” (snapshot) trên mỗi tậptin và thư mục sau khi commit, từ đó nó có thể cho phép bạn tái sử dụng lại một ảnh chụpnào đó mà bạn có thể hiểu đó là một phiên bản Đây cũng chính là lợi thế của Git so với cácDVCS khác khi nó không “lưu cứng” dữ liệu mà sẽ lưu với dạng snapshot
GitHub là một dịch vụ cung cấp kho lưu trữ mã nguồn Git dựa trên nền web cho các dự
án phát triển phần mềm GitHub cung cấp cả phiên bản trả tiền lẫn miễn phí cho các tàikhoản Các dự án mã nguồn mở sẽ được cung cấp kho lưu trữ miễn phí Tính đến tháng 4năm 2016, GitHub có hơn 14 triệu người sử dụng với hơn 35 triệu kho mã nguồn, làm cho
nó trở thành máy chủ chứa mã nguồn lớn trên thế giới
Ưu điểm của Git và Github:
o Git dễ sử dụng, an toàn và nhanh chóng
o Có thể giúp quy trình làm việc code theo nhóm đơn giản hơn rất nhiều bằng việc kếthợp các phân nhánh (branch)
o Bạn có thể làm việc ở bất cứ đâu vì chỉ cần clone mã nguồn từ kho chứa hoặc clonemột phiên bản thay đổi nào đó từ kho chứa, hoặc một nhánh nào đó từ kho chứa
o Dễ dàng trong việc phát triển sản phẩm
Trang 17CHƯƠNG 4 PHÂN TÍCH THIẾT KẾ HỆ THỐNG
1 Thiết kế Sitemap
Hình 1 Sitemap của website
Trang 18- Quản lý thông tin nhà trọ: Người quản trị quản lý thông tin của nhà trọ như tên
nhà trọ, địa chỉ, hình ảnh, giá điện, giá nước, giá phòng,…
- Cập nhật nhà trọ: thêm, sửa, xóa và xem thông tin nhà trọ (chỉ hiển thị với
admin)
2.3 Quản lý chi tiết nhà trọ
- Quản lý thông tin chi tiết nhà trọ: Người quản trị quản lý thông tin chi tiết nhà
trọ như mô tả, số điện thoại, email, ngày đăng, chủ nhà trọ
- Cập nhật chi tiết nhà trọ: thêm, sửa, xóa thông tin chi tiết nhà trọ (chỉ hiển thị
với admin)
2.4 Quản lý thông tin người dùng
- Liên hệ: Người dùng có thể gửi tin nhắn nếu có nhu cầu muốn đăng bài giới
thiệu về nhà trọ của mình Người quản trị quản lý thông tin liên hệ của kháchhàng như họ tên, email, số điện thoại, tiêu đề, nội dung
- Hỏi đáp: Người dùng có thắc mắc về website hay cần tìm hiểu về thông tin nào
đó trong website có thể gửi câu hỏi về cho người quản trị Người quản trị quản lýthông tin hỏi đáp của khách hàng như họ tên, email, nội dung
- Nhận email: Người dùng có nhu cần nhận thông báo, thông tin cập nhật về nhà
trọ mới nhất có thể gửi thông báo nhận email cho người quản trị Người quản trịquản lý thông tin nhận thông báo qua email của khách hàng
2.5 Tìm kiếm nhà trọ
- Người dùng có thể tìm kiếm nhà trọ thông qua địa chỉ trọ như tên đường,phường, quận
Trang 193 Sơ đồ phần rã chức năng
Hình 2 Sơ đồ phân rã chức năng
Trang 204 Sơ đồ luồng dữ liệu
4.1 Sơ đồ luồng dữ liệu mức ngữ cảnh
Hình 3 Sơ đồ luồng dữ liệu mức ngữ cảnh
Trang 214.2 Sơ đồ luồng dữ liệu mức đỉnh
Hình 4 Sơ đồ luồng dữ liệu mức đỉnh
Trang 225 Thiết kế cơ sở dữ liệu
- Bảng 1: NHATRO – Nhà trọ
Tên trường Kiểu Độ rộng Miêu tả Ghi chú NT_ID int Mã nhà trọ NOT NULL, PKNT_TENNHATRO varchar 100 Tên nhà trọ NOT NULLNT_DIACHI varchar 100 Địa chỉ nhà trọ NOT NULLNT_HINHANH text Hình ảnh NOT NULLNT_GIADIEN int Giá điện NOT NULLNT_GIANUOC int Giá nước NOT NULLNT_GIAPHONG int Giá phòng NOT NULLNT_DIENTICH int Diện tích NOT NULLNT_WIFI varchar 20 Wifi NOT NULLNT_GAC varchar 10 Gác NOT NULLNT_WC varchar 10 WC NOT NULLNT_TRANGTHAI varchar 20 Trạng thái NOT NULL
- Bảng 2: CHITIETNHATRO – Chi tiết nhà trọ
Tên trường Kiểu Độ rộng Miêu tả Ghi chú CTNT_ID int Mã chi tiết nhà trọ NOT NULL, PKNT_ID int Mã nhà trọ NOT NULL, FKHA_ID int Mã hình ảnh NOT NULL, FKCTNT_MOTA text Mô tả NOT NULLCTNT_SDT varchar 12 Số điện thoại NOT NULLCTNT_EMAIL varchar 100 Email NOT NULLCTNT_NGAYDANG varchar 20 Ngày đăng NOT NULLCTNT_CHUTRO varchar 100 Chủ trọ NOT NULL
Trang 23- Bảng 3: HINHANH – Hình ảnh
Tên trường Kiểu Độ rộng Miêu tả Ghi chú HA_ID int Mã hình ảnh NOT NULL, PKHA_HINH1 text Hình 1 NOT NULLHA_HINH2 text Hình 2 NOT NULLHA_HINH3 text Hình 3 NOT NULL
- Bảng 4: LIENHE – Liên hệ
Tên trường Kiểu Độ rộng Miêu tả Ghi chú LH_ID int Mã liên hệ NOT NULL, PKLH_HOTEN varchar 100 Họ tên NOT NULLLH_EMAIL varchar 100 Email NOT NULLLH_TIEUDE text Tiêu đề NOT NULLLH_SDT varchar 12 Số điện thoại NOT NULLLH_NOIDUNG text Nội dung NOT NULL
- Bảng 5: HOIDAP – Hỏi đáp
Tên trường Kiểu Độ rộng Miêu tả Ghi chú HD_ID int Mã hỏi đáp NOT NULL, PKHD_HOTEN varchar 100 Họ tên NOT NULLHD_EMAIL varchar 100 Email NOT NULLHD_NOIDUNG text Nội dung NOT NULL
- Bảng 6: NHANEMAIL – Nhận email
Tên trường Kiểu Độ rộng Miêu tả Ghi chú NE_ID int Mã nhận email NOT NULL, PKNE_TAIKHOAN varchar 100 Tài khoản NOT NULL
Trang 246 Phân tích thiết kế hệ thống và dữ liệu
6.1 Xác định thực thể
nhatro NT_ID: , NT_TENNHATRO, NT_HINHANH, NT_GIADIEN, NT_GIANUOC, NT_DIENTICH, NT_WIFI, NT_GAC, NT_WC, NT_TRANGTHAI, NT_GIAPHONG
chitietnhatro CTNT_ID: , NT_ID, HA_ID, CTNT_MOTA, CTNT_SDT, CTNT_EMAIL, CTNT_NGAYDANG, CTNT_CHUTRO
hinhanh HA_ID: , HA_HINH1, HA_HINH2, HA_HINH3
lienhe LH_ID: , LH_HOTEN, LH_TIEUDE, LH_SDT, LH_EMAIL, LH_NOIDUNG
hoidap HD_ID: , HD_HOTEN, HD_EMAIL, HD_NOIDUNG
nhanemail NE_ID: , NE_TAIKHOAN
Trang 256.2 Mô hình thực thể ER
Hình 5 Mô hình thực thể ER
Trang 266.3 Mô hình quan hệ
Hình 6 Mô hình quan hệ
Trang 27CHƯƠNG 5 CÀI ĐẶT VÀ CHẠY CHƯƠNG TRÌNH
1 Cài đặt
Chương trình được chạy trên nền PHP 7.0 kết hợp với hệ quản trị cơ sở dữ liệu MySQL5.0.11
Trang 282 Giao diện website: Giao diện được chia làm 4 mục lớn là Trang chủ, giới thiệu, liên hệ
và hỏi đáp
2.1 Giao diện trang chủ (index.php)
Hình 7 Giao diện trang chủ
Trang 29Trang hiển thị thông tin danh sách các nhà trọ hiện có tại quận Ninh Kiều, thành phốCần Thơ Ngoài ra còn có các thông tin liên hệ và các chức năng hỗ trợ cho người dùng tìmnhà trọ.
Hình 8 Thông tin chi tiết một nhà trọ
Mỗi nhà trọ sẽ hiển thị các thông tin như địa chỉ, diện tích, giá phòng và các thông tin
cơ bản khác giúp người dùng tìm nhà trọ nhanh hơn Ngoài ra, để xem được mô tả và hìnhảnh chi tiết, người dùng ấn vào nút để xem chi tiết nhà trọ
Hình 9 Chức năng tìm kiếm nhà trọ
Nhằm hỗ trợ người dùng tìm kiếm nhà trọ nhanh hơn, website nhà trọ Cần Thơ đãxây dựng chức năng tìm kiếm nhà trọ Để sử dụng chức năng, người dùng nhập địa chỉ (tên