| Backend | Frontend | Database | Images | License |
|---|---|---|---|---|
A powerful, production-ready Blog CMS built with the MERN stack. This application demonstrates best practices for secure authentication, scalable media handling, and a fully responsive user experience.
- 🌐 Check out the Live Demo: https://blogwebapp.koyeb.app/
-
🔒 Secure Auth: Implements JSON Web Tokens (JWT) and Bcrypt for robust and protected user registration and login.
-
✏️ Rich Text Editing: Integrated editor allows for expressive, formatted content creation.
-
🖼️ Scalable Media: Uses Cloudinary to offload and efficiently serve all uploaded post images.
-
📱 Fully Responsive: Crafted with Tailwind CSS and Material-UI (MUI) for a clean, mobile-first design.
-
🏷️ Intelligent Filtering: Quickly search posts
This project leverages a modern, decoupled architecture across the MERN stack.
| Tool | Purpose |
|---|---|
| React | Core library for dynamic UI development. |
| Tailwind CSS | Utility-first CSS framework for rapid, responsive styling. |
| Material-UI (MUI) | High-quality, pre-built components for complex UI elements. |
| Axios | Promise-based HTTP client for API interaction. |
| Tool | Purpose |
|---|---|
| Express.js | Minimalist framework for building the RESTful API endpoints. |
| Mongoose | MongoDB Object Data Modeling (ODM) for robust data schemas. |
| Cloudinary SDK | API integration for remote image uploading and storage. |
| JWT & Bcrypt | Security layer for token-based authorization and password hashing. |
Clone the repo and install dependencies for both the server and client:
git clone [https://github.com/dheepaky/Mern-Blog-App.git](https://github.com/dheepaky/Mern-Blog-App.git)
cd Mern-Blog-App
# Install server dependencies
npm install --prefix server
# Install client dependencies
npm install --prefix client
MONGO_URI=YOUR_MONGODB_CONNECTION_STRING
JWT_SECRET=SUPER_SECRET_KEY
# Cloudinary credentials
CLOUDINARY_CLOUD_NAME=YOUR_CLOUD_NAME
CLOUDINARY_API_KEY=YOUR_API_KEY
CLOUDINARY_API_SECRET=YOUR_API_SECRET
PORT=5000-
Start the Backend Server: Navigate back to the
serverdirectory and run the development script:npm run dev # Requires nodemon # OR npm start
The server will typically run on
http://localhost:5000. -
Start the Frontend Client: Navigate to the
clientdirectory and run:npm start
The React application will open in your browser, typically at
http://localhost:3000.
You're all set! Now you can test the upload functionality and see your assets appear instantly on Cloudinary.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'feat: Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See the LICENSE file for more information.
Dheepak Y
- GitHub: dheepaky
- Project Link: https://github.com/dheepaky/mern-blog-app