Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Blog Management System

πŸ“Œ Introduction

Awesome

This project is a full-stack blog management system where admins can view, edit, and delete blog posts. Built with React.js on the frontend and a Node.js + Express backend, the system ensures secure operations using JWT authentication.

It is designed to be simple, user-friendly, and efficient for managing content on a blog website. Admins can fetch all blogs, update blog details (title, content, image, author), or delete blogs directly from the dashboard.

Features

πŸ”’ JWT-based authentication for secure access

πŸ“‹ Fetch and display all blogs in a clean table

✏️ Edit existing blog posts

πŸ—‘οΈ Delete blog posts with confirmation

πŸš€ Protected routes for authorized access only

✏️ Email Verifications

πŸ–ΌοΈ Upload and edit blog images

πŸ”„ Real-time UI updates after editing or deleting blogs

πŸ“¦ Axios for smooth API calls

πŸ‘¨β€πŸ’» Tech Stack Used

Frontend

  • ReactJS, TailwindCSS, Material UI, JavaScript, Axios, AuthContext, React-icons, SweetAlert2

Backend

  • Node.js, Express.js, JWT, MongoDB, Nodemailer

Folder Structure

mern-stack-project/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ config/
β”‚   β”‚   └── db.js
β”‚   β”œβ”€β”€ controllers/
β”‚   β”‚   β”œβ”€β”€ authController.js
β”‚   β”‚   β”œβ”€β”€ blogController.js
β”‚   β”œβ”€β”€ models/
β”‚   β”‚   β”œβ”€β”€ user.js
β”‚   β”‚   └── blogPost.js
β”‚   β”œβ”€β”€ routes/
β”‚   β”‚   β”œβ”€β”€ authRoutes.js
β”‚   β”‚   β”œβ”€β”€ blogRoutes.js
β”‚   β”œβ”€β”€ middleware/
β”‚   β”‚   └── authMiddleware.js
β”‚   β”‚   └── roleMiddleware.js
β”‚   β”œβ”€β”€ utils/
β”‚   β”‚   └── sendEmail.js
β”‚   β”œβ”€β”€ .env
β”‚   β”œβ”€β”€ server.js
β”‚   └── package.json
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ public/
β”‚   β”‚   └── index.html
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”‚   β”œβ”€β”€ banner.js
β”‚   β”‚   β”‚   β”œβ”€β”€ blogItem.js
β”‚   β”‚   β”‚   β”œβ”€β”€ Navbar.js
β”‚   β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   β”‚   β”œβ”€β”€ admin.js
β”‚   β”‚   β”‚         └── blog.js
β”‚   β”‚   β”‚                └── createBlog.js
β”‚   β”‚   β”‚                └── layout.js
β”‚   β”‚   β”‚                └── manageBlogs.js
β”‚   β”‚   β”‚                └── updateBlog.js
β”‚   β”‚   β”‚   └── blog.js
β”‚   β”‚   β”‚   └── Main.js
β”‚   β”‚   β”‚   └── SignIn.js
β”‚   β”‚   β”‚   └── SignUp.js
β”‚   β”‚   β”œβ”€β”€ App.js
β”‚   β”‚   β”œβ”€β”€ index.js
β”‚   β”‚   β”œβ”€β”€ App.css
β”‚   β”‚   β”‚
β”‚   └── package.json
β”œβ”€β”€ README.md
└── .gitignore

API Endpoints

Authentication

POST /api/auth/signup - Register a new user.

{
  "name": "String",
  "email": "String",
  "password": "String"
  Email: Verification
}

POST /api/auth/login - Log in an existing User.

{
  "email": "String",
  "password": "String"
}

Create Blog

POST /api/blog - Create a new blog.

Get all blog

GET /api/blog

update Blog

PATCH /api/blog/:id

Delete Blog

DELETE /api/blog/:id

Verify Blog

/api/auth/verify/token

πŸ› οΈ Installation Steps

Star and Fork the Repo 🌟 and this will keep us motivated.

  1. Clone the repository
git clone https://github.com/subhashdippu/Blogify.git
  1. Change the working directory
cd Blogify
  1. Install dependencies
npm install
  1. Run the app
npm start

πŸ“Έ Screenshots

About

This project is a full-stack blog management system where admins can view, edit, and delete blog posts. Built with React.js on the frontend and a Node.js + Express backend, the system ensures secure operations using JWT authentication.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages