- About the Project
- Features
- Tech Stack
- Installation
- Usage
- Screenshots
- Project Structure
- Future Enhancements
- Contributing
- License
- Contact
My Blog App is a full-featured blogging platform where users can create, edit, view, and delete posts. The application includes a variety of features such as image uploads, comments, likes/dislikes, and search functionality. It is built using modern web technologies to provide a responsive and user-friendly experience.
- Post Management: Create, edit, delete, and view blog posts.
- Image Upload: Upload and display images for each post.
- Comments: Add and view comments on posts.
- Like/Dislike: Like or dislike posts with real-time updates.
- Search Functionality: Search posts by title, content, or tags.
- Responsive Design: Fully responsive design using Bootstrap.
- Flash Messages: User-friendly notifications for various actions (e.g., post created, error messages).
- Dynamic Flash Messages: Using modals to show interactive flash messages.
- Pagination: Efficiently handle large numbers of posts with pagination.
- Category & Tag Management: Easily categorize and tag posts for better organization.
- HTML5
- CSS3
- Bootstrap 4.5
- EJS (Embedded JavaScript)
- jQuery (for AJAX functionality)
- Node.js
- Express.js
- MongoDB (Database)
- Mongoose (ODM for MongoDB)
- Multer (Image Upload)
- Express-Session (Session Management)
- Connect-Flash (Flash Messages)
- EJS Locals (For Layouts)
-
Creating a Post:
- Click on the "Create Post" button on the homepage.
- Fill in the title, content, category, tags, and optionally upload an image.
- Click "Create" to publish the post.
-
Viewing a Post:
- Click on any post on the homepage to view the full content.
-
Liking/Disliking a Post:
- Use the thumbs up/down buttons on the post's page to like or dislike the post.
-
Adding Comments:
- Scroll to the comments section on a post's page.
- Enter your comment and click "Submit."
-
Searching for Posts:
- Use the search bar at the top of the homepage to search for posts by title, content, or tags.
-
Managing Posts:
- Edit or delete your posts directly from the post's page using the respective buttons.
- User Authentication: Implement user accounts, allowing users to manage their posts and comments.
- Rich Text Editor: Add a rich text editor for creating and editing posts.
- API Integration: Create a RESTful API to allow external applications to interact with your blog.
- Email Notifications: Send notifications to users when someone comments on their post.
-
Clone the repository:
git clone https://github.com/hetvi3012/Blog-app.git cd my-blog-app -
Install dependencies:
npm install
-
Setup MongoDB: Ensure MongoDB is installed and running on your system. Alternatively, use a cloud-based MongoDB service like MongoDB Atlas.
-
Run the application:
npm start
bash Copy code npm start Visit the application:
Open your browser and navigate to http://localhost:3000.
