AI-Powered Blogging Platform with Intelligent Content Generation
Powered by cutting-edge AI and modern technologies:
Visit the 👉 LINK 🔗
| User Interface | Admin Dashboard |
|---|---|
![]() |
![]() |
- Overview
- Key Features
- Tech Stack
- Architecture
- Getting Started
- AI Capabilities
- Admin Dashboard
- API Endpoints
- Deployment
- Performance
- Contributing
- License
- Support
QUICKBLOG is a revolutionary blogging platform that combines traditional content management with artificial intelligence to provide:
- 🤖 AI Content Generation: Automatically generate blog posts using Google Gemini
- 📝 Rich Text Editor: Advanced editing with Quill.js integration
- 👨💼 Admin Dashboard: Complete content management system
- 💬 Comment System: Engage readers with interactive discussions
- 🖼️ Media Management: Optimized image handling with ImageKit
- 📱 Responsive Design: Seamless experience across all devices
Built with the MERN stack and integrated with Google's Gemini AI for intelligent content creation.
- Content Generation: Generate complete blog posts from prompts
- Topic Suggestions: AI-driven content ideas and outlines
- SEO Optimization: AI-assisted meta descriptions and titles
- Content Enhancement: Improve existing articles with AI suggestions
- Quill.js Integration: Rich text editor with formatting options
- Markdown Support: Dual editing capabilities
- Image Embedding: Drag-and-drop image uploads
- Auto-save: Never lose your work with automatic saving
- Blog Management: Create, edit, and delete blog posts
- Comment Moderation: Approve, delete, and manage user comments
- Analytics: View blog performance and reader engagement
- User Management: Manage authors and contributors
- Comment System: Threaded comments with replies
- User Profiles: Reader engagement and profiles
- Social Sharing: Easy content distribution
- Newsletter Integration: Email subscription management
- ImageKit Integration: Optimized image storage and delivery
- Automatic Optimization: Image compression and resizing
- CDN Delivery: Fast global content delivery
- Gallery Management: Organized media library
- React 19 - Latest React with concurrent features
- Vite - Next-generation build tool
- Tailwind CSS - Utility-first CSS framework
- Axios - HTTP client for API calls
- React Router DOM - Client-side routing
- Quill.js - Rich text editor
- React Hot Toast - User notifications
- Marked - Markdown parsing
- Moment.js - Date formatting
- Framer Motion - Smooth animations
- Node.js - JavaScript runtime environment
- Express 6 - Web application framework
- MongoDB - NoSQL database with Mongoose ODM
- Google Gemini AI - Advanced AI content generation
- ImageKit - Image optimization and CDN
- JWT - Authentication tokens
- Multer - File upload handling
- CORS - Cross-origin resource sharing
- Bcrypt - Password hashing
- Vercel - Frontend deployment platform
- Render/Railway - Backend deployment
- MongoDB Atlas - Cloud database service
- ImageKit CDN - Media content delivery
QuickBlog/
├── client/ # React Frontend
│ ├── src/
│ │ ├── assets/ # Static assets
│ │ ├── components/ # Reusable components
│ │ │ ├── BlogCard.jsx # Blog post preview
│ │ │ ├── CommentSection.jsx # Comments and replies
│ │ │ ├── RichTextEditor.jsx # Quill.js editor
│ │ │ ├── SearchBar.jsx # Blog search functionality
│ │ │ ├── Sidebar.jsx # Navigation and categories
│ │ │ └── ... # Other components
│ │ ├── pages/ # Route pages
│ │ │ ├── Admin/ # Admin dashboard pages
│ │ │ │ ├── Dashboard.jsx
│ │ │ │ ├── BlogManagement.jsx
│ │ │ │ ├── Comments.jsx
│ │ │ │ └── Analytics.jsx
│ │ │ ├── Blog/ # Blog-related pages
│ │ │ │ ├── BlogPost.jsx
│ │ │ │ ├── CreateBlog.jsx
│ │ │ │ ├── EditBlog.jsx
│ │ │ │ └── BlogList.jsx
│ │ │ ├── Home.jsx # Landing page
│ │ │ ├── Login.jsx # Authentication
│ │ │ └── Profile.jsx # User profile
│ │ ├── context/ # React context
│ │ │ └── AppContext.jsx # Global state management
│ │ ├── hooks/ # Custom React hooks
│ │ ├── utils/ # Utility functions
│ │ ├── index.css # Global styles
│ │ └── main.jsx # Application entry point
│ ├── package.json # Dependencies and scripts
│ └── vite.config.js # Vite configuration
│
├── server/ # Express Backend
│ ├── config/ # Configuration files
│ ├── controllers/ # Business logic
│ │ ├── blogController.js # Blog CRUD operations
│ │ ├── aiController.js # Gemini AI integration
│ │ ├── commentController.js # Comment management
│ │ ├── userController.js # User authentication
│ │ └── adminController.js # Admin operations
│ ├── middleware/ # Custom middlewares
│ │ ├── auth.js # JWT authentication
│ │ ├── upload.js # File upload handling
│ │ └── admin.js # Admin role verification
│ ├── models/ # Database models
│ │ ├── Blog.js # Blog post schema
│ │ ├── Comment.js # Comment schema
│ │ ├── User.js # User schema
│ │ └── Category.js # Category schema
│ ├── routes/ # API routes
│ │ ├── blogRoutes.js # Blog endpoints
│ │ ├── aiRoutes.js # AI generation endpoints
│ │ ├── commentRoutes.js # Comment endpoints
│ │ ├── userRoutes.js # User endpoints
│ │ └── adminRoutes.js # Admin endpoints
│ ├── package.json # Dependencies and scripts
│ └── server.js # Server entry point
└── README.md # Project documentation- Node.js (v18 or higher)
- npm (v8 or higher)
- MongoDB Atlas account or local MongoDB
- Google Gemini API account
- ImageKit account
- Clone the repository:
git clone https://github.com/elyse502/QuickBlog.git
cd QuickBlog- Install client dependencies:
cd client && npm install- Install server dependencies:
cd ../server && npm installClient (.env)
VITE_API_BASE_URL=http://localhost:5000
VITE_IMAGEKIT_URL_ENDPOINT=your-imagekit-endpoint
VITE_IMAGEKIT_PUBLIC_KEY=your-imagekit-public-keyServer (.env)
MONGODB_URI=your-mongodb-connection-string
GEMINI_API_KEY=your-google-gemini-key
IMAGEKIT_PRIVATE_KEY=your-imagekit-private-key
JWT_SECRET=your-jwt-secret-key
ADMIN_EMAIL=your-admin-email
PORT=5000- Start the development servers:
# Terminal 1 - Start backend
cd server && npm run server
# Terminal 2 - Start frontend
cd client && npm run dev- Content Generation: Generate complete blog posts from topics
- Outline Creation: AI-powered article structure generation
- SEO Optimization: Meta descriptions and keyword suggestions
- Content Improvement: Enhance existing articles with AI
- Grammar Checking: AI-powered writing corrections
- Tone Adjustment: Modify writing style and voice
- Plagiarism Check: Ensure content originality
- Readability Score: Optimize content for target audience
- Topic Research: AI-driven content ideas
- Trend Analysis: Identify popular topics
- Audience Targeting: Content tailored to reader demographics
- Performance Prediction: Estimate engagement potential
- Blog Statistics: Total posts, views, comments
- Performance Metrics: Reader engagement analytics
- Recent Activity: Latest comments and posts
- Quick Actions: Common admin operations
- Create New Blog: Rich text editor with AI assistance
- Edit Existing Posts: In-place editing and updates
- Bulk Operations: Multiple post management
- Category Management: Organize content by topics
- Approve/Delete: Manage user comments
- Spam Detection: AI-powered spam filtering
- User Management: Handle commenter accounts
- Moderation Logs: Track all moderation actions
- Traffic Analysis: Page views and visitor statistics
- Popular Content: Most read blog posts
- User Engagement: Comments and social shares
- SEO Performance: Search ranking and visibility
| Method | Endpoint | Description |
|---|---|---|
| POST | /register |
User registration |
| POST | /login |
User login |
| GET | /profile |
Get user profile |
| PUT | /profile |
Update user profile |
| Method | Endpoint | Description |
|---|---|---|
| GET | / |
Get all blog posts |
| GET | /featured |
Get featured posts |
| GET | /category/:category |
Get posts by category |
| GET | /search |
Search blog posts |
| GET | /:id |
Get specific blog post |
| POST | / |
Create new blog post (Admin) |
| PUT | /:id |
Update blog post (Admin) |
| DELETE | /:id |
Delete blog post (Admin) |
| Method | Endpoint | Description |
|---|---|---|
| POST | /generate-blog |
Generate blog content |
| POST | /generate-outline |
Generate article outline |
| POST | /improve-content |
Enhance existing content |
| POST | /suggest-topics |
Get content ideas |
| Method | Endpoint | Description |
|---|---|---|
| GET | /blog/:blogId |
Get comments for blog |
| POST | / |
Add new comment |
| PUT | /:id |
Update comment |
| DELETE | /:id |
Delete comment |
| POST | /:id/reply |
Reply to comment |
| Method | Endpoint | Description |
|---|---|---|
| GET | /dashboard |
Get admin dashboard data |
| GET | /comments |
Get all comments for moderation |
| PUT | /comments/:id/approve |
Approve comment |
| DELETE | /comments/:id |
Delete comment |
| GET | /analytics |
Get blog analytics |
Deploy with environment variables configured for:
- MongoDB Atlas connection
- Google Gemini API integration
- ImageKit configuration
- JWT secret key
# Recommended: MongoDB Atlas Cloud
https://www.mongodb.com/atlas# Production environment variables
MONGODB_URI=your-production-mongodb-uri
GEMINI_API_KEY=your-production-gemini-key
JWT_SECRET=your-production-jwt-secret
NODE_ENV=production- ⚡ Fast Loading: Vite-optimized build process
- 🎯 SEO Optimized: Server-side rendering ready
- 📱 Mobile First: Responsive Tailwind design
- 🔒 Security: JWT authentication and input validation
- 💾 Efficient Queries: MongoDB optimized indexing
- 🖼️ Image Optimization: ImageKit CDN delivery
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow React best practices and hooks
- Use meaningful commit messages
- Write comprehensive documentation
- Test all AI integration features
- Ensure responsive design compliance
Distributed under the MIT License. See LICENSE for more information.
For support, email [email protected] or create an issue in the GitHub repository.
For any questions or support, please contact:
- NIYIBIZI Elysée👨🏿💻 | Github | Linkedin | Twitter.
- Email: [email protected]
QUICKBLOG - Where AI meets creative writing! 🚀
Built with ❤️ using the MERN stack and Google's Gemini AI technology.

