The Blog Web Application is a full-stack web application that allows users to create, manage, and share blog posts. It includes advanced login and authentication features, CRUD operations for managing blog posts, and the ability to upload images.
- Advanced Login and Authentication: Secure user authentication system with features like user registration, login, logout, and password reset.
- CRUD Operations: Create, Read, Update, and Delete operations for managing blog posts.
- Image Upload: Users can upload images to include in their blog posts.
- User Profiles: Each user has a profile page where their blog posts are displayed.
- Search Functionality: Users can search for blog posts by title, category, or content.
- Responsive Design: Mobile-friendly interface for seamless user experience across devices.
- Frontend: HTML, CSS, JavaScript, React.js
- Backend: Node.js, Express.js
- Database: MongoDB
- Authentication: JSON Web Tokens (JWT)
- Image Upload: Multer (Node.js middleware)
To run the Blog Web Application locally:
- Clone or download this repository to your local machine.
- Navigate to the project directory.
- Install dependencies for both the frontend and backend using
npm install
. - Set up a MongoDB database and configure the connection string in the backend.
- Start the backend server using
npm start
in the backend directory. - Start the frontend development server using
npm start
in the frontend directory.
- User Authentication: Register for a new account or log in with existing credentials.
- Create Blog Posts: Write and publish new blog posts, including images.
- Edit and Delete Posts: Update or delete your existing blog posts as needed.
- View Other User Profiles: Explore other users' profiles and read their blog posts.
- Search for Blog Posts: Use the search functionality to find specific blog posts by title, category, or content.