Blogify is a dynamic, modern web application for creating, managing, and sharing blogs seamlessly. Built using cutting-edge technologies like React, RTK, Tailwind CSS, and Appwrite, it provides a robust platform for bloggers to express themselves while ensuring scalability, security, and a rich user experience.
- User Authentication: Secure user login and registration using Appwrite's authentication system.
- Blog Management: Create, edit, and delete blogs with ease.
- Rich Text Editing: Format your blogs with an intuitive and user-friendly text editor.
- Responsive Design: Fully responsive and optimized for all screen sizes.
- Real-Time Updates: Blogs are updated in real-time without refreshing the page.
- Secure Backend: All user and blog data are securely managed with Appwrite.
- React: For building the dynamic and interactive user interface.
- Redux and RTK: For managing and and centralizing application states.
- Tailwind CSS: For rapid UI design and responsive layouts.
- DaisyUI: Tailwind plugin for pre-designed UI components.
- Appwrite: A self-hosted backend-as-a-service platform for managing authentication, database, and storage.
- React Router: For seamless navigation.
- Vite: For fast and efficient development.
- ESLint: To maintain code quality.
.
βββ .env.sample
βββ eslint.config.js
βββ .gitignore
βββ index.html
βββ package.json
βββ package-lock.json
βββ postcss.config.js
βββ public
βΒ Β βββ favicon
βΒ Β βΒ Β βββ android-chrome-192x192.png
βΒ Β βΒ Β βββ android-chrome-512x512.png
βΒ Β βΒ Β βββ apple-touch-icon.png
βΒ Β βΒ Β βββ favicon-16x16.png
βΒ Β βΒ Β βββ favicon-32x32.png
βΒ Β βΒ Β βββ favicon.ico
βΒ Β βΒ Β βββ icon.png
βΒ Β βΒ Β βββ site.webmanifest
βΒ Β βββ vite.svg
βββ README.md
βββ src
βΒ Β βββ App.css
βΒ Β βββ App.jsx
βΒ Β βββ appwrite
βΒ Β βΒ Β βββ auth.js
βΒ Β βΒ Β βββ config.js
βΒ Β βββ assets
βΒ Β βΒ Β βββ react.svg
βΒ Β βββ components
βΒ Β βΒ Β βββ AuthLayout.jsx
βΒ Β βΒ Β βββ Button.jsx
βΒ Β βΒ Β βββ container
βΒ Β βΒ Β βΒ Β βββ Container.jsx
βΒ Β βΒ Β βββ Footer
βΒ Β βΒ Β βΒ Β βββ Footer.jsx
βΒ Β βΒ Β βββ Header
βΒ Β βΒ Β βΒ Β βββ Header.jsx
βΒ Β βΒ Β βΒ Β βββ LogoutBtn.jsx
βΒ Β βΒ Β βΒ Β βββ UserBadge.jsx
βΒ Β βΒ Β βββ index.js
βΒ Β βΒ Β βββ Input.jsx
βΒ Β βΒ Β βββ Login.jsx
βΒ Β βΒ Β βββ Logo.jsx
βΒ Β βΒ Β βββ PostCard.jsx
βΒ Β βΒ Β βββ post-form
βΒ Β βΒ Β βΒ Β βββ PostForm.jsx
βΒ Β βΒ Β βββ RTE.jsx
βΒ Β βΒ Β βββ Select.jsx
βΒ Β βΒ Β βββ Signup.jsx
βΒ Β βββ conf
βΒ Β βΒ Β βββ conf.js
βΒ Β βββ index.css
βΒ Β βββ main.jsx
βΒ Β βββ pages
βΒ Β βΒ Β βββ AddPost.jsx
βΒ Β βΒ Β βββ AllPosts.jsx
βΒ Β βΒ Β βββ EditPost.jsx
βΒ Β βΒ Β βββ Home.jsx
βΒ Β βΒ Β βββ Login.jsx
βΒ Β βΒ Β βββ Post.jsx
βΒ Β βΒ Β βββ Signup.jsx
βΒ Β βββ store
βΒ Β βββ authSlice.js
βΒ Β βββ store.js
βββ tailwind.config.js
βββ tree.txt
βββ vercel.json
βββ vite.config.js
14 directories, 54 filesFollow these steps to set up and run the project on your local machine:
- Node.js (v16+)
- Appwrite Server (self-hosted or Appwrite Cloud)
-
Clone the repository:
git clone https://github.com/TBS96/megaBlogAppwrite.git cd megaBlogAppwrite -
Install dependencies:
npm install
-
Configure Appwrite:
- Create a project in your Appwrite console.
- Configure your database and authentication.
- Update the Appwrite endpoint and project ID in the app configuration.
-
Start the development server:
npm run dev
-
Open the app in your browser: Navigate to
http://localhost:5173.
To build the app for production, run:
npm run buildContributions are welcome! Feel free to open issues or submit pull requests to improve this project.
- Fork the repository.
- Create a new branch (
git checkout -b feature/YourFeature). - Commit your changes (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature/YourFeature). - Open a pull request.
If you have any questions or feedback, feel free to reach out:
- GitHub: TBS96
- Email: 9tbs6@proton.me
Happy Blogging!