{"id":29350767,"url":"https://github.com/thefznkhan/nextblog","last_synced_at":"2026-04-15T10:33:33.157Z","repository":{"id":303467046,"uuid":"1015582295","full_name":"THEFZNKHAN/nextblog","owner":"THEFZNKHAN","description":"A sleek, production-ready blogging platform built with Next.js 14, MongoDB Atlas, Tailwind CSS, and React-Quill.","archived":false,"fork":false,"pushed_at":"2025-07-07T20:20:27.000Z","size":1185,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-07T20:58:30.966Z","etag":null,"topics":["admin-dashboard","auth","blog-platform","crud","full-stack","javascript","mongodb","nextauth","nextjs","prettier","radix-ui","react-quill","rich-text-editor","seo","shadcn-ui","tailwindcss","vercel"],"latest_commit_sha":null,"homepage":"","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/THEFZNKHAN.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-07-07T18:09:35.000Z","updated_at":"2025-07-07T20:20:30.000Z","dependencies_parsed_at":"2025-07-07T21:08:37.156Z","dependency_job_id":null,"html_url":"https://github.com/THEFZNKHAN/nextblog","commit_stats":null,"previous_names":["thefznkhan/nextblog"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/THEFZNKHAN/nextblog","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/THEFZNKHAN%2Fnextblog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/THEFZNKHAN%2Fnextblog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/THEFZNKHAN%2Fnextblog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/THEFZNKHAN%2Fnextblog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/THEFZNKHAN","download_url":"https://codeload.github.com/THEFZNKHAN/nextblog/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/THEFZNKHAN%2Fnextblog/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264363944,"owners_count":23596532,"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":["admin-dashboard","auth","blog-platform","crud","full-stack","javascript","mongodb","nextauth","nextjs","prettier","radix-ui","react-quill","rich-text-editor","seo","shadcn-ui","tailwindcss","vercel"],"created_at":"2025-07-08T23:19:08.508Z","updated_at":"2026-04-15T10:33:33.111Z","avatar_url":"https://github.com/THEFZNKHAN.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 NextBlog — Modern Blog Platform\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Next.js-14-black?style=for-the-badge\u0026logo=next.js\" alt=\"Next.js\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/React-18-blue?style=for-the-badge\u0026logo=react\" alt=\"React\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/MongoDB-Atlas-green?style=for-the-badge\u0026logo=mongodb\" alt=\"MongoDB\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Tailwind-CSS-38B2AC?style=for-the-badge\u0026logo=tailwind-css\" alt=\"Tailwind CSS\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Vercel-Deploy-black?style=for-the-badge\u0026logo=vercel\" alt=\"Vercel\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cb\u003eA clean, modern, and responsive blogging platform.\u003cbr\u003e\n  Built with Next.js 14, MongoDB Atlas, Tailwind CSS, and React-Quill.\u003c/b\u003e\n\u003c/p\u003e\n\n---\n\n## 🏠 Home Page\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./public/home.png\" alt=\"Home Page\" width=\"80%\" /\u003e\n\u003c/p\u003e\n\n---\n\n## 🛡️ Admin Dashboard\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./public/admin_dashboard.png\" alt=\"Admin Dashboard Page\" width=\"80%\" /\u003e\n\u003c/p\u003e\n\n---\n\n## 📝 Create Post\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./public/new_post.png\" alt=\"Create Post Page\" width=\"80%\" /\u003e\n\u003c/p\u003e\n\n---\n\n## 🔑 Admin Login\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./public/admin_login.png\" alt=\"Admin Login Page\" width=\"60%\" /\u003e\n\u003c/p\u003e\n\n---\n\n## 🔐 Quick Admin Access\n\n\u003e **Test Admin Account:**  \n\u003e **Email:** `admin@mail.com`  \n\u003e **Password:** `admin@123`\n\n---\n\n## ✨ Features\n\n- **🖼️ Beautiful UI:** Glassmorphism, smooth animations, mobile-first\n- **🔐 Secure Admin Auth:** NextAuth.js + bcrypt, JWT sessions\n- **✍️ Rich Content:** WYSIWYG editor, SEO-friendly slugs\n- **🗂️ Full CRUD:** Publish, update, delete posts (admin)\n- **⚡ SEO \u0026 Performance:** SSR, image optimization, dynamic meta tags\n- **👨‍💻 Dev Experience:** TypeScript, clean architecture, error handling\n\n---\n\n## 🚀 Quick Start\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eShow Setup Instructions\u003c/b\u003e\u003c/summary\u003e\n\n### Prerequisites\n\n- **Node.js** v18+\n- **MongoDB Atlas** (free-tier)\n- **Git**\n\n### 1. Clone \u0026 Install\n\n```bash\ngit clone https://github.com/thefznkhan/nextblog.git\ncd nextblog\nnpm install\n```\n\n### 2. Configure Environment\n\nCreate `.env.local`:\n\n```env\nMONGODB_URI=your-mongodb-connection-string\nNEXTAUTH_URL=http://localhost:3000\nNEXTAUTH_SECRET=your-32-byte-secret\nNEXT_PUBLIC_BASE_URL=http://localhost:3000\n```\n\n### 3. Start Development\n\n```bash\nnpm run dev\n```\n\nVisit [http://localhost:3000](http://localhost:3000)\n\n\u003c/details\u003e\n\n---\n\n## 🧩 Tech Stack\n\n| Tool             | Purpose                    |\n| ---------------- | -------------------------- |\n| **Next.js 14**   | Full-stack React framework |\n| **React 18**     | Frontend library           |\n| **MongoDB**      | Cloud database             |\n| **Mongoose**     | MongoDB ODM                |\n| **NextAuth.js**  | Authentication             |\n| **React-Quill**  | Rich text editing          |\n| **Tailwind CSS** | Styling                    |\n| **bcryptjs**     | Password hashing           |\n\n---\n\n## 📚 API Overview\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eShow API Endpoints\u003c/b\u003e\u003c/summary\u003e\n\n### Posts\n\n- `GET /api/posts` — List all posts\n- `POST /api/posts` — Create post (admin)\n- `GET /api/posts/[slug]` — Get single post\n- `PUT /api/posts/[slug]` — Update post (admin)\n- `DELETE /api/posts/[slug]` — Delete post (admin)\n\n### Admin\n\n- `GET /api/admin/setup` — Check if admin exists\n- `POST /api/admin/setup` — Create initial admin\n\n\u003c/details\u003e\n\n---\n\n## 🛠️ Configuration Tips\n\n- **MongoDB:** Whitelist your IP in Atlas\n- **NEXTAUTH_SECRET:** Must be consistent for sessions\n- **Tailwind:** Customize in `tailwind.config.js`\n\n---\n\n## 🆘 Troubleshooting\n\n- **MongoDB connection error:** Check `.env.local`, whitelist IP\n- **NextAuth JWT errors:** Ensure `NEXTAUTH_SECRET` is set, clear cookies\n- **Tailwind issues:** Run `rm -rf .next` and restart\n\n---\n\n## 🤝 Contribution Guide\n\n1. **Fork** the repo\n2. **Branch:** `git checkout -b feat/your-feature`\n3. **Develop \u0026 Test**\n4. **Lint/Test:** `npm run lint \u0026\u0026 npm test`\n5. **Pull Request**\n\n---\n\n## 📝 License \u0026 Credits\n\nThis project is **MIT licensed** — see [LICENSE](LICENSE).  \nThanks to the Next.js, MongoDB, Tailwind CSS, and React-Quill communities!\n\n---\n\n\u003cp align=\"center\"\u003e\n  Made with ❤️ by \u003ca href=\"https://github.com/thefznkhan\"\u003eTHEFZNKHAN\u003c/a\u003e.\u003cbr\u003e\n  If you enjoy this project, please \u003cb\u003e⭐ star\u003c/b\u003e on GitHub!\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthefznkhan%2Fnextblog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthefznkhan%2Fnextblog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthefznkhan%2Fnextblog/lists"}