{"id":21353626,"url":"https://github.com/pawantech12/blog-website-using-mern","last_synced_at":"2026-02-06T14:22:15.924Z","repository":{"id":247769327,"uuid":"826262556","full_name":"pawantech12/blog-website-using-mern","owner":"pawantech12","description":"Bunzo Blog Application is a fully-featured MERN stack blogging platform that offers a responsive and user-friendly experience. Users can create, edit, and manage blogs, interact with content via comments, likes, and follows, and customize their profiles. ","archived":false,"fork":false,"pushed_at":"2024-12-03T11:28:44.000Z","size":707,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-02T00:24:20.774Z","etag":null,"topics":["blog","blogwebsite-with-firebase","bycryptjs","cloudinary","crypto","firebase-auth","jwt","mern-project","mern-stack","multer","nodecron","reacthookform","reacticons","session","socket-io","zod"],"latest_commit_sha":null,"homepage":"https://blog-website-using-mern-vw2v.onrender.com/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pawantech12.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-09T11:20:21.000Z","updated_at":"2024-12-13T20:28:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"7e7f87b2-f083-4065-9ac3-9124911b144e","html_url":"https://github.com/pawantech12/blog-website-using-mern","commit_stats":null,"previous_names":["pawantech12/blog-website-using-mern"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pawantech12/blog-website-using-mern","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pawantech12%2Fblog-website-using-mern","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pawantech12%2Fblog-website-using-mern/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pawantech12%2Fblog-website-using-mern/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pawantech12%2Fblog-website-using-mern/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pawantech12","download_url":"https://codeload.github.com/pawantech12/blog-website-using-mern/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pawantech12%2Fblog-website-using-mern/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29164851,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T12:44:37.655Z","status":"ssl_error","status_checked_at":"2026-02-06T12:44:13.991Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blog","blogwebsite-with-firebase","bycryptjs","cloudinary","crypto","firebase-auth","jwt","mern-project","mern-stack","multer","nodecron","reacthookform","reacticons","session","socket-io","zod"],"created_at":"2024-11-22T03:18:46.051Z","updated_at":"2026-02-06T14:22:15.905Z","avatar_url":"https://github.com/pawantech12.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bunzo Blog - A Full-Featured Blogging Platform\n\nBunzo Blog is a responsive and dynamic blogging platform built using the MERN stack, offering users an intuitive interface to explore, create, and interact with blog content. This project provides rich features such as user profiles, a dashboard for managing blogs, categories, and comments, as well as a seamless reading experience for public users. The project integrates powerful functionalities for user engagement, personalization, and security, creating a comprehensive platform for content creators and readers alike.\n\n## 🌐 Live Demo\n\u003e [Website is Live here](https://blog-website-using-mern-vw2v.onrender.com/)  \n\n## 🚀 Features\n\n### 1. Public Pages\n   - **Home Page**: Displays the latest blogs, featured blogs, blogs from followed users, and a newsletter subscription option.\n   - **About Page**: Information about Bunzo and its mission.\n   - **Category Page**: Browse blogs by various categories.\n   - **Contact Page**: Allows users to get in touch with the team.\n   - **Blog Detail Page**: A detailed view of individual blog posts, with options to follow/unfollow the author, like/unlike, save/unsave, and share on social media.\n\n### 2. User Dashboard\n   - **Blog Management**:\n     - Create, edit, and delete blogs with cover images.\n     - Manage blog post status as drafts or published.\n   - **Category Management**:\n     - Create and delete categories with category images.\n   - **User Interaction**:\n     - View and manage followers and following lists.\n     - Add and reply to comments on blogs.\n     - Track the latest posts.\n   - **Profile Settings**:\n     - Edit profile details, including profile and banner images.\n     - Access various settings such as theme preference, language selection, and social media links.\n     - Password updates, email verification, account deactivation, and more.\n\n### 3. User Profile\n   - **Public Profile**: Displays user details, their posted blogs, and saved blogs.\n   - **Profile Edit**: Update profile details, upload profile and banner images, and manage account settings.\n\n### 4. Authentication \u0026 Authorization\n   - Register \u0026 Login functionality with email verification using OTP.\n   - Password reset with a reset code.\n   - Third-party login through Google and Facebook using Firebase.\n   - Secure user authentication with JWT and role-based access control.\n\n### 5. Notifications\n   - Real-time notifications for interactions such as likes, follows, saves, and comments on blogs.\n\n### 6. Social \u0026 Engagement Features\n   - **Follow/Unfollow**: Follow favorite authors to get their latest blogs on the home page.\n   - **Like/Unlike**: Like blogs to show appreciation.\n   - **Save/Unsave**: Save blogs for easy access later.\n   - **Blog Sharing**: Share blogs directly to social media platforms.\n\n### 7. Advanced Search \u0026 Filter\n   - Search bar to find specific blogs.\n   - Filtering options for enhanced blog discovery.\n\n### 8. Admin \u0026 Moderation\n   - An admin can monitor and manage user content, categories, and user interactions (not implemented yet, coming soon!).\n\n### 9. Additional Tools \u0026 Integrations\n   - **Nodemailer**: For sending emails, used in OTP verification and password reset.\n   - **Firebase**: For Google and Facebook third-party authentication.\n   - **Social Sharing**: Blog sharing functionality across social media platforms.\n\n\n## 🛠️ Tech Stack\n\n- **Frontend**: React, TailwindCSS\n- **Backend**: Node.js, Express.js, MongoDB\n- **Authentication**: Firebase for social login, JWT for secure authentication\n- **Email**: Nodemailer for email services\n- **Hosting**: Render for backend and frontend deployment\n\n## 📖 Getting Started\n\nTo run the project locally, follow these steps:\n\n1. **Clone the Repository**:\n    ```bash\n    git clone https://github.com/pawantech12/blog-website-using-mern.git\n    cd blog-website-using-mern\n    ```\n\n2. **Install Dependencies**:\n    - For the frontend:\n        ```bash\n        cd client\n        pnpm install\n        ```\n    - For the backend:\n        ```bash\n        cd server\n        pnpm install\n        ```\n\n3. **Environment Variables**:\n    -\u003e Configure `.env` files for both frontend and backend with necessary credentials (MongoDB URI, JWT secret, Firebase config, email credentials for Nodemailer).\n      -\n\n Add below Environment variables in your project `./client` creating file `.env`\n   ```\n   VITE_SERVER_URL=your_backend_server_url\n   VITE_FIREBASE_API_KEY=your_firebase_api_key\n   VITE_FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain\n   VITE_FIREBASE_PROJECT_ID=your_firebase_project_id\n   VITE_FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket\n   VITE_FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id\n   VITE_FIREBASE_APP_ID=your_firebase_app_id\n   VITE_FIREBASE_MEASUREMENT_ID=your_firebase_measurement_id\n\n   ```\nAdded below Environment variables in your project `./server` creating file `.env`\n\n```\n# Database Configuration\nMONGODB_URI=mongodb+srv://\u003cusername\u003e:\u003cpassword\u003e@cluster.mongodb.net/\u003cdbname\u003e?retryWrites=true\u0026w=majority\u0026appName=\u003capp-name\u003e\n\n# Server Configuration\nPORT=3000\n\n# Authentication Keys\nJWT_SECRET_KEY=\u003cyour-jwt-secret-key\u003e\nSESSION_SECRET_KEY=\u003cyour-session-secret-key\u003e\n\n# Cloudinary Configuration\nCLOUDINARY_CLOUD_NAME=\u003cyour-cloudinary-cloud-name\u003e\nCLOUDINARY_API_KEY=\u003cyour-cloudinary-api-key\u003e\nCLOUDINARY_API_SECRET=\u003cyour-cloudinary-api-secret\u003e\n\n# Email SMTP Configuration\nSMTP_HOST=smtp.gmail.com\nSMTP_PORT=587\nSMTP_USER=\u003cyour-smtp-email\u003e\nSMTP_PASS=\u003cyour-smtp-password\u003e\n\n# Firebase Configuration\nFIREBASE_PROJECT_ID=\u003cyour-firebase-project-id\u003e\nFIREBASE_PRIVATE_KEY_ID=\u003cyour-firebase-private-key-id\u003e\nFIREBASE_PRIVATE_KEY=\u003cyour-firebase-private-key\u003e\nFIREBASE_CLIENT_EMAIL=\u003cyour-firebase-client-email\u003e\nFIREBASE_CLIENT_ID=\u003cyour-firebase-client-id\u003e\n\n```\n\n4. **Run the Project**:\n    - Start the backend:\n        ```bash\n        pnpm run start\n        ```\n    - Start the frontend:\n        ```bash\n        pnpm run dev\n        ```\n\n5. **Open in Browser**:\n    Navigate to `http://localhost:5173` to see the app in action.\n\n## 🚀 Deployment\n\nThe project is optimized for deployment on cloud-based platforms such as Vercel for the frontend and Render for the backend. Ensure you have properly configured your environment variables for production before deployment.\n\n## 🚧 Upcoming Features\n\n- **Admin Dashboard** for content moderation and analytics.\n- **Advanced Comment Moderation** with filters for spam and inappropriate content.\n- **SEO Optimizations** for better search engine ranking.\n- **Advanced Analytics** for blog performance and user insights.\n- **Improved Notification System** with customizable preferences.\n- **Advanced analytics** for users to see blog statistics.\n- **Private messaging** feature for user interaction.\n\n## 🔧 Project Structure\n\n```plaintext\nblog-website-using-mern/\n├── client/               \n│   ├── src/\n│   │    ├── components/   \n│   │    ├── config/   \n│   │    ├── helper/   \n│   │    ├── img/   \n│   │    ├── pages/        \n│   │    │   ├── admin/\n│   │    │   │   ├── components/    \n│   │    │   │   ├── pages/    \n│   │    │   │   └── Dashboard.jsx    \n│   │    │   └── other pages     \n│   │    └── store/     \n│   └── .env     \n└── server/               \n    ├── config/           \n    ├── controllers/      \n    ├── middlewares/      \n    ├── models/          \n    ├── routers/\n    ├── utils/\n    └── validations/\n    └── socket.js\n    └── server.js\n    └── .env\n```\n\n## 🤝 Contributing\n\nContributions are welcome! Please fork this repository, create a feature branch, and submit a pull request with a clear description of your changes.\n\n## Thank You for Visiting!\nThank you for checking out the Bunzo Blog Application. We're continuously working to enhance the platform with new features and improvements. If you have any suggestions or feedback, feel free to open an issue or contribute to the repository. We look forward to your contributions and hope you enjoy using Bunzo for your blogging needs!\n\nHappy coding! 🚀\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpawantech12%2Fblog-website-using-mern","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpawantech12%2Fblog-website-using-mern","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpawantech12%2Fblog-website-using-mern/lists"}