{"id":27362567,"url":"https://github.com/sahilsonvane/react-blog-app","last_synced_at":"2026-05-04T21:39:30.110Z","repository":{"id":285942763,"uuid":"959815688","full_name":"sahilsonvane/react-blog-app","owner":"sahilsonvane","description":"A modern blog application built with React, Vite, and Appwrite backend services. Features user authentication, rich text post creation, and responsive design.","archived":false,"fork":false,"pushed_at":"2025-04-12T03:45:23.000Z","size":113,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-12T04:34:33.988Z","etag":null,"topics":["appwrite","frontend","javascript","reactjs","redux-toolkit"],"latest_commit_sha":null,"homepage":"https://react-blog-app-4vrc.onrender.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sahilsonvane.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-03T11:55:46.000Z","updated_at":"2025-04-12T03:45:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"5ad9a5d9-bb56-47a3-a89b-495f5de23351","html_url":"https://github.com/sahilsonvane/react-blog-app","commit_stats":null,"previous_names":["sahilsonvane/react-blog-app"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sahilsonvane%2Freact-blog-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sahilsonvane%2Freact-blog-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sahilsonvane%2Freact-blog-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sahilsonvane%2Freact-blog-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sahilsonvane","download_url":"https://codeload.github.com/sahilsonvane/react-blog-app/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248658379,"owners_count":21140932,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["appwrite","frontend","javascript","reactjs","redux-toolkit"],"created_at":"2025-04-13T03:22:44.766Z","updated_at":"2026-05-04T21:39:25.072Z","avatar_url":"https://github.com/sahilsonvane.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# React Blog App 🚀\n![React](https://img.shields.io/badge/React-20232A?style=for-the-badge\u0026logo=react\u0026logoColor=61DAFB)\n![Vite](https://img.shields.io/badge/Vite-B73BFE?style=for-the-badge\u0026logo=vite\u0026logoColor=FFD62E)\n![Appwrite](https://img.shields.io/badge/Appwrite-F02E65?style=for-the-badge\u0026logo=appwrite\u0026logoColor=white)\n![Redux](https://img.shields.io/badge/Redux-593D88?style=for-the-badge\u0026logo=redux\u0026logoColor=white)\n\nI built this blog application as a learning project to understand industry-level programming concepts and practice React, Redux, and modern web development techniques. This project helped me gain hands-on experience with:\n\n- Building complete React applications with Vite\n- State management using Redux Toolkit\n- Authentication flows and protected routes\n- Form handling and validation\n- Rich text editing capabilities\n- API integration with Appwrite backend\n- Project structure and organization\n- Performance optimization techniques\n\nThe application demonstrates practical implementation of React hooks, component composition, and other modern React patterns.\n\n## Live Demo\nYou can check out the live demo of the blog application at [https://react-blog-app-4vrc.onrender.com/]\n\n## ✨ Features\n- 🔐 User authentication (Login/Signup)\n- ✍️ Rich text editor for post content\n- 📝 Create, read, update, and delete posts\n- 🏠 Home page with all posts\n- 🖼️ Image support in posts\n- 🚀 Fast performance with Vite\n- 🔄 State management with Redux\n\n## 🛠️ Tech Stack\n### Frontend\n- ⚛️ React 18\n- ⚡ Vite (Build tool)\n- 🎨 Tailwind CSS (Styling)\n- 🔄 Redux Toolkit (State management)\n- 📝 React RTE (Rich Text Editor)\n\n### Backend\n- 🔥 Appwrite (Backend service)\n  - Database\n  - Authentication\n  - Storage\n\n## 🚀 Installation\n1. Clone the repository\n```bash\ngit clone https://github.com/sahilsonvane/react-blog-app.git\ncd react-blog-app\n```\n\n2. Install dependencies\n```bash\nnpm install\n```\n\n3. Set up Appwrite\n- Create a new Appwrite project\n- Set up Database and Authentication\n- Configure environment variables (create `.env` file):\n```env\nVITE_APPWRITE_URL=your_appwrite_url\nVITE_APPWRITE_PROJECT_ID=your_project_id\nVITE_APPWRITE_DATABASE_ID=your_database_id\nVITE_APPWRITE_COLLECTION_ID=your_collection_id\nVITE_APPWRITE_BUCKET_ID=your_bucket_id\n```\n\n4. Start development server\n```bash\nnpm run dev\n```\n\n## 📸 Screenshots\n### Home Page\n![Home Page](./home-page.png)\n\n### Add Post Page\n![Add Post Page](./add-post-page.png)\n\n## 🤝 Contributing\nContributions are welcome! Please open an issue or submit a pull request.\n\n## 📄 License\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsahilsonvane%2Freact-blog-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsahilsonvane%2Freact-blog-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsahilsonvane%2Freact-blog-app/lists"}