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.
- 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
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
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)
- Navbar.js - Navigation bar with routing links
- BlogList.js - Displays all blog posts in a grid/list format
- BlogDetail.js - Shows detailed view of a single blog post
- CreateBlog.js - Form component for creating new blog posts
- EditBlog.js - Form component for editing existing blog posts
- 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
- Node.js (v14 or higher)
- npm or yarn
-
Clone the repository
git clone https://github.com/HarshitBhalani/Blogify_web.git cd Blogify_web -
Navigate to client directory
cd client -
Install dependencies
npm install
-
Start the development server
npm start
-
Open your browser Navigate to
http://localhost:3000
In the project directory, you can run:
Runs the app in development mode.
Open http://localhost:3000 to view it in your browser.
Launches the test runner in interactive watch mode.
Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for best performance.
Note: this is a one-way operation. Once you eject, you can't go back!
The project includes essential dependencies for:
- React application framework
- Routing capabilities
- Performance monitoring
- Testing utilities
Make sure you have:
- Node.js installed
- A code editor (VS Code recommended)
- Git for version control
- 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
- Edit existing blog posts
- Delete unwanted posts
- Organize content efficiently
- List all blog posts
- Individual post detail view
- Responsive card-based layout
- Smooth routing between pages
- User-friendly navigation bar
- Breadcrumb navigation
- 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
- 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
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Harshit Bhalani
- GitHub: @HarshitBhalani
- Project Link: https://github.com/HarshitBhalani/Blogify_web
- React.js team for the amazing framework
- Create React App for the boilerplate
- All contributors who helped improve this project
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!
- Clean up duplicate
package.jsonfiles 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