Blog Website
A Synopsis report submitted in partial fulfillment of the requirement for the
award of the degree
DR.SHYAMA PRASAD MUKHERJEE UNIVERSITY,RANCHI.
MORABADI RANCHI-834008
Master Of Computer Application(MCA)
(2021-2023)
A synopsis report:
Under The guidance of:
Khushboo Rani
Submitted by:
Name : Reg. No. :
Exam Roll No : Roll No:
INTRODUCTION
In today's digital landscape, blogging has emerged as a vital tool for
sharing knowledge, experiences, and opinions across a global
audience. It is an essential medium for individuals, businesses, and
communities to establish their voice and connect with readers
worldwide. This project aims to develop a feature-rich blog website
using PHP Laravel, a modern, robust, and scalable web framework
known for its simplicity, versatility, and powerful tools for web
application development.
The proposed blog platform will cater to both content creators and
readers by offering an intuitive and user-friendly interface. Content
creators will have access to an efficient content management
system (CMS) that supports the creation, editing, and organization
of blogs into categories and tags. Readers will enjoy a seamless
browsing experience with advanced features like categorized
content, a responsive design for all devices, and a dynamic search
functionality to locate desired content effortlessly.
Key objectives of the project include:
1. User Management: A secure and scalable user authentication
and authorization system allowing users to register, log in, and
manage their profiles.
2. Content Management: Tools for content creators to draft, edit,
and publish blogs with support for multimedia integration like
images and videos.
3. Dynamic Blog Organization: Categorization and tagging to
ensure efficient navigation and discoverability of content.
4. Engagement Features: A robust commenting system enabling
readers to interact with blog posts and share their feedback.
5. Search and Filtering: Advanced search functionality and filters
to enhance content discoverability.
6. Responsive Design: A fully responsive user interface (UI)
ensuring compatibility across various devices, from desktops
to smartphones.
7. Admin Dashboard: A comprehensive admin panel for managing
users, content, categories, and site settings with ease.
8. SEO Optimization: Built-in SEO features to improve content
visibility on search engines.
This blog website will leverage Laravel's modern development
capabilities, including MVC architecture, Eloquent ORM for efficient
database management, and built-in security mechanisms, ensuring
a robust and scalable application. The framework’s support for
RESTful APIs will also enable seamless integration with third-party
services or mobile applications in the future.
This document outlines the comprehensive plan for the project,
including technical architecture, design approach, key features, and
development phases. The blog website will not only serve as a
platform for sharing content but will also aim to foster engagement,
build communities, and adapt to future needs, making it a versatile
and sustainable solution in the ever-evolving digital world.
SYSTEM REQUIREMENTS
Software Specification
Front End : HTML, CSS, Javascript,PHP
Back End : MYSQL
Language : PHP
Server Side : Xampp
Processor : Intel Core i5
Operating System : Windows 10
Framework : Laravel
Hardware Specification
RAM : 4GB RAM
Browser : Mozilla Firefox
Mouse : Buttons
Hard Disk : 1 TB
Keyboards : 104 Key
MODULE
The blog website will consist of several interdependent modules, each responsible for specific
functionalities. Below is a detailed explanation of the key modules and their corresponding
table schemas.
1. User Management Module
This module handles user authentication, authorization, and profile management.
Functionalities:
User registration and login.
Role-based access control (Admin, Author, Reader).
Profile management.
Table Schema: users
Column Type Constraints Description
id BIGINT Primary Key, Auto Increment Unique user identifier.
name VARCHAR(255) NOT NULL Full name of the user.
Email for
email VARCHAR(255) UNIQUE, NOT NULL
authentication.
password VARCHAR(255) NOT NULL Encrypted password.
ENUM('admin',
role DEFAULT 'reader' Role of the user.
'author', 'reader')
URL of the user's
profile_image VARCHAR(255) NULL
profile image.
Timestamp when the
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
record was created.
DEFAULT CURRENT_TIMESTAMP Timestamp of the last
updated_at TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP update.
2. Blog Management Module
This module allows authors to create, update, and delete blog posts.
Functionalities:
Drafting and publishing blogs.
Organizing blogs into categories and tags.
Managing blog images and multimedia.
Table Schema: blogs
Column Type Constraints Description
Unique blog
id BIGINT Primary Key, Auto Increment
identifier.
title VARCHAR(255) NOT NULL Blog title.
Main content of the
content TEXT NOT NULL
blog.
ID of the author who
author_id BIGINT Foreign Key (users.id)
created the blog.
Category ID for
category_id BIGINT Foreign Key (categories.id)
organizing the blog.
ENUM('draft',
status DEFAULT 'draft' Status of the blog.
'published')
URL of the featured
featured_image VARCHAR(255) NULL
image.
Timestamp when the
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
record was created.
DEFAULT CURRENT_TIMESTAMP ON Timestamp of the
updated_at TIMESTAMP
UPDATE CURRENT_TIMESTAMP last update.
3. Category Management Module
This module organizes blogs into categories for better navigation.
Table Schema: categories
Column Type Constraints Description
Unique category
id BIGINT Primary Key, Auto Increment
identifier.
name VARCHAR(255) UNIQUE, NOT NULL Name of the category.
URL-friendly identifier
slug VARCHAR(255) UNIQUE, NOT NULL
for the category.
Description of the
description TEXT NULL
category.
Timestamp when the
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
record was created.
DEFAULT CURRENT_TIMESTAMP ON Timestamp of the last
updated_at TIMESTAMP
UPDATE CURRENT_TIMESTAMP update.
4. Comment Management Module
This module allows readers to interact with blogs through comments.
Table Schema: comments
Column Type Constraints Description
id BIGINT Primary Key, Auto Increment Unique comment identifier.
Blog associated with the
blog_id BIGINT Foreign Key (blogs.id)
comment.
User who posted the
user_id BIGINT Foreign Key (users.id)
comment.
content TEXT NOT NULL Comment content.
parent_id BIGINT NULL ID of the parent comment
Column Type Constraints Description
(for nested comments).
Timestamp when the
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
record was created.
DEFAULT CURRENT_TIMESTAMP ON Timestamp of the last
updated_at TIMESTAMP
UPDATE CURRENT_TIMESTAMP update.
5. Tag Management Module
This module manages tags for blogs, allowing better categorization and search.
Table Schema: tags
Column Type Constraints Description
id BIGINT Primary Key, Auto Increment Unique tag identifier.
name VARCHAR(255) UNIQUE, NOT NULL Name of the tag.
URL-friendly identifier
slug VARCHAR(255) UNIQUE, NOT NULL
for the tag.
Timestamp when the
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
record was created.
DEFAULT CURRENT_TIMESTAMP ON Timestamp of the last
updated_at TIMESTAMP
UPDATE CURRENT_TIMESTAMP update.
Pivot Table Schema: blog_tags
Column Type Constraints Description
blog_id BIGINT Foreign Key (blogs.id) Blog associated with the tag.
tag_id BIGINT Foreign Key (tags.id) Tag associated with the blog.
6. Admin Dashboard Module
This module provides admins with tools to manage the platform.
Functionalities:
Manage users, blogs, categories, tags, and comments.
View platform analytics (e.g., number of posts, active users).
Report
1. User-Friendly Interface:
The blog platform is designed with a clean and intuitive
interface to ensure ease of use for both content creators and
readers.
2. Efficient Content Management:
Simplifies the management of blogs, categories, tags, and
comments, making the process more flexible and streamlined.
3. High-Level Security:
Implements robust security measures, including role-based
access control and encrypted passwords, ensuring different
levels of authentication for users.
4. User Profiles:
Maintains detailed profiles of all users, including authors,
administrators, and readers.
5. Blog Categorization:
Organizes blogs into structured categories and tags for better
navigation and discoverability.
6. Monthly Blog Activity:
Provides a list of blogs published within a specific month,
offering insights into recent activities.
7. Engagement Reports:
Generates reports on user engagement, such as the number of
comments, likes, and views per blog.
8. Revenue Collection Reports:
Tracks and reports revenue generated from ads, subscriptions,
or premium content across the platform.
9. Interactive Data Entry:
Simplifies data input through user-friendly and interactive
forms for publishing blogs, managing categories, and adding
tags.
10. Analytics Dashboard:
Offers an admin dashboard with comprehensive analytics,
including active user counts, content performance, and traffic
insights.