Skip to content

HarshitBhalani/Blogify_web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Blogify [Blog]

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

 
 
 

Contributors