Skip to content

A modern, responsive blog web application built with React.js that allows users to create, read, edit, and manage blog posts with a clean and intuitive interface.

Notifications You must be signed in to change notification settings

HarshitBhalani/Blogify_web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

41 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Blogify ๐Ÿ“

A modern, responsive blog web application built with React.js that allows users to create, read, edit, and manage blog posts with a clean and intuitive interface.

๐ŸŒŸ Features

  • AI-Powered Content Generation: Integrated Gemini AI for automated blog content creation
  • Blog Management: Create, edit, and delete blog posts
  • Blog Listing: View all blog posts in an organized list
  • Blog Details: Read individual blog posts with detailed view
  • Navigation: Smooth navigation between different sections
  • Responsive Design: Mobile-friendly interface that works on all devices
  • Modern UI: Clean and contemporary design
  • Performance Optimized: Fast loading and smooth user experience

๐Ÿš€ Tech Stack

Frontend:

  • React.js
  • React Router DOM
  • JavaScript (ES6+)
  • CSS3
  • HTML5

AI Integration:

  • Gemini AI API for content generation
  • Automated blog post creation
  • Smart content suggestions

Tools & Setup:

  • Create React App
  • Web Vitals for performance monitoring
  • Jest for testing

๐Ÿ“ Project Structure

client/
โ”œโ”€โ”€ public/
โ”‚   โ”œโ”€โ”€ favicon.ico          # Website favicon
โ”‚   โ”œโ”€โ”€ index.html           # Main HTML template
โ”‚   โ”œโ”€โ”€ logo192.png          # App logo (192x192)
โ”‚   โ”œโ”€โ”€ logo512.png          # App logo (512x512)
โ”‚   โ”œโ”€โ”€ manifest.json        # PWA manifest file
โ”‚   โ””โ”€โ”€ robots.txt           # Search engine robots file
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ components/
โ”‚   โ”‚   โ”œโ”€โ”€ BlogDetail.js    # Individual blog post component
โ”‚   โ”‚   โ”œโ”€โ”€ BlogList.js      # Blog posts listing component
โ”‚   โ”‚   โ”œโ”€โ”€ CreateBlog.js    # Create new blog post component
โ”‚   โ”‚   โ”œโ”€โ”€ EditBlog.js      # Edit existing blog post component
โ”‚   โ”‚   โ””โ”€โ”€ Navbar.js        # Navigation component
โ”‚   โ”œโ”€โ”€ App.css              # Main application styles
โ”‚   โ”œโ”€โ”€ App.js               # Main application component
โ”‚   โ”œโ”€โ”€ App.test.js          # Application tests
โ”‚   โ”œโ”€โ”€ index.css            # Global styles
โ”‚   โ”œโ”€โ”€ index.js             # Application entry point
โ”‚   โ”œโ”€โ”€ logo.svg             # React logo
โ”‚   โ”œโ”€โ”€ reportWebVitals.js   # Performance monitoring
โ”‚   โ””โ”€โ”€ setupTests.js        # Test configuration
โ”œโ”€โ”€ .gitignore               # Git ignore rules
โ”œโ”€โ”€ README.md                # Project documentation
โ”œโ”€โ”€ package-lock.json        # Dependency lock file
โ”œโ”€โ”€ package.json             # Project dependencies and scripts
โ””โ”€โ”€ package.json             # Duplicate package.json (should be cleaned up)

๐Ÿ› ๏ธ Components Overview

Core Components

  1. Navbar.js - Navigation bar with routing links
  2. BlogList.js - Displays all blog posts in a grid/list format
  3. BlogDetail.js - Shows detailed view of a single blog post
  4. CreateBlog.js - Form component for creating new blog posts
  5. EditBlog.js - Form component for editing existing blog posts

Key Features of Components

  • Responsive Design: All components are mobile-friendly
  • Reusable Components: Modular design for easy maintenance
  • State Management: Efficient React state handling
  • Routing: Seamless navigation between pages

๐Ÿ“ฆ Installation & Setup

Prerequisites

  • Node.js (v14 or higher)
  • npm or yarn

Installation Steps

  1. Clone the repository

    git clone https://github.com/HarshitBhalani/Blogify_web.git
    cd Blogify_web
  2. Navigate to client directory

    cd client
  3. Install dependencies

    npm install
  4. Start the development server

    npm start
  5. Open your browser Navigate to http://localhost:3000

๐ŸŽฏ Available Scripts

In the project directory, you can run:

npm start

Runs the app in development mode.
Open http://localhost:3000 to view it in your browser.

npm test

Launches the test runner in interactive watch mode.

npm run build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for best performance.

npm run eject

Note: this is a one-way operation. Once you eject, you can't go back!

๐Ÿ”ง Configuration

Package.json Dependencies

The project includes essential dependencies for:

  • React application framework
  • Routing capabilities
  • Performance monitoring
  • Testing utilities

Environment Setup

Make sure you have:

  • Node.js installed
  • A code editor (VS Code recommended)
  • Git for version control

๐Ÿ“ฑ Features Breakdown

1. Blog Creation

  • Create new blog posts with title and content
  • AI-powered content generation using Gemini AI
  • Rich text editing capabilities
  • Form validation
  • Smart content suggestions and auto-completion

2. Blog Management

  • Edit existing blog posts
  • Delete unwanted posts
  • Organize content efficiently

3. Blog Display

  • List all blog posts
  • Individual post detail view
  • Responsive card-based layout

4. Navigation

  • Smooth routing between pages
  • User-friendly navigation bar
  • Breadcrumb navigation

๐ŸŽจ Styling

  • CSS3: Modern styling with flexbox and grid
  • Responsive Design: Mobile-first approach
  • Clean UI: Minimalist and user-friendly interface
  • Consistent Theme: Cohesive color scheme and typography

๐Ÿ”ฎ Future Enhancements

  • Enhanced AI content generation with more customization options
  • User authentication system
  • Backend API integration
  • Database connectivity
  • Search functionality
  • Categories and tags
  • Comments system
  • Like/favorite features
  • AI-powered content optimization and SEO suggestions

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ‘จโ€๐Ÿ’ป Author

Harshit Bhalani

๐Ÿ™ Acknowledgments

  • React.js team for the amazing framework
  • Create React App for the boilerplate
  • All contributors who helped improve this project

๐Ÿ“ž Support

If you have any questions or need help with setup, please open an issue in the GitHub repository.


โญ If you found this project helpful, please give it a star!

๐Ÿ“ Notes

  • Clean up duplicate package.json files in the root directory
  • Consider adding a backend server for full-stack functionality
  • Add proper error handling and loading states
  • Implement data persistence with a database

About

A modern, responsive blog web application built with React.js that allows users to create, read, edit, and manage blog posts with a clean and intuitive interface.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published