Skip to content

hetvi3012/Blog-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Blog App

Project Logo

Table of Contents

About the Project

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.

Features

  • 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.

Tech Stack

Front-End:

  • HTML5
  • CSS3
  • Bootstrap 4.5
  • EJS (Embedded JavaScript)
  • jQuery (for AJAX functionality)

Back-End:

  • Node.js
  • Express.js
  • MongoDB (Database)
  • Mongoose (ODM for MongoDB)

Middlewares & Tools:

  • Multer (Image Upload)
  • Express-Session (Session Management)
  • Connect-Flash (Flash Messages)
  • EJS Locals (For Layouts)

Usage

  1. 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.
  2. Viewing a Post:

    • Click on any post on the homepage to view the full content.
  3. Liking/Disliking a Post:

    • Use the thumbs up/down buttons on the post's page to like or dislike the post.
  4. Adding Comments:

    • Scroll to the comments section on a post's page.
    • Enter your comment and click "Submit."
  5. Searching for Posts:

    • Use the search bar at the top of the homepage to search for posts by title, content, or tags.
  6. Managing Posts:

    • Edit or delete your posts directly from the post's page using the respective buttons.

Future Enhancements

  • 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.

Installation

  1. Clone the repository:

    git clone https://github.com/hetvi3012/Blog-app.git
    cd my-blog-app
    
  2. Install dependencies:

    npm install
    
  3. Setup MongoDB: Ensure MongoDB is installed and running on your system. Alternatively, use a cloud-based MongoDB service like MongoDB Atlas.

  4. Run the application:

    npm start 

bash Copy code npm start Visit the application:

Open your browser and navigate to http://localhost:3000.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors