- Phạm vi ứng dụng: o Website giúp quản lý các thông tin nhà trọ, chi tiết nhà trọ, cũng như thôngtin người dùng một cách đơn giản, khoa học.. Người quản trị có thể dễ dàng cập nhật các
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 SV2: NGÔ QUỐC THỊNH MSSV:1400302 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áo thựctậ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ình thựctậ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ành phố 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.
o Địa chỉ:
Trụ sở chính: Số 29 Cách Mạng Tháng 8, Phường Thới Bình, Quân‚ Ninh Kiều, TPCT
Trụ sở 2: 3A Nguyễn Trãi, Phường An Hội, Quận Ninh Kiều, TPCT
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ố
1
Trang 10Tham mưu, đề xuất, triển khai, thực hiên‚ các nhiêm‚ vụ, giải pháp nhằm đảm bảo an toàn thông tin trong hoạt đông‚ ứng dụng công nghê ‚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ận hà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ĩnh vực công nghê ‚thông tin và truyền thông, ngoại ngữ chuyên ngành cho cán bộ, công chức, viên chức và các cá nhân, tổ chức có yêu cầu
Hợp tác trong nước, quốc tế về lĩnh vực đầu tư, phát triển công nghê
‚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ơ
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 Đảm bảo an toàn các thông tin của khách hàng Nội dung luônđược cập nhật thường xuyên
- Phạm vi ứng dụng:
o Website giúp quản lý các thông tin nhà trọ, chi tiết nhà trọ, cũng như thôngtin người dùng một cách đơn giản, khoa học Người quản trị có thể dễ dàng cập nhật các thôngtin về nhà trọ, chi tiết nhà trọ, người dùng, khi cần thiết
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 cung cấpnhâ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óacũ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à ở chocô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âm pháttriể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ức tạ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 Đại Họ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ết các nhà trọ bao gồmgiá phòng, giá điện nước, gác, WC, cũng như đánh giá 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
3
Trang 12Liê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ình bằ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 cho cô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
Quản lý nhà trọ: Người quản trị có thể xem, thêm, cập nhật, xóa thô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óa hì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ủa ngườ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ủa ngườ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ười dù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, cungcấ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ấtthí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ềuphiên bản cho các hệ điều hành khác nhau: phiên bản Win32/64 bit cho các hệ điều hành dòngWindows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, 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ác phiên bản đang được hỗ trợ của Linux, Unix, Windows, MySQL cho phép tùy biến hoàn toàntheo ý 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ất củ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ống doanh 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ững tin 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 web nên MySQL là lựa chọn tốt nhất cho các ứng dụng web và các ứng dụng web doanh 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ức duy trì củaMySQL 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 doanhnghiệ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ônggian, tự khởi động lại và cấu hình động được thiết lập sẵn sàng cho ngườ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ển kếthợ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ững phầnphá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àndiện gồm editing, debugging, analysis, optimization and database tools, Zend Studio đẩy mạnhcá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ưởng InternalDebugger và nhà xuất bản PHP tuyệt vời, Zend Studio mang đến tất cả những chức năng cầnthiế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, Syntax Highlighting, 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ằng cách
sử dụng chức năng nổi tiếng và có nhiều giải thưởng: Internal Debugger Chức năng sửa lỗinổ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ức năngtiện ích hay mã hóa sản phẩm Tự động kết nối tới thư viện mã của Zend, nơi bạn có thể chọnlựa, tải về, đánh giá hay đưa lên các Code Snippets
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ịch bảnhay 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áy chủ, 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úngvà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ápgiố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ônngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ 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ễnphí 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ện nay 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à ứngdụ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ất tí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
7
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ử, trang mạ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ất hiệnnay 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ác nhau củamột mã nguồn được nhân bản (clone) từ một kho chứa mã nguồn (repository), mỗi thay đổivà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 đặt kho chứachí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ập tin
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ụp nà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ác DVCSkhá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ự ánphá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ài khoả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 4 nă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ànhmá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 clone mộ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ách hà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ọ
NT_TENNHATRO varchar 100 Tên nhà trọ NOT NULLNT_DIACHI varchar 100 Địa chỉ nhà trọ NOT NULL
- Bảng 2: CHITIETNHATRO – Chi tiết nhà trọ
Trang 23- Bảng 3: HINHANH – Hình ảnh
- Bảng 4: LIENHE – Liên hệ
- Bảng 5: HOIDAP – Hỏi đáp
- Bảng 6: NHANEMAIL – Nhận email
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.
16
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âydự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