Skip to content

Conversation

kshitiz79
Copy link

Blog Application

Description

Blog Application is a feature-rich web application where users can create, edit, delete, and view blog posts. The application uses LocalStorage to persist data, ensuring that blog posts remain available even after the browser is closed or the page is refreshed.

This enhanced version includes a modern UI design, improved functionality, and a better user experience, making it perfect for Hacktoberfest contributions.

Features

  • ✨ Modern, professional UI with blue/gray color scheme
  • 📝 Create new blog posts with images, titles, categories, and content
  • ✏️ Edit existing blog posts in-place
  • 🗑️ Delete blog posts with confirmation
  • 👁️ View full blog posts in a modal
  • 💾 Data persistence using LocalStorage
  • 📱 Fully responsive design for all devices
  • 🔍 Search functionality
  • 🎯 Category filtering
  • 📊 Sorting options (newest, oldest, title)
  • 📈 Statistics dashboard with 5 key metrics
  • 🎉 Success notifications
  • 🖼️ Fallback images for broken links
  • 📋 Category management with dropdown and custom options

Technologies Used

  • HTML5
  • CSS3 (with Flexbox and Grid)
  • Bootstrap 5
  • JavaScript (ES6+)
  • Font Awesome Icons
  • LocalStorage API

Use of Project

This project is excellent for:

  1. Understanding the concept of LocalStorage and how it persists data
  2. Learning modern web development techniques
  3. Practicing JavaScript DOM manipulation
  4. Contributing to open-source during Hacktoberfest
  5. Building a portfolio project

How to Use

  1. Clone or download this repository
  2. Open index.html in your web browser
  3. Start creating blog posts by clicking the "New Article" button

Creating a Blog Post

  1. Click the "New Article" button in the navbar or on the main page
  2. Fill in the form with:
    • Image URL (use a valid image URL)
    • Blog Title
    • Category (select from dropdown or enter custom)
    • Content (your blog post content)
  3. Click "Publish Article"

Editing a Blog Post

  1. Click the green edit button (pencil icon) on any blog card
  2. Edit the title, category, or content directly in the card
  3. Click the "Save Changes" button to save your changes

Deleting a Blog Post

  1. Click the red delete button (trash icon) on any blog card
  2. Confirm the deletion in the popup dialog

Viewing a Blog Post

  1. Click the "Read" button on any blog card
  2. View the full blog post in a modal window

Searching and Filtering

  1. Use the search box to find articles by title, content, or category
  2. Filter articles by category using the filter buttons
  3. Sort articles by newest, oldest, or title using the sort dropdown

Screenshots

Main Dashboard with Statistics

Main Dashboard

Contributing to Hacktoberfest

This project is part of Hacktoberfest! We welcome contributions from the community. Here's how you can contribute:

Getting Started

  1. Fork this repository
  2. Clone your forked repository to your local machine
  3. Create a new branch for your feature or bug fix
  4. Make your changes
  5. Commit your changes with a descriptive commit message
  6. Push your changes to your forked repository
  7. Create a Pull Request to the main repository

Ideas for Contributions

We're looking for contributions in the following areas:

  1. New Features

    • Add search functionality
    • Implement blog categories/tags
    • Add a dark/light mode toggle
    • Implement blog sharing capabilities
    • Add blog post statistics (views, likes)
    • Implement draft saving functionality
  2. UI/UX Improvements

    • Improve animations and transitions
    • Add more visual feedback
    • Enhance mobile responsiveness
    • Add keyboard shortcuts
    • Improve accessibility (ARIA labels, screen reader support)
  3. Functionality Enhancements

    • Add export/import functionality (PDF, Markdown)
    • Implement blog post sorting options
    • Add rich text editing for blog content
    • Implement pagination for blog lists
    • Add blog post filtering by category
  4. Code Quality

    • Refactor existing code for better performance
    • Add more comprehensive error handling
    • Improve code documentation
    • Add unit tests
    • Implement design patterns
  5. Documentation

    • Improve this README file
    • Add user guides
    • Create setup instructions
    • Add contribution guidelines
    • Create API documentation

Contribution Guidelines

  1. Ensure your code follows the existing style and conventions
  2. Write clear, descriptive commit messages
  3. Test your changes thoroughly
  4. Update documentation if needed
  5. Be respectful and constructive in all interactions

Pull Request Process

  1. Ensure any install or build dependencies are removed before the end of the layer when doing a build
  2. Update the README.md with details of changes to the interface, if applicable
  3. Increase the version numbers in any examples files and the README.md to the new version that this Pull Request would represent
  4. Your Pull Request will be reviewed by maintainers, who may request changes before merging

Project Structure

Blog Application/
├── index.html
├── style.css
├── script.js
├── README.md
└── Screenshots/
    └── kshitizscreenshot/
        ├── screewnshot.png
        
        
        

License

This project is open source and available under the MIT License.

Author

Kshitiz Maurya

Acknowledgements

Support

If you like this project, please give it a ⭐️ on GitHub!


Made with ❤️ for Hacktoberfest 2025
Screenshot 2025-10-16 at 1 58 53 PM
Screenshot 2025-10-16 at 1 58 32 PM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant