Chính mã nguồn mở cùng với giấy phép không có nhiều ràng buộc đã cho phép các nhà phát triển thiết bị, mạng di động và các lập trình viên được điều chỉnh và phân phối Android một cách tự do. Những yếu tố này đã giúp Android trở thành nền tảng điện thoại thông minh phổ biến nhất thế giới. Android chiếm 75% thị phần điện thoại thông minh trên toàn thế giới vào thời điểm quý 3 năm 2012, với tổng cộng 500 triệu thiết bị đã được kích hoạt và 1,3 triệu lượt kích hoạt mỗi ngày. Tháng 10 năm 2012, đã có khoảng 700.000 ứng dụng trên Android, và số lượt tải ứng dụng từ Google Play (cửa hàng ứng dụng chính của Android) ước tính khoảng 25 tỷ lượt. Hiện nay con số này đã giảm xuống do sự ảnh hưởng lớn của iOS từ Apple và một phần nhỏ của Windows Phone, tuy nhiên Android vẫn dẫn đầu thị phần.
Trang 2TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN PHẦN MỀM MÃ NGUỒN MỞ
ĐỀ TÀI:
MÃ NGUỒN WEBSITE TIN TỨC
Sinh viên thực hiện: Lý Quang Sang (NT)
Đào Nguyên Trung
GVHD: Nguyễn Quang Trung
LỚP: LỚP D14CNPM5
Trang 3PHIẾU CHẤM ĐIỂM ST
Trang 4………
………
………
………
………
………
………
………
………
………
………
Trang 5MỤC LỤC
LỜI CẢM ƠN
LỜI MỞ ĐẦU
1.2 Nguyên nhân tại sao cần phải thiết kế website? 3
Trang 6LỜI CẢM ƠN
Trên thực tế không có sự 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ù trực tiếp hay gián tiếp của người khác Trong suốtthời gian đã và đang học tập tại trường đến nay, em đã nhận được rất nhiều sự quantâm, giúp đỡ của quý Thầy Cô, gia đình và bạn bè
Và đặc biệt, trong học kỳ này.Em xin cảm ơn thầy Nguyễn Quang Trung đãhướng dẫn, góp ý, thảo luận để bài báo cáo này của em được hoàn thiện Trong thờigian được học tập và thực hành dưới sự hướng dẫn của thầy, chúng em khôngnhững thu được rất nhiều kiến thức bổ ích, mà còn được truyền sự say mê và thích
thú đối với bộ môn Phần mềm mã nguồn mở.
Mặc dù đã rất cố gắng hoàn thiện đồ án với tất cả sự nỗ lực, tuy nhiên, do bướcđầu đi vào thực tế, tìm hiểu và xây dựng đồ án trong thời gian có hạn, với lượng
kiến thức còn hạn chế, nhiều bỡ ngỡ, nên đồ án “Mã nguồn trang web tin tức” chắc
chắn sẽ không thể tránh khỏi những thiếu sót Chúng em rất mong nhận được sựquan tâm, thông cảm và những đóng góp quý báu của các thầy cô và các bạn để đồ
án này ngày càng hoàn thiện hơn
Một lần nữa, chúng em xin chân thành cảm ơn thầy và luôn mong nhận được
sự đóng góp của thầy cô và các bạn
Sau cùng, chúng em xin kính chúc các thầy cô trong Khoa Công Nghệ ThôngTin 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
Trân trọng!
Trang 7LỜI MỞ ĐẦU
Trên thế giới hiện nay, tin học là một ngành phát triển không ngừng Có thể nói tin học đã chiếm một vị trí quan trọng trong cuộc sống hàng ngày và trong các ngành khoa học kỹ thuật Trong những năm gần đây cùng với sự phát triển chung của ngành tin học thế giới và khu vực, ngành tin học nước ta đó có bước phát triển nhất định
Việc đưa tin học vào công việc quản lý nhằm giảm bớt sức lao động của con người, tiết kiệm thời gian, độ chính xác cao và tiện lợi hơn rất nhiều so với việc làm quản lý giấy tờ bằng thủ công như trước đây Tin học hóa nhằm thu hẹp không gian lưu trữ, tránh làm thất lạc dữ liệu, tự động hóa và cụ thể hóa các thông tin theonhu cầu của con người Còn ở Việt Nam, ngành tin học tuy còn non trẻ nhưng cũngđang từng bước bứt phá được những thành công trong việc áp dụng tin học vào việc phát triển kinh tế, xã hội.Tuy nhiên để có thể quảng bá hình ảnh sản phẩm và tin tức đến với nhiều người dùng hơn nên họ đã phát triển ra các trang web để phổ biến tiếp cận đến nhiều người Cũng từ đó ngành thiết kế website là một ngành vô cùng hot, chúng em đã chọn đề tài “mã nguồn web tin tức” cho báo cáo lần này
Nhận thấy đây là một trong những ngành được ưa chuộng rất nhiều tại ViệtNam cũng như trên toàn thế giới.Chúng em đã cảm thấy rất phấn khích khi nhậnthấy điều đó và đã phải chuẩn bị rất nhiều thời gian, tài liệu để hoàn thành báo cáonày
Chúng em xin cảm ơn thầy giáo Trần Mạnh Trườngđã hướng dẫn nhiệt tình
giúp chúng em hoàn thành được đề tài của mình với một bài toán quản lý.Trongquá trình làm bài, chắc chắn chúng em sẽ mắc phải những thiếu sót nên rất mongnhận được sự đóng góp ý kiến của thầy để chúng em có cơ hội sửa sai, phát triểntrong thực tế và từng bước hoàn thiện mình
Chúng em xin chân thành cảm ơn!
Trang 8CHƯƠNG 1: GIỚI THIỆU TRANG WEB
1.1 Giới thiệu chung về website
Website (tiếng Anh: website[1]), còn gọi là trang web (có thể nhầm lẫn với "web page") hoặc trang mạng, là một tập hợp trang web, thường chỉ nằm trong một tên
miền hoặc tên miền phụ trên World Wide Web của Internet.[2][3] Một trang web làtập tin HTML hoặc XHTML có thể truy nhập dùng giao thức HTTP Trang mạng
có thể được xây dựng từ các tệp tin HTML (trang mạng tĩnh) hoặc vận hành bằngcác CMS chạy trên máy chủ (trang mạng động)
Trang mạng có thể được xây dựng bằng nhiều ngôn ngữ lập trình khác nhau (PHP,ASP.NET, Java, Ruby on Rails, Perl, )
Website được giao tiếp và hiển thị cho người dùng truy cập bằng các phần mềmđược gọi là trình duyệt website Một sô trình duyệt website nổi tiếng có thể kể đếnnhư Internet Explorer được cài đặt mặc định vào mỗi máy tính cài hệ điều hànhwindows và được thay thế bởi Edge trên Windows 10 hay Chrome được phát triểnbởi Google và Firefox được phát triển bởi Mozilla
1.2 nguyên nhân tại sao cần phải thiết kế website?
Hiểu được website là gì bạn chắc chắn không thể bỏ qua tầm quan trọng củawebsite, nhất là đối với các doanh nghiệp cung cấp các sản phẩm, dịch vụ Trong
đó, có các lý do chính khiến cho doanh nghiệp cần sở hữu một website của riêngmình như sau:
- Website – văn phòng thứ hai của mọi doanh nghiệp Nếu như văn phòng trongthực tế là nơi để thực hiện các giao dịch của doanh nghiệp và qua đó để thể hiệnđược bộ mặt của doanh nghiệp, để doanh nghiệp gây ấn tượng với khách hàng.Thìwebsite cũng được ví như là một văn phòng thứ hai của doanh nghiệp trênInternet.Thông qua website, khách hàng đã có thể cập nhật được những thông tin
Trang 9về doanh nghiệp, về sản phẩm, về dịch vụ của bạn.Bên cạnh đó, phong cách thiết
kế ấn tượng cũng sẽ tạo nên dấu ấn của bạn trong lòng khách hàng
- Website giúp khẳng định thương hiệu và là công cụ cạnh tranh với đối thủ Khikhách hàng có nhu cầu tìm kiếm bất kỳ thông tin về sản phẩm, dịch vụ hành độngđầu tiên của khách hàng chính là tìm kiếm thông tin trên Internet Ngay lúc này,phải chăng website chính là một công cụ chính để bạn cạnh tranh và thu hút kháchhàng hơn so với đối thủ cạnh tranh Không chỉ cần hiểu website là gì mà doanhnghiệp bạn cần sở hữu ngay một website chuyên nghiệp để thu hút khách hàng vàcạnh tranh với đối thủ
- Website sẽ là nơi cung cấp nguồn thông tin hữu ích Tất tần tật mọi thông tin màbạn mong muốn truyền tải đến khách hàng đều có thể thông qua website Bởi theođịnh nghĩa website là gì, website đã được giải mã là một trang thông tin đặc biệtdành cho khách hàng Tất cả mọi thông tin về doanh nghiệp, dịch vụ, sản phẩm đếnchương trình khuyến mãi, hướng dẫn sử dụng, chia sẻ bí quyết bạn đều có thể cậpnhật trên trang web của mình Tuy nhiên, mọi thông tin cần được thể hiện một cách
rõ ràng, mạch lạc để tạo nên sự thu hút đối tượng mục tiêu mà bạn nhắm đến
Trang 10- Không chỉ bán hàng, website còn là kênh để thực hiện các công việc giao tiếp vàchăm sóc khách hàng 24/24 Một trong những ưu điểm đặc biệt nhất của website sovới bất kỳ công cụ nào khác là cho phép sự tương tác từ 2 phía giữa khách hàng vàdoanh nghiệp Bạn có thể tận dụng website để thực hiện các cuộc khảo sát nho nhỏ
để hiểu khách hàng mình hơn hay thu thập những đánh giá của khách hàng vềdoanh nghiệp của mình Từ những nguồn thông tin quý báu này, bạn đã có thể dễdàng cải thiện chất lượng sản phẩm, dịch vụ của mình sao cho phù hợp nhất vớikhách hàng mà không cần tốn quá nhiều thời gian, chi phí cho các cuộc khảo sát
- Hơn cả giá trị cung cấp thông tin và bán hàng, website còn là một trong nhữngyếu tố không thể thiếu để doanh nghiệp thực hiện các kế hoạch Marketing củamình Với sự phát triển không ngừng của Internet, Marketing Online cũng trở thànhmột công cụ đắc lực để doanh nghiệp thu hút khách hàng bên cạnh các phươngpháp Marketing truyền thống Để thực hiện được điều đó, chắc chắn không thểthiếu website.Chính vì vậy, các doanh nghiệp cần hành động ngay để sở hữu chomình môt website chuyên nghiệp cho các kế hoạch phát triển, định hướng dài hạn
1.3 Khảo sát đề tài
- Mục tiêu: Xây dựng lên được một trang website tin tức giúp mọi người có
thể xem được các bản tin mà ban biên tập đăng lên
- Đầu vào input: Dữ liệu, thông tin bài viết, thông tin người dùng
- Đầu ra outpust: Dữ liệu bài viết, thông tin người dùng được thêm vào cơ sở
dữ liệu và bài viết được hiển thị ra ngoài trang index, thông tin người dùngđược tạo tài khoản để đăng nhập và chỉnh sửa thông tin cá nhân
Trang 11CHƯƠNG 2: XÂY DỰNG WEBSITE
Để thiết kế website này, mình sẽ sử dụng chủ yếu các ngôn ngữ cơ bản nhất làHTML để xây dựng lên bố cục website và dùng CSS để tô điểm cho trang web đẹphơn, sử dụng Javascript để tạo một số hiệu ứng cho website và cuối cùng là PHP đểkết nối website tới cơ sở dữ liệu
2.1 Phân tích tính năng chính.
Để thiết kế ra một trang website tin tức tương đối hoàn chỉnh thì trước tiên ta phảiphân tích xem trang web đó có những chức năng gì và lên các ý tưởng thiết kế Sauđây em sẽ liệt kê một số chức năng chính mà trang web tin tức của chúng em có:
Phần 1: người xem
- người xem có thể xem được các bài viết tin tức của trang
- có thể xem được các chuyên đề bài viết
- bài viết của chuyên đề
- đăng ký, đăng nhập tài khoản
- bình luận sau khi đăng nhập
- tìm kiếm bài viết
Phần 2: người dùng
- người dùng có thể sử dụng được các tính năng của người xem
- ngoài ra người dùng được phân quyền làm các nhóm quản trị và biêntập
- biên tập viên có thể thêm sửa xóa các bài viết, chủ đề
- quản trị viên có các chức năng của biên tập viên, người xem và thêmchức năng là thêm sửa xóa thành viên
2.2 Phân tích và thiết kế cơ sở dữ liệu
● Với các tính năng như trên chúng em đã dựa theo đó mà thiết kế lên cơ sở dữliệu sao cho tối ưu và chuẩn xác nhất Database của chúng em có tên là
“trangtin” với 5 bảng chính lần lượt là: images, tlb_baiviet, tlb_nguoidung,tlb_chuyende, tlb_binhluan
- ở bảng images: có 2 cột chính là id và name, để lưu id của ảnh và tên của ảnh
- ở bảng tlb_baiviet: có các cột là ID, MaChuDe để lưu bài viết trong các chủ
đề, MaNguoiDung để lưu thông tin người đăng bài, TieuDe để lưu tiêu đềbài viết, TomTat để lưu phần tóm tắt của bài viết, NoiDung để lưu nội dung
Trang 12của bài viết, NgayDang để lưu thời gian đăng bài viết đó, LuotXem để lưu sốlượt xem khi các trình duyệt máy bấm vào link bài viết để xem, KiemDuyet
để lưu bài viết được xuất bản hay không được xuất bản đang chế độ lưu trữ
- ở bảng tlb_binhluan: có ID để lưu id của bình luận đó, MaBaiViet để lưu trữ
mã của bài viết đó khi người bình luận comment vào, MaNguoiDung để lưu
mã lấy thông tin của người dùng, NoiDungBinhLuan để lưu nội dung bìnhluận của những người độc giả vào bình luận, NgayDang để lưu thời gianđang bình luận đó, KiemDuyet để lưu bình luận đó dưới dang lưu trữ hoặcđược xuất bản
- ở bảng tlb_chude: có ID để lưu id của chủ đề đó, TenChuDe để lưu tên củachủ đề
- ở bảng tlb_nguoidung: có ID để lưu id của người dùng, avatar để lưu ảnh đạidiện của người dùng, HoVaTen để lưu tên họ của người dùng, TenDangNhap
để lưu tên khi đăng nhập vào tài khoản của họ, MatKhau để lưu mật khẩu khiđăng nhập vào tài khoản của người dùng đó, QuyenHan để đánh dấu ngườidùng đó có quyền hạn biên tập viên hay quản trị viên, Khoa để đánh dấu tàikhoản này được tiếp tục sử dụng hay không
Và đây là cơ sở dữ liệu của chúng em sau khi thiết kế
2.3 Thiết kế đăng ký đăng nhập
Trang 14Ở trong phần đăng ký đăng nhập em cho cả 2 phần này vào cùng 1 trang.với sửdụng một mẫu form nhân đôi dành cho 2 mục điền dữ liệu sau khi người sử dụngđiền vào sẽ đẩy dữ liệu đến 1 trang khác có tên là dangnhap_xulu.php tại đây e viếtcác câu lệnh php để xử lý thông tin và truy vấn với database bằng cách:
Trang 152.4 Thiết kế phần bài viết
Trang 16Trong mỗi chủ đề sẽ có các bài viết khách nhau về chủ đề đó nên ở phần trang chủ
em sẽ chỉ để cho người đọc có các chức năng xem tổng thể tất cả các bài viết searchchủ đề, tên bài viết để xem bài viết đó
Trang 17Để hiển thị dữ liệu ra em đã cho truy vấn dữ liệu từ cơ sở dữ liệu ra rồi đổ nó vàomột mảng array say đó dùng 1 vòng lặp while từ phần tử củng mảng trong vònglặp đó em echo chèn các phần tử html vào và kết quả ra được kết quả như mongmuốn mỗi thể html <a> đường linh dẫn của nó cũng cũng đã để thêm id để khingười dùng click vào thẻ <a> thì sẽ lại một lượt truy vấn dữ liệu lấy ra id của bàiviết và hiểu thị chính xác bài viết đó.
2.5 Thiết kế phần quản lý bài viết
Trang 18Trong phần này chúng em làm các chức năng thao tác với biều viết như: thêm, sửa,xóa, duyệt bài viết ở đây cũng có thể xem được tổng số bao nhiêu bài viết Nútthêm bài viết sẽ được chuyển đến 1 trang khác với form điền thông tin của bài viết
và khi điền các nội dung vào trong sẽ được gửi đến 1 trang xuly khác của thêm bàiviết, trang xuly này sẽ lấy các dữ liệu của form rồi tải lên cơ sở dữ liệu
Trang 19tương tự như vậy, ở chức năng sửa cũng vậy, em cũng cho nó chuyển sang mộttrang nhưng khác ở chỗ là lấy id của bài viết đó rồi chuyển sang trang kia select dữliệu điền sẵn trước và value của các input trong form rồi sửa lệnh truy vấn thànhupdate Xóa và kiểm duyệt thì không cần tới form chỉ cần 1 trang xuly rồi lấy idxong delete toàn bộ dữ liệu có id vừa lấy trong cơ sở dữ liệu là xong
2.6 Quản lý tài khoản
Trong phần này nhóm em sẽ tạo phần quản lý dành cho người sử dụng về cài đặtcác thứ cơ bản trong tài khoản của họ
Trang 20Ví dụ như có thể xem và kiểm soát các bài đăng của mình, bình luận và thư việnhay cài đặt tài khoản của bản thân.
các bài đăng của tài khoản sẽ được hiển thị trong phần quản lý tài khoản, tại đâyngười sử dụng có thể xem được tiêu đề, chủ đề, ngày đăng và đã được duyệt haychưa, thậm trí còn có thể sửa xóa trực tiếp các bài đăng của bản thân trong phầnnày
Trang 21Tương tự như vậy, chúng em đã tạo thêm phần thư viện ảnh để người dùng có thểthêm ảnh lên kho dữ liệu chung cuối cùng là phần tự chỉnh sửa tài khoản cá nhân
Trang 22Phần cài đặt tài khoản chúng ta có thể đổi được avatar và họ tên đồng thời đổi được
cả mật khẩu đăng nhập Sau khi điền thông tin và nhấp vào gửi thì phần xuly sẽ tựđộng lấy thông tin trong các form và điền chạy lệnh sql lên cơ sở dữ liệu nhữngtrường input nào chưa điền dữ liệu thì sẽ báo ra cho người dùng là chưa được điềnđồng thời vẫn sẽ chạy các trường khác đã được điền dữ liệu
Trang 23CHƯƠNG 3 : KẾT QUẢ ĐẠT ĐƯỢC 3.1 Kết quả mã nguồn
Sau khi chạy các câu lệnh trên môi trường ảo Xampp thì chúng em đã thu được mộttrang website tin tức tương đối đầy đủ Chúng em đã hoàn thiện được các mục tiêuban đầu đề ra và các tính năng cơ bản dành cho người dùng và quản trị viên đăngbài
Ở trong cơ sở dữ liệu chúng em cũng đã tạo các dữ liệu mẫu để đăng sẵn lên demo,gồm có 10 chủ đề và 23 bài viết
3.2 Ý nghĩa và ứng dụng
Trang 24Website tin tức là thiết kế một trang báo điện tử – một hình thức báo chí có khả
năng tiếp cận và phản hồi liên tục trong mọi thời điểm trên toàn cầu, cập nhật liêntục các thông tin nóng hổi xảy ra trên khắp thế giới Khác biệt hoàn toàn với báogiấy, có rất nhiều hạn chế luôn bị giới hạn nhất định về số trang, số chữ, thời điểmphát hành và số lượng tin tức, báo điện tử có tốc độ cập nhật tuyệt vời và khônggian tin tức không giới hạn Đặc biệt trong thời đại công nghệ thông tin sức mạnhcủa báo điện tử đang uy hiếp mạnh mẽ đến sự tồn tại của hình thức báo giấy truyềnthống từng tồn tại hàng trăm năm nay
Chúng ta có thể dễ dàng thao tác với các trang website tin tức như:
trên chiếc điện thoại thông minh của bạn mà không cần phải chạy đi tìm mua
1 tờ báo Nhẹ nhàng làm cốc caffe với một số bài tin được sắp xếp nổi bậttrên các trang tin tức vào mỗi buổi sáng
và đăng một số bài viết do bạn tìm hiểu được gần đây mà thấy hữu ích cầnchia sẻ tới nhiều người hơn