Skip to content

Vaibhav0911/Blog_website

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

15 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“ Blog Website

A modern, feature-rich blogging platform where users can create, share, and discover blogs from other writers. Built with cutting-edge technologies for a seamless writing and reading experience.


πŸ“– About

Blog Website is a full-featured blogging application designed to empower writers and readers. Users can:

  • Create & Publish their own blog posts with rich text editing
  • Read & Explore blogs shared by other community members
  • Manage Content by editing or deleting their own posts
  • Authentication with secure user accounts to protect their blog content

This project demonstrates modern web development practices with a focus on user experience, performance, and scalability. Whether you're a beginner developer learning React or someone wanting to start your blogging journey, this platform has you covered.


πŸ› οΈ Technologies

The project is built using modern, industry-standard technologies:

Technology Purpose
React 19 User interface and component management
Vite Fast build tool and development server
Redux Toolkit State management for global app state
React Router Client-side routing and navigation
Appwrite Backend services (Authentication & Database)
Tailwind CSS Utility-first CSS framework for styling
TinyMCE Rich text editor for blog writing
React Hook Form Efficient form handling and validation
HTML React Parser Parse and render HTML content safely
ESLint Code quality and best practices

✨ Features

Core Features

  • πŸ” User Authentication - Secure signup and login system using Appwrite
  • ✍️ Rich Text Editor - Write blogs with formatting options using TinyMCE
  • πŸ“š Blog Management - Create, read, update, and delete your blog posts
  • πŸ” Browse Blogs - Discover and read blogs from other users
  • πŸ‘€ User Profiles - Manage your profile and blog collection
  • πŸ“± Responsive Design - Works seamlessly across all devices
  • ⚑ Fast Performance - Optimized with Vite for quick loading
  • 🎨 Modern UI - Clean and intuitive interface with Tailwind CSS

Technical Features

  • State Management - Efficient global state with Redux Toolkit
  • Form Validation - Client-side validation with React Hook Form
  • Protected Routes - Secure pages accessible only to authenticated users
  • Backend Integration - Seamless Appwrite backend connectivity

πŸ”„ The Process

Project Structure

src/
β”œβ”€β”€ components/        # Reusable React components
β”‚   β”œβ”€β”€ header/       # Navigation header
β”‚   β”œβ”€β”€ footer/       # Footer component
β”‚   β”œβ”€β”€ container/    # Layout wrapper
β”‚   β”œβ”€β”€ forms/        # Form components
β”‚   └── ...
β”œβ”€β”€ pages/            # Page components
β”œβ”€β”€ store/            # Redux store and slices
β”‚   β”œβ”€β”€ authSlice.js  # Authentication state
β”‚   └── store.js      # Redux store configuration
β”œβ”€β”€ appwrite/         # Appwrite integration
β”‚   β”œβ”€β”€ auth.js       # Authentication services
β”‚   └── config.js     # Appwrite configuration
β”œβ”€β”€ assets/           # Static assets
└── main.jsx          # Application entry point

Development Workflow

  1. Setup - Install dependencies and configure Appwrite
  2. Component Development - Build reusable UI components
  3. State Management - Manage app state with Redux
  4. API Integration - Connect to Appwrite backend
  5. Styling - Apply Tailwind CSS for responsive design
  6. Testing - Test features and fix bugs
  7. Deployment - Build and deploy the application

πŸš€ Running The Project

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn package manager
  • Appwrite account and project

Installation Steps

  1. Clone the repository

    git clone <your-repository-url>
    cd project8Blog
  2. Install dependencies

    npm install
  3. Configure Appwrite

    • Update src/appwrite/config.js with your Appwrite credentials
    • Update src/appwrite/auth.js if needed for custom configuration
  4. Start development server

    npm run dev

    The application will be available at http://localhost:5173

Available Scripts

Command Description
npm run dev Start the development server with hot refresh
npm run build Create an optimized production build
npm run preview Preview the production build locally
npm run lint Check code quality with ESLint

Build for Production

npm run build

This creates an optimized build in the dist/ folder ready for deployment.


πŸ‘€ Preview

Key Pages & Features

  • Login/Signup Page - Secure authentication interface
  • Home Page - Browse and discover blogs from the community
  • Create Blog - Rich editor for writing new posts
  • Blog Detail - View full blog content with formatting
  • My Blogs - Manage your published blog posts
  • Profile - User profile and preferences management

User Experience

  • Clean, intuitive navigation
  • Fast page loading with Vite
  • Responsive design on mobile, tablet, and desktop
  • Rich text content with proper HTML rendering
  • Smooth transitions and animations

🎯 Future Enhancements

  • πŸ’¬ Comments and discussions on blogs
  • ❀️ Like and bookmark functionality
  • 🏷️ Tags and categories for blog organization
  • πŸ”” Notifications for blog updates
  • πŸ” Advanced search and filters
  • πŸ“Š Blog analytics and insights

πŸ“„ License

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


πŸ’‘ Support

If you encounter any issues or have questions, feel free to open an issue or reach out for support.


Happy Blogging! πŸ“βœ¨