Mega Blog Project šŸš€

šŸ“Œ Description

Mega Blog is a full-featured blogging platform designed for modern web development.
It offers rich text editing, user authentication, post management, and dynamic content rendering with a sleek and responsive UI.

This project is built using React (with Vite), Tailwind CSS, Redux Toolkit for state management, and Appwrite as the backend.
It also leverages TinyMCE for rich text editing, HTML React Parser for rendering HTML in React, and React Hook Form for seamless form validation.


šŸ“ø Screenshots

šŸ  Homepage

Homepage Preview

šŸ” Login Page

Login Page

āœļø Rich Text Editor

Post Editor

šŸ“š Blog Posts

All Posts

šŸ›  Technologies Used

Technology Description
React A JavaScript library for building fast and interactive user interfaces.
Vite A fast and optimized build tool for modern web projects.
Tailwind CSS A utility-first CSS framework for custom UI design.
Redux Toolkit The recommended way to manage state in React apps.
React Router v6 Enables seamless client-side navigation.
Appwrite Open-source backend-as-a-service (BaaS) for authentication, database, and storage.
TinyMCE React A powerful rich text editor for creating and editing blog posts.
HTML React Parser Converts raw HTML strings into React components.
React Hook Form A lightweight library for form validation and management.

šŸ“Œ Features

āœ”ļø User Authentication – Secure login and signup using Appwrite.
āœ”ļø Create, Edit & Delete Posts – Full CRUD functionality for blog posts.
āœ”ļø Rich Text Editing – TinyMCE provides a robust text editor with formatting options.
āœ”ļø Responsive UI – Designed with Tailwind CSS for a smooth experience on all devices.
āœ”ļø State Management – Handled efficiently using Redux Toolkit.
āœ”ļø Fast Navigation – Powered by React Router v6 for seamless client-side routing.
āœ”ļø Appwrite Integration – User authentication, database storage, and media uploads are fully integrated.


šŸ“„ Installation & Setup

šŸ”¹ Prerequisites

Make sure you have the following installed:

šŸ”¹ Clone the Repository

git clone https://github.com/your-username/your-repo-name.git
cd your-repo-name

šŸ”¹ Install Dependencies

npm install

šŸ”¹ Set Up Environment Variables

Create a .env file in the root directory and add your Appwrite credentials:

VITE_APPWRITE_URL=your-appwrite-url
VITE_APPWRITE_PROJECT_ID=your-project-id
VITE_APPWRITE_DATABASE_ID=your-database-id
VITE_APPWRITE_COLLECTION_ID=your-collection-id
VITE_APPWRITE_BUCKET_ID=your-bucket-id
VITE_TINYMCE_API_KEY=your-tinymce-api-key

šŸ”¹ Run the Development Server

npm run dev

Open http://localhost:5173 in your browser.


šŸ›  Installation via Individual Packages

If you're setting up from scratch, install the required dependencies:

npm create vite@latest
npm install @reduxjs/toolkit react-redux react-router-dom
npm install appwrite @tinymce/tinymce-react html-react-parser
npm install react-hook-form tailwindcss postcss autoprefixer

šŸ›  Folder Structure

šŸ“‚ mega-blog-project
 ┣ šŸ“‚ src
 ā”ƒ ┣ šŸ“‚ appwrite          # Appwrite configuration
 ā”ƒ ┣ šŸ“‚ components        # Reusable UI components (Header, Footer, Buttons, Forms, etc.)
 ā”ƒ ┣ šŸ“‚ pages             # Page components (Home, Login, Signup, Posts, etc.)
 ā”ƒ ┣ šŸ“‚ store             # Redux state management
 ā”ƒ ┣ šŸ“‚ styles            # Global styles and Tailwind CSS config
 ā”ƒ ┣ šŸ“œ App.jsx           # Main App component
 ā”ƒ ┣ šŸ“œ main.jsx          # Entry point
 ā”ƒ ā”— šŸ“œ index.css         # Global styles
 ┣ šŸ“œ .env                # Environment variables (Appwrite credentials)
 ┣ šŸ“œ package.json        # Dependencies and scripts
 ┣ šŸ“œ README.md           # Project documentation
 ā”— šŸ“œ vite.config.js      # Vite configuration

šŸ“œ License

This project is licensed under the MIT License. Feel free to modify and use it as you like.


šŸ™Œ Contributing

We welcome contributions!

  1. Fork the repository.
  2. Create a branch (git checkout -b feature-branch).
  3. Commit changes (git commit -m "Added new feature").
  4. Push to GitHub (git push origin feature-branch).
  5. Open a Pull Request and describe your changes.

šŸ“ž Contact & Support

If you need any help, feel free to reach out:
šŸ“§ Email: atharva0709pardeshi@gmail.com šŸ”— GitHub: my github


Top categories

Loading Svelte Themes