Skip to content

AdityaSharmaHub/blogx

Repository files navigation

🚀 BlogX

BlogX is a modern full-stack blogging web application built with React.js, Tailwind CSS, Redux Toolkit, and Appwrite. It enables users to create, edit, and manage rich blog content using the TinyMCE Editor, with seamless authentication and file handling powered by Appwrite’s BaaS capabilities.

🔗 Live Demo: blogx-react.vercel.app


🛠️ Tech Stack

  • Frontend: React.js, Tailwind CSS, Redux Toolkit
  • Backend (BaaS): Appwrite (for Authentication, Database, and Storage)
  • Rich Text Editor: TinyMCE
  • State Management: Redux Toolkit

✨ Features

  • 🔐 User Authentication (Sign up / Log in / Log out)
  • 📝 Create, edit, and delete blog posts with a WYSIWYG editor
  • 📦 Upload and store images/files via Appwrite Storage
  • 🗃️ Appwrite Realtime Database integration
  • ⚡ Responsive UI with Tailwind CSS
  • 🗂️ Organized codebase with reusable components and Redux slices

📦 Getting Started

1. Clone the repo

git clone https://github.com/AdityaSharmaHub/blogx.git
cd blogx

2. Install dependencies

npm install

3. Configure Appwrite

  • Create a project on Appwrite

  • Set up:

    • Authentication (Email/Password)
    • Database (for storing blog posts)
    • Storage (for media uploads)
  • Copy the relevant credentials (Project ID, Endpoint, etc.)

4. Set up .env file

Create a .env file in the root with the following:

VITE_APPWRITE_ENDPOINT=YOUR_APPWRITE_ENDPOINT
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

5. Run the app

npm run dev

🧭 Folder Structure

blogx/
├── src/
│   ├── app/                  # Redux store setup
│   ├── components/           # Reusable UI components
│   ├── pages/                # Page-level components
│   ├── features/             # Redux slices
│   ├── services/appwrite     # Appwrite config and API calls
│   └── index.jsx             # App entry point
├── public/                   # Static assets
├── .env                      # Environment variables
└── ...

👤 Author

Aditya Sharma 🔗 LinkedIn

About

Full Stack Blog Application using React.js and Appwrite

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors