Welcome to Abhishek Blog – a full-stack MERN (MongoDB, Express, React, Node.js) application where an admin can post blogs, and users can like and comment on each blog post. This project is designed to create a seamless and interactive blogging experience.
- Admin Panel: Allows the admin to create, edit, and delete blog posts.
- User Interactions:
- Likes: Users can like blog posts to show appreciation.
- Comments: Users can leave comments on each blog post to share their thoughts.
- Authentication:
- Sign up and log in for users.
- Password encryption for secure user data management.
- Responsive Design: Optimized for mobile and desktop devices.
- RESTful API: Well-structured API routes for efficient data handling.
- Frontend: React, CSS, Bootstrap
- Backend: Node.js, Express.js
- Database: MongoDB
- Authentication: JSON Web Tokens (JWT), bcrypt for password hashing
- Others: Axios for API calls, Mongoose for MongoDB object modeling
To run this project locally, follow these steps:
- Node.js and npm (Node Package Manager)
- MongoDB database (either locally installed or using MongoDB Atlas)
-
Clone this repository:
git clone https://github.com/abhishekboadgurjar/abhishek-blog.git cd abhishek-blog
-
Install server dependencies:
cd server npm install
-
Install client dependencies:
cd ../client npm install
-
Set up environment variables:
- Create a
.env
file in theserver
directory and add the following:MONGODB_URI=<your_mongodb_connection_string> JWT_SECRET=<your_jwt_secret> PORT=5000
- Create a
-
Start the application:
- In the server folder, start the backend server:
npm start
- In the client folder, start the frontend server:
npm start
- In the server folder, start the backend server:
-
Open your browser and visit
http://localhost:3000
.
- Admin Actions: Log in as an admin to create, edit, or delete blog posts.
- User Interactions: Sign up or log in as a user to like or comment on posts.
- Explore Posts: Browse through blog posts and engage with the community.
Contributions are welcome! Please fork this repository, create a new branch, and submit a pull request for any improvements or bug fixes.
Abhishek Gurjar is a dedicated web developer passionate about creating practical and functional web applications. Check out more of his projects on GitHub.