{"id":15723266,"url":"https://github.com/binayakshree/blog-app","last_synced_at":"2026-04-05T08:33:26.304Z","repository":{"id":253900176,"uuid":"844870835","full_name":"BinayakShree/blog-app","owner":"BinayakShree","description":"Blog app with dashboard created using Hono \u0026 React","archived":false,"fork":false,"pushed_at":"2024-08-20T06:12:52.000Z","size":123,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-31T00:17:02.777Z","etag":null,"topics":["fullstack","honojs","javascript","neondb","prisma-orm","react","sql","typescript","webdevelopment"],"latest_commit_sha":null,"homepage":"https://www.shresthabinayak.com.np","language":"TypeScript","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/BinayakShree.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}},"created_at":"2024-08-20T06:08:08.000Z","updated_at":"2024-10-22T14:24:59.000Z","dependencies_parsed_at":"2024-08-21T20:17:25.979Z","dependency_job_id":null,"html_url":"https://github.com/BinayakShree/blog-app","commit_stats":null,"previous_names":["binayakshree/blog-app"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/BinayakShree/blog-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BinayakShree%2Fblog-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BinayakShree%2Fblog-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BinayakShree%2Fblog-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BinayakShree%2Fblog-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BinayakShree","download_url":"https://codeload.github.com/BinayakShree/blog-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BinayakShree%2Fblog-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271526484,"owners_count":24775454,"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","status":"online","status_checked_at":"2025-08-21T02:00:08.990Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["fullstack","honojs","javascript","neondb","prisma-orm","react","sql","typescript","webdevelopment"],"created_at":"2024-10-03T22:10:51.522Z","updated_at":"2025-10-09T20:14:27.782Z","avatar_url":"https://github.com/BinayakShree.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Blogging App - Full Stack Project\n\nWelcome to my first full-stack project! This repository contains the codebase for a blogging application that I built to enhance my skills in web development. I have made this website with the latest technologies \u0026 followed best practices.\n\n## Live Demo\nCheck out the live version of the app: [binayakshree.vercel.app](https://binayakshree.vercel.app/)\n\n## Features\n- **Frontend**: \n  - Built with [React](https://reactjs.org/) and [Vite](https://vitejs.dev/)\n  - Written in [TypeScript](https://www.typescriptlang.org/) for type safety and improved code quality\n  - State management with [Redux Toolkit](https://redux-toolkit.js.org/)\n  - Styled with [Tailwind CSS](https://tailwindcss.com/) and [Flowbite](https://flowbite.com/)\n  - Icons from [React Icons](https://react-icons.github.io/react-icons/)\n  - Mobile-responsive design for all screen sizes 📱\n  - Signup and signin using email or Google OAuth\n  - Advanced admin dashboard for managing posts and users\n  - Comment feature for engaging with posts\n  - Profile update feature for users\n  - Rich text editor integration using [React Quill](https://github.com/zenoamaro/react-quill) for writing posts\n  - User profile picture upload feature\n  \n- **Backend**:\n  - Serverless backend powered by [Hono](https://honojs.dev/) and deployed on [Cloudflare Workers](https://workers.cloudflare.com/)\n  - Written in [TypeScript](https://www.typescriptlang.org/) for consistent type checking and maintainability\n  - Input validation with [Zod](https://zod.dev/) to ensure data integrity and security\n  - Authentication using JWT with advanced cookie handling\n  - Database managed with [Prisma](https://www.prisma.io/) and [Neon DB](https://neon.tech/)\n  - Image upload handling using Firebase Cloud Storage\n  - Advanced database design to support various features\n  \n- **Deployment**:\n  - Frontend deployed on [Vercel](https://vercel.com/)\n  - Backend deployed on Cloudflare Workers\n\n## Key Learnings\nThroughout this project, I have gained valuable experience in:\n- Managing a full-stack project from start to finish\n- Implementing advanced cookie-based authentication with JWT\n- Handling image uploads in a secure and efficient manner\n- Implementing pagination for better user experience\n- Integrating [Flowbite](https://flowbite.com/) for enhanced UI components\n- Setting up Google OAuth for seamless user authentication\n- Integrating a rich text editor ([React Quill](https://github.com/zenoamaro/react-quill)) for blog content\n- Designing an advanced database schema to support various blogging features\n- Creating a mobile-responsive interface for a seamless experience across devices\n- Developing a feature-rich admin dashboard to manage the application efficiently\n- Validating backend input data with Zod for better security and reliability\n\n## Getting Started\nTo run this project locally, follow these steps:\n\n1. Clone the repository:\n    ```bash\n    git clone https://github.com/BinayakShree/blog-app.git\n    ```\n2. Install the dependencies:\n    ```bash\n    cd blog-app\n    npm run install:all\n    ```\n3. Set up environment variables for the frontend as mentioned in `.env.example` and `wrangler.toml` in the backend.\n4. Run the development server:\n    ```bash\n    npm run dev\n    ```\n5. Access the app locally.\n\n\nNote: This is the clone repo of the original deployment repo\n\n## Author\n**BinayakShree**\n\nConnect with me on [LinkedIn](https://www.linkedin.com/in/binayak-shrestha-2aa22a322/) and check out my [portfolio](https://binayakshree.vercel.app/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbinayakshree%2Fblog-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbinayakshree%2Fblog-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbinayakshree%2Fblog-app/lists"}