BlogHub is a feature-rich blogging platform that allows users to create, edit, delete, and interact with blog posts in a seamless environment. Built with Node.js, Express, MongoDB, and a responsive frontend, BlogHub provides a smooth, modern, and intuitive blogging experience.
- 🚀 Features
- 🛠️ Tech Stack
- 📂 Project Structure
- ⚙️ Installation & Setup
- 🤝 Contribution Guidelines
- 📜 License
- 👨💻 Author
- ✍️ Create, Edit & Delete Blogs – Manage your posts with ease.
- 👤 User Authentication & Authorization – Secure login and role-based access.
- 🗂 Categories & Drafts – Organize and save blogs before publishing.
- ❤️ Likes & Comments – Engage readers with interactive features.
- 🔔 Notifications – Stay updated with real-time alerts.
- 📂 Image Uploads – Cloud-based media storage via Cloudinary.
- 🛡 Admin Dashboard – Manage users, blogs, and reports efficiently.
- 🌐 Responsive UI – Optimized for desktop and mobile devices.
- Node.js
- Express.js
- MongoDB (Mongoose ODM)
- Cloudinary (Image Hosting)
- Multer (File Uploads)
- JWT (Authentication)
- HTML, CSS, JavaScript (Vanilla/Framework based on your implementation)
- Fetch API for REST communication
TheBlogHub/
│
├── api/ # Backend (server-side code)
│ ├── config/ # Configurations (Cloudinary, Multer)
│ ├── controllers/ # Business logic for each feature
│ ├── middleware/ # Authentication & file handling
│ ├── models/ # Mongoose data models
│ ├── routes/ # API endpoints
│ ├── uploads/ # Uploaded files
│ └── utils/ # Helper functions (email, errors)
│
├── client/ # Frontend files
│ ├── index.html # Main HTML page
│ ├── components/ # Reusable UI components
│ ├── styles/ # CSS files
│ └── js/ # Client-side logic
│
└── README.md
-
Clone the repository
git clone https://github.com/harshwadhwani-10/bloghub---Blogging-Application.git cd bloghub---Blogging-Application -
Backend setup
cd api npm install-
Create a
.envfile based on.env.exampleand add:MONGO_URI=your_mongo_database_url JWT_SECRET=your_jwt_secret CLOUDINARY_API_KEY=your_key CLOUDINARY_API_SECRET=your_secret -
Start the server:
npm start
-
-
Frontend setup
cd ../client # Open index.html in browser or run with Live Server
We welcome contributions from the community!
- Fork the repository
- Create a feature branch (
feature/your-feature) - Commit your changes
- Submit a Pull Request
This project is licensed under the MIT License. Feel free to use, modify, and distribute it as per the license terms.
- Harsh Wadhwani – GitHub Profile