TechieBlog is a blogging platform that allows users to create, read, update, and delete blog posts. It provides a clean and user-friendly interface with essential features for content management. This project uses Appwrite as the backend, allowing for easy authentication, database management, and file storage.
Link :- https://techie-blogs.vercel.app/
- User authentication (Login/Sign-up) via Appwrite
- Create, edit, and delete blog posts
- Categorize posts with tags and categories
- File upload support for images and media
- Responsive design for both desktop and mobile views
- Frontend: HTML, CSS, JavaScript, Tailwind css , React
- Backend: Appwrite for user authentication, database, and file storage
- Database: Appwrite Database
- Authentication: Appwrite Authentication
- Link: Click Here
- Node.js and npm (or yarn) installed on your machine.
- Appwrite instance running locally or on a cloud server.
-
Clone the repository:
git clone https://github.com/SumitGorai01/TechieBlog.git
-
Navigate into the project directory:
cd TechieBlog -
Install the dependencies:
npm install
-
Set up Appwrite: If you don’t have an Appwrite account, follow these steps:
- Register for an account on the Appwrite website.
- Verify your email address.
- Log in to your Appwrite account.
- Create a new project in Appwrite to organize your resources.
- Set up a new database in the project to store data.
- Create a new collection within the database to organize data documents.
- Add necessary permissions and document security settings for the created collection.
- Set up storage and create a bucket in Appwrite to store files.
- Add necessary permissions and document security settings for the storage bucket.
- Generate an API key and configure Appwrite SDK in your project.
-
Set up TinyMCE:
- Simply create an account on TinyMCE website.
- Get your API key.
-
Configure environment variables for:
Create a .env file in the root directory and replace the following with .env.sample
VITE_APPWRITE_URL = "" VITE_APPWRITE_PROJECT_ID = "" VITE_APPWRITE_DATABASE_ID = "" VITE_APPWRITE_COLLECTION_ID = "" VITE_APPWRITE_COMMENT_COLLECTION_ID = "" VITE_APPWRITE_BUCKET_ID = "" VITE_API_KEY = ""
-
Start the application:
npm run dev
-
The app should now be running at http://localhost:5173 (or another specified port).
To contribute to the TechieBlog project, you need to set up your own Appwrite instance and obtain the required keys. Follow these steps:
-
Create an Appwrite Account
- Go to the Appwrite website.
- Click on Sign Up and create a new account.
- Verify your email address to activate your account.
-
Create a New Project
- Log in to your Appwrite account.
- Click on Create Project.
- Name your project (e.g., TechieBlog) and click Create.
-
Set Up a Database
- In your project dashboard, go to the Database section.
- Click on Create Database.
- Name your database (e.g., TechieBlogDB) and click Create.
- Inside the database, create a collection for blog posts:
- Click on Create Collection.
- Name it (e.g., Posts) and configure permissions (e.g., read/write access for users).
- Create another collection for comments:
- Click on Create Collection.
- Name it (e.g., Comments) and configure permissions.
-
Set Up Storage
- In your project dashboard, go to the Storage section.
- Click on Create Bucket.
- Name your bucket (e.g., BlogImages) and configure permissions (e.g., read/write access for users).
-
Generate API Keys
- In your project dashboard, go to the API Keys section.
- Click on Create API Key.
- Select the required scopes (e.g., Database, Storage, Users).
- Click Create and copy the generated API key.
Once the app is running, you can:
- Register an account and log in using Appwrite authentication
- Start creating and managing blog posts
- Add tags, categories, and images to posts Comment on other users' posts
Contributions are welcome! Please fork the repository and submit a pull request. Before contributing, ensure that the tests pass and the code adheres to the project's coding standards.
- Fork the repository
- Create a new branch (git checkout -b feature/your-feature)
- Make your changes and commit them
- Push to the branch (git push origin feature/your-feature)
- Create a pull request to the main repository
Note: This project uses a modified MIT License that includes additional restrictions.
Please see the LICENSE file for more details.