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.
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. |
āļø 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.
Make sure you have the following installed:
git clone https://github.com/your-username/your-repo-name.git
cd your-repo-name
npm install
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
npm run dev
Open http://localhost:5173 in your browser.
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
š 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
This project is licensed under the MIT License. Feel free to modify and use it as you like.
We welcome contributions!
git checkout -b feature-branch
). git commit -m "Added new feature"
). git push origin feature-branch
). If you need any help, feel free to reach out:
š§ Email: atharva0709pardeshi@gmail.com
š GitHub: my github