Blogging System: A total Content Management System (C.M.S), also contains an Admin Panel which controls the whole dynamic process of this monolithic project.

What is a Blogging Systems

Are broadcast-style communications systems that enable authors to publish articles, opinions, or product reviews (known as posts), which can be delivered through stand-alone websites, email, feed syndication systems, and social networks. According to https://gartner.com

Or

Blogging refers to writing, photography, and other media that's self-published online

What is a Content Management System (C.M.S)

A content management system is a software application that allows you to create and deliver digital content. A CMS lets you easily edit your digital experiences and then publish that experience to the web and other digital channels. According to https://business.adobe.com

How to setup this Project Database after downloading the XAMPP control Panel:

  1. Start the XAMPP control panel.
  2. Navigate to SQL_FILES folder
  3. Open the content_management_system.sql file using a text editor, preferably, VS code.
  4. Copy the whole content of the file.
  5. On your browser, preferably google chrome, paste this http://localhost/phpmyadmin on the search tab.
  6. Your background should look like the one below.

Phpmyadmin GUI 6. Click on the button SQL, you should see the exact type of image below.

SQL Background

  1. Go back to step 1 and follow through till step 3, then paste the content into the SQL panel, which you just opened.
  2. click Go which is on the bottom-right-corner of the SQL page.

Abbreviations that will be used and their meaning :

DB - Database


CRUD (Create Read Update Delete) system


UI/UX - User Interface / User Experience

How this project Admin Panel Functions

  1. It has a Dashboard that shows the list below
    Dashboard_page

i. It contains a Post Section

Dashboard_post_view_post_page

post_view2

post_add_postpage

add_postpage2

ii. It contains a Category Section

CategoriesPg

iii. It contains also a Comment in Section

CommentsPg

iv. It also contains the User Section

Users_View_userPg

User_Add_newUserPg

Well Under the Dashboard are 4 sub-sections, which I have listed above with their Images.

  1. Post Section.
  2. Comments Section.
  3. Users Section.
  4. Categories Section.

Tools needed to get this Project Up and running are:

  1. Browser, preferably - google chrome

chrome

  1. Xampp Control Panel

xampp-control-panel

xampp-when Opened

  1. Text Editor, preferably - Visual studio code

Vs code

Vs Code When Open

Steps to get the whole process started.

  1. Open the Xampp control panel you downloaded, after installing it on the local machine.

xampp-when Opened

  1. click Apache: Start

  2. click MySQL: Start

  3. Download and install Visual Studio Code

  4. Open or better still, run the visual studio code

Vs Code When Open

  1. clone this repository by running git clone https://github.com/Alpheus-godswill1/blogging_system3.git

Extensions that eased the process using VS code text editor on this project.

  1. Bracket pair Coloriser

  2. Emmet Live

  3. Github themes

  4. Vs Code great icons

Let's Start from the Backend to the Front End i.e from the Admin Panel to the Front display Page.

  • As I said earlier it contains several sections, which I listed above.
  • So I am going to explain, how I built each section, and what bugs I encountered, you will get to know the mindset behind each section and how I moved from one line of code to the completion of this amazing project.

Remember We are discussing the Admin Section.

Section 1 (CREATE ACCOUNT/SIGN UP PAGE, WHEN USER DON'T HAVE AN ACCOUNT WITH THIS ORGANISATION)

  1. Before entering any website as a contributor an editor or an admin or whatever role a person plays, firstly, you must have a record, or an account with them so they can know you properly. So note no random user can just publish content on an organization's website, it must go through a process.

There is normally a connection to the database first in any PHP-built section, to ensure data communication is gotten properly. The connection to the DB must be working properly before any checking and validation of the field like the password, username, email, etc, is done using the script below.

Creat user front page

create user html page

create user html page2

create user script PHP1

create user script PHP2

create user script PHP3

Section 2 (LOGIN PAGE, WHEN USER HAVE AN ACCOUNT WITH THIS ORGANISATION):

Here can only be accessed if the user has an account created with the ORGANISATION.

This occurs by a process, data stored in the database is taken and compared to the data inserted into the field by the user to see if the data corresponds, or else an error message is activated by a script.

Login Frontpage

HTML5 / CSS3 tags below

login front page html

login frontpage 2 pics

PHP script that takes data from HTML/CSS page, validates them, and stores them in DB

Login script PHP1

Login script PHP2

SECTION 3 :

How DATA is sent and gotten for the POST SECTION in the Admin Panel :

Like I said earlier there is a connection to the DB first before anything is carried out.

  1. Using a CRUD system.

1i. Post is sent to the DB tables (post) Inserting_data_to_DB

post_add_postpage

add_postpage2

HTML tags and PHP scripts for the image above to send post to DB.

add_post

add_post2

post_Dashboard1

Dashboard_post_view_post_page

PHP scripts to insert data to DB table (post)

Insert_post_data_funct

Insert_funct_post2

For the HTML header of the Table

Post header

For the edit button feature

Edit_Post

edit_post2

edit_post3

edit_post4

For the change status feature

change_to_publish_or_draft

SECTION 4 :

This section is for the category of the post displayed on the front page, but this is also stored and displayed in DB and Admin Panel, it all depends on what the user(Admin, editor, copywriter), etc, is trying to do, e.g (Tech, Finance, Health, Food ), etc.

CategoriesPg

Add new category feature (send new category to DB), below is the PHP script that allows this to occur dynamically with ease.

add_Category_functions

add_cat_function2

This is to display the category that the content creator selected :

Display_Category1

Delete Feature: this is to delete the category dynamically if the user wishes.

Delete_category1

SECTION 5:

Below is the comment section in the Admin Panel.

UI of the comments, arranged in a tabular form, gotten from the DB.

CommentsPg

using class(OOP) to build this comment section:

class1_authoritycommt1

authority_commt2

authority_commt3

Script to check how many users of the website commented.

Comments1

Script to instantiate comment class ( that is to call the class created for the comment section)

comment_instantiation

Instantiate_comment2

PHP script to change the status of the comment in DB to either 'unapproved' or 'approved' dynamically with ease.

Change_Status_commt1

Change_status2

SECTION 6 :

This section tells us how many users have been registered to each section :

Dashboard_page

Number of users registered or logged in to the admin panel :

Num_of_users

Number of comments by public users from the front-end

Num_of_comments

Number of categories used by content creators ( publishers, editors, copywriters, sales marketers), etc.

Numb_of_categories

Number of posts on the DB table (post)

Num_of_post

SECTION 7 :

This section consists of the profile of the current user logged into the Admin Panel.

ProfilePage

HTML tags and PHP scripts that allows user to update their profiles e.g headshot, name, phone numbers, etc.

Profile1

Profile2

Profile3

Profile4

This section is now where all data (behind the scene work) from the DB is displayed for the public, dynamically with ease.

FRONT END (user interface display ).

SECTION 1

Cover_Blogging_System

Section_Lates_Post

post

Section_latest_post2

Recent_Post_Section

Display blog posts (articles) based on categories.

Display_BaseON_Cats

This feature is so amazing, I always use to wonder how it happened, and I finally built it out myself, it's called single post display ( when you search a keyword on the search tab, normally a post or two appears, when a particular post is clicked it eventually opens up singly ). It was pretty fun building out this feature.

Display_BaseON_Cats

Single_Post_Display

PHP script that gets or fetches data from DB table (post), using the CRUD system.

function_display_data_from_DB

display_function2

Display_functio3

SECTION 2 :

Front End Comment Section where only approved comments from the Admin panel are displayed.

Blog_Comment_Field

Blog_comments_Sect

PHP Script that calls or fetches the approved comments from the DB.

display_comments_in_frontpage

display_commt2

Display_commt3

SECTION 3 :

Single Post Display Feature explained.

  1. Post is first searched on the search tab to give you the image below.

Single_Display

  1. The post or article is now clicked to singly open, and give the image below.

Single_Display2

Blog_content

PHP script that makes the blog post or article be searched using the search tab.

search_open_singly1

Search_open_singly2

PHP script that allows the searched post to be opened singly.

search_post_wholly

search_post_wholly2

search_post_wholly3

SECTION 4: The whole Front end of this great project put together.

Cover_Blogging_System

Section_Lates_Post

post

Section_latest_post2

Recent_Post_Section

The whole piece in one.

Blogging_System_Fully