{"id":30275490,"url":"https://github.com/coderooz/blog-version-control-system","last_synced_at":"2025-10-10T22:46:44.763Z","repository":{"id":309486985,"uuid":"1005680031","full_name":"coderooz/Blog-Version-Control-System","owner":"coderooz","description":"A modern full-stack blog editing platform built with Next.js 15, TypeScript, MongoDB, and TipTap rich text editor. It features version control, allowing users to track, compare, and restore changes in blog posts — similar to Git for content writing.","archived":false,"fork":false,"pushed_at":"2025-08-22T15:28:40.000Z","size":104,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-22T17:51:42.228Z","etag":null,"topics":["blog","nextjs","tailwindcss","version-control"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coderooz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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-06-20T16:14:12.000Z","updated_at":"2025-08-22T15:28:43.000Z","dependencies_parsed_at":"2025-08-12T07:21:02.605Z","dependency_job_id":"c70baca1-e6bc-4e24-9e75-05c90d7c37ea","html_url":"https://github.com/coderooz/Blog-Version-Control-System","commit_stats":null,"previous_names":["coderooz/blog-version-control-system"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/coderooz/Blog-Version-Control-System","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderooz%2FBlog-Version-Control-System","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderooz%2FBlog-Version-Control-System/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderooz%2FBlog-Version-Control-System/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderooz%2FBlog-Version-Control-System/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coderooz","download_url":"https://codeload.github.com/coderooz/Blog-Version-Control-System/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderooz%2FBlog-Version-Control-System/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279005462,"owners_count":26083902,"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-10-10T02:00:06.843Z","response_time":62,"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":["blog","nextjs","tailwindcss","version-control"],"created_at":"2025-08-16T09:39:22.633Z","updated_at":"2025-10-10T22:46:44.757Z","avatar_url":"https://github.com/coderooz.png","language":"TypeScript","readme":"# Blog Version Control System (Blog VCS)\n\n**Version**: V1 — scalable foundation for rich blog versioning.\n\n## Stack\n\n- Next.js 15 (App Router)\n- TypeScript\n- Tailwind CSS 4+\n- TipTap (rich text editor)\n- MongoDB + Mongoose\n- `diff-match-patch` for diffing versions\n- Optional: Shadcn UI components, Zustand for state management\n\n---\n\n## Directory Structure\n\n```\n\nblog-vcs/\n├── app/\n│   ├── layout.tsx         ← Root layout \u0026 navigation\n│   ├── page.tsx           ← Redirects to editor\n│   ├── editor/page.tsx    ← Blog editing UI\n│   ├── versions/page.tsx  ← Version list \u0026 preview\n│   ├── compare/page.tsx   ← Version comparison UI\n│   └── api/               ← CRUD APIs for versions\n├── components/blocks/     ← Reusable UI components\n│   ├── Editor.tsx\n│   ├── VersionList.tsx\n│   ├── DiffViewer.tsx\n│   └── Notification.tsx\n├── lib/                   ← App business logic\n│   ├── db.ts\n│   └── versionControl.ts\n├── models/                ← Mongoose schemas\n│   ├── BlogPost.ts\n│   └── Version.ts\n├── styles/                ← Global CSS\n│   └── globals.css\n├── next.config.js\n├── postcss.config.cjs\n├── package.json\n└── README.md\n\n````\n\n---\n\n## Getting Started\n\n1. **Clone**\n\n   ```bash\n   git clone https://github.com/coderooz/Blog-Version-Control-System.git\n   cd Blog-Version-Control-System\n````\n\n2. **Install**\n\n   ```bash\n   npm install\n   ```\n\n3. **Configure Environment**\n\n   Create a `.env.local` file with:\n\n   ```\n   MONGODB_URI=your_mongodb_connection_string\n   NEXT_PUBLIC_APP_URL=http://localhost:3000\n   ```\n\n4. **Run in Development**\n\n   ```bash\n   npm run dev\n   ```\n\n   Visit [http://localhost:3000/editor](http://localhost:3000/editor) to start editing.\n\n---\n\n## Features (V1)\n\n* Rich text editing with TipTap.\n* Version saving (creates a snapshot on save).\n* Version listing, preview, and timestamp.\n* Version diffing using `diff-match-patch`.\n* Reverting—restores content and creates a new version.\n* Clean UI with Tailwind CSS; ready for Shadcn UI enhancements.\n\n---\n\n## Future roadmap (beyond V1)\n\n* **V2**: Authentication (e.g., NextAuth.js), multi-user, permissions.\n* **V3**: Markdown support + side-by-side diff view.\n* **V4**: UI polish with Shadcn UI components, mobile responsiveness.\n* **V5**: CI/CD, testing (unit + integration), code quality tools.\n\n---\n\n## Contributing\n\nContributions, issues, and feature requests are welcome! Let’s make Blog VCS even better together.\n\n---\n\n## License\n\nMIT License\n\n---","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoderooz%2Fblog-version-control-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoderooz%2Fblog-version-control-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoderooz%2Fblog-version-control-system/lists"}