Skip to content

Latest commit

Β 

History

History
203 lines (173 loc) Β· 5.57 KB

File metadata and controls

203 lines (173 loc) Β· 5.57 KB

Blogify

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.

Features

  • 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.

Technologies Used

Frontend

  • 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.

Backend

  • Appwrite: A self-hosted backend-as-a-service platform for managing authentication, database, and storage.

Others

  • React Router: For seamless navigation.
  • Vite: For fast and efficient development.
  • ESLint: To maintain code quality.

Getting Started

Folder structure

.
β”œβ”€β”€ .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 files

Follow these steps to set up and run the project on your local machine:

Prerequisites

  • Node.js (v16+)
  • Appwrite Server (self-hosted or Appwrite Cloud)

Installation

  1. Clone the repository:

    git clone https://github.com/TBS96/megaBlogAppwrite.git
    cd megaBlogAppwrite
  2. Install dependencies:

    npm install
  3. 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.
  4. Start the development server:

    npm run dev
  5. Open the app in your browser: Navigate to http://localhost:5173.

Deployment

To build the app for production, run:

npm run build

Contributions

Contributions are welcome! Feel free to open issues or submit pull requests to improve this project.

Steps to Contribute:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/YourFeature).
  3. Commit your changes (git commit -m 'Add some feature').
  4. Push to the branch (git push origin feature/YourFeature).
  5. Open a pull request.

Contact

If you have any questions or feedback, feel free to reach out:


Happy Blogging!