| π Stars | π΄ Forks | π Issues | π Open PRs | π Closed PRs | π οΈ Languages | 
- π Table of Contents
 - π¦Ύ Features
 - π Technologies Used
 - π§© Installation
 - β Usage
 - π‘ Contributing
 - β€οΈ Our Contributors
 - β Show Your Support
 - π΄ Forkers
 - License
 
- 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 = "https://cloud.appwrite.io/v1" # VITE_APPWRITE_URL=https://fra.cloud.appwrite.io/v1 VITE_APPWRITE_PROJECT_ID = "" VITE_APPWRITE_DATABASE_ID = "" VITE_APPWRITE_COLLECTION_ID = "" VITE_APPWRITE_BUCKET_ID = "" VITE_API_KEY = "" VITE_APPWRITE_COMMENT_COLLECTION_ID = "" # VITE_BASE_LINK = 'https://techie-blogs.vercel.app/' VITE_BASE_LINK = 'http://localhost:5173/' VITE_APPWRITE_USER_COLLECTION_ID = "" VITE_APPWRITE_EVENT_ID="" VITE_APPWRITE_SAVEFORLATER_COLLECTION_ID="" VITE_EMAILJS_SERVICE_ID="" VITE_EMAILJS_TEMPLATE_ID = "" VITE_EMAILJS_PUBLIC_KEY = "" VITE_EMAILJS_SERVICE_ID_FEEDBACK = "" VITE_EMAILJS_TEMPLATE_ID_FEEDBACK ="" VITE_EMAILJS_PUBLIC_KEY_FEEDBACK =""
 - 
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.
 
 
Overall Database
Article Schema
Comment Schema
Events
savedForLater
users
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.
 
 
Docker Setupβ
Run the application in a containerized environment using Docker. Prerequisites: Docker desktop installed
- Build the Docker Image and run all these commands in terminal :-
 
docker build . -t techieblog
- Run the Container :-
 
docker run -d -p 5173:5173 techieblog
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
 
If you found this project helpful, please consider giving it a βοΈ
Note: This project uses a modified MIT License that includes additional restrictions.
Please see the LICENSE file for more details.
