π A modern, AI-powered blogging platform built with React, Node.js, and Express. Create, manage, and share your stories with an intuitive admin panel and seamless user experience.
- π° Dynamic Blog Creation - Rich text editor with Quill.js
- π€ AI Content Generation - Powered by Google Gemini AI
- π¨ Modern UI/UX - Beautiful, responsive design with Tailwind CSS
- π± Mobile-First - Fully responsive across all devices
- π Smart Search - Real-time blog search functionality
- π Category Management - Organize blogs by categories
- π¬ Comment System - User engagement with moderation
- π‘οΈ Secure Authentication - JWT-based admin login
- π Dashboard Analytics - Blog statistics and insights
- βοΈ Content Management - Create, edit, delete blogs
- π Blog List Management - Publish/unpublish functionality
- π¬ Comment Moderation - Approve or delete comments
- πΌοΈ Image Upload - ImageKit integration for optimized images
- π Homepage - Featured blogs and categories
- π Blog Reading - Clean, distraction-free reading experience
- π Social Sharing - Share blogs on social platforms
- π Newsletter Signup - Stay updated with latest posts
- β‘ Fast Loading - Optimized performance
- βοΈ React - Modern UI library
- π¨ Tailwind CSS - Utility-first CSS framework
- π¦ React Router - Client-side routing
- π Quill.js - Rich text editor
- π Framer Motion - Smooth animations
- π₯ React Hot Toast - Beautiful notifications
- β° Moment.js - Date manipulation
- π’ Node.js - JavaScript runtime
- π Express.js - Web application framework
- π MongoDB - NoSQL database with Mongoose ODM
- π JWT - JSON Web Tokens for authentication
- π CORS - Cross-origin resource sharing
- π Multer - File upload handling
- π€ Google Gemini AI - Content generation
- πΌοΈ ImageKit - Image optimization and CDN
- βοΈ Vercel - Deployment platform
- π¦ Node.js (v16 or higher)
- π MongoDB database
- π Environment variables setup
-
Setup Frontend
cd client npm install -
Setup Backend
cd server npm install
Create .env files in both server and client directories:
Server (.env)
PORT=3000
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key
ADMIN_EMAIL=[email protected]
ADMIN_PASSWORD=your_admin_password
GEMINI_API_KEY=your_gemini_api_key
IMAGEKIT_PUBLIC_KEY=your_imagekit_public_key
IMAGEKIT_PRIVATE_KEY=your_imagekit_private_key
IMAGEKIT_URL_ENDPOINT=your_imagekit_url_endpointClient (.env)
VITE_BASE_URL=http://localhost:3000-
Start the frontend development server
cd client npm run dev -
Start the backend server
cd server npm start -
Open your browser and navigate to
http://localhost:5173
Blog_Master/
βββ π client/ # Frontend React application
β βββ π public/ # Static assets
β βββ π src/
β β βββ π components/ # Reusable components
β β βββ π pages/ # Page components
β β βββ π context/ # React context
β β βββ π assets/ # Images and static files
β β βββ π main.jsx # App entry point
β βββ π package.json
βββ π server/ # Backend Node.js application
β βββ π configs/ # Database and service configs
β βββ π controllers/ # Route controllers
β βββ π middleware/ # Custom middleware
β βββ π models/ # MongoDB models
β βββ π routes/ # API routes
β βββ π server.js # Server entry point
βββ π README.md
GET /api/blog/all- Get all published blogsGET /api/blog/:blogId- Get single blogPOST /api/blog/add- Add new blog (Admin)POST /api/blog/delete- Delete blog (Admin)POST /api/blog/toggle-publish- Toggle publish status (Admin)POST /api/blog/add-comment- Add comment to blogPOST /api/blog/comments- Get blog commentsPOST /api/blog/generate- Generate AI content (Admin)
POST /api/admin/login- Admin loginGET /api/admin/blogs- Get all blogs (Admin)GET /api/admin/comments- Get all comments (Admin)GET /api/admin/dashboard- Get dashboard data (Admin)POST /api/admin/approve-comment- Approve comment (Admin)POST /api/admin/delete-comment- Delete comment (Admin)
Blog Masters integrates with Google Gemini AI to help content creators:
- Generate blog content from titles
- Create engaging descriptions
- Enhance writing productivity
- Automatic image compression
- WebP format conversion
- CDN delivery via ImageKit
- Responsive image loading
- Real-time comment submission
- Admin moderation panel
- Approval workflow
- User engagement tracking
- Connect your GitHub repository to Vercel
- Set environment variables in Vercel dashboard
- Deploy with automatic CI/CD
- Add
vercel.jsonconfiguration - Set environment variables
- Deploy via Vercel CLI or GitHub integration
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Surya Prakash Kahar
- π§ Email: [email protected]
- πΌ LinkedIn: www.linkedin.com/in/surya--prakash--kahar
- π Live Demo: https://blog-master-sand.vercel.app/
- π¨ Design inspiration from modern blogging platforms
- π€ Google Gemini AI for content generation capabilities
- πΌοΈ ImageKit for image optimization services
- π Open source community for amazing libraries and tools
β Star this repo if you found it helpful!
Made with β€οΈ by Surya Prakash Kahar