This is a blog website built using React for the frontend and Appwrite for the backend. The website allows users to sign up, log in, create posts, edit posts, and view all posts.
- User Authentication (Sign Up & Login)
- Create, Edit, and Delete Posts
- View All Posts
- View Individual Posts
- View User's Own Posts
- Frontend: React, Redux Toolkit, React Router DOM, Tailwind CSS
- Backend: Appwrite
- State Management: Redux Toolkit
- Form Handling: React Hook Form
- Rich Text Editor: TinyMCE
Ensure you have the following installed:
- Node.js (Latest LTS recommended)
- Appwrite (Self-hosted or cloud account)
git clone https://github.com/ateendra24/blog.git
cd blognpm installCreate a .env file in the root directory and add your Appwrite credentials:
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
VITE_TINYMCE_API_KEY=your_tinymce_api_keynpm run devblog/
│── src/
│ ├── components/ # Reusable UI components
│ ├── pages/ # Different page components
│ ├── store/ # Redux store
│ ├── App.jsx # Main App component
│ ├── index.js # Entry point
│── public/ # Static assets
│── package.json # Project metadata
│── vite.config.js # Vite configuration
The application uses react-router-dom for client-side routing. Below are the available routes:
| Route | Component | Authentication |
|---|---|---|
/ |
Home | Yes |
/login |
Login | No |
/signup |
Signup | No |
/my-posts |
AllPosts | Yes |
/add-post |
AddPost | Yes |
/edit-post/:slug |
EditPost | Yes |
/post/:slug |
Post | Yes |
Contributions are welcome! Feel free to submit a PR with improvements or bug fixes.
This project is licensed under the MIT License.
For any queries or suggestions, reach out to Contact Me.





