{"id":50557549,"url":"https://github.com/art70x/json-builder","last_synced_at":"2026-06-04T08:30:52.752Z","repository":{"id":343164119,"uuid":"1175971834","full_name":"art70x/json-builder","owner":"art70x","description":"Visually construct JSON objects and arrays with typed properties. Live preview, drag-to-reorder, import/export, and save named datasets.","archived":false,"fork":false,"pushed_at":"2026-03-09T06:51:51.000Z","size":365,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-09T11:27:21.878Z","etag":null,"topics":["art70x","builder","json","pwa","pwa-app","react","shadcn","tailwindcss","vite"],"latest_commit_sha":null,"homepage":"https://json-b.vercel.app","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/art70x.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/contributing.md","funding":null,"license":"LICENSE","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-08T12:47:55.000Z","updated_at":"2026-03-09T06:58:27.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/art70x/json-builder","commit_stats":null,"previous_names":["art70x/json-builder"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/art70x/json-builder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/art70x%2Fjson-builder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/art70x%2Fjson-builder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/art70x%2Fjson-builder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/art70x%2Fjson-builder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/art70x","download_url":"https://codeload.github.com/art70x/json-builder/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/art70x%2Fjson-builder/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33897568,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-04T02:00:06.755Z","response_time":64,"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":["art70x","builder","json","pwa","pwa-app","react","shadcn","tailwindcss","vite"],"created_at":"2026-06-04T08:30:52.020Z","updated_at":"2026-06-04T08:30:52.747Z","avatar_url":"https://github.com/art70x.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JSON Builder — Visual JSON Editor \u0026 Exporter\n\n[![MIT License](https://img.shields.io/badge/License-MIT-green.svg)](https://github.com/art70x/json-builder/blob/main/LICENSE)\n\n\u003e Build, edit, and export JSON objects visually with typed properties, nested support, live preview, and drag-to-reorder—all in your browser.\n\n🌐 **Try it live:** [https://json-b.vercel.app](https://json-b.vercel.app)\n\n---\n\n## 🚀 Key Features\n\n**Core Features**\n\n- **Typed Property Editor**: Add properties as `string`, `number`, `boolean`, or `array`. Booleans toggle true/false; arrays auto-detect element types.\n- **Nested JSON Support**: Easily create objects within objects or arrays within arrays.\n- **Live Preview**: Syntax-highlighted, line-numbered JSON with compact or pretty-print toggle.\n- **Drag-to-Reorder**: Rearrange objects and arrays visually using drag handles.\n- **Import \u0026 Export**: Upload JSON files and export timestamped JSON with all values coerced to their types.\n- **Save \u0026 Load Datasets**: Store named datasets locally using IndexedDB—no server required.\n\n**Advanced Features**\n\n- **Privacy-First**: 100% client-side; your JSON never leaves your browser.\n- **Keyboard Shortcuts**: Quick actions for export, save, and import.\n- **Responsive UI**: Side-by-side editor + preview on desktop, tab-based layout on mobile.\n- **PWA Support**: Installable and works offline.\n\n---\n\n## 🛠️ Technology Stack\n\n- **Framework**: React 19 + TypeScript\n- **Styling**: Tailwind CSS v4 + shadcn/ui (Radix UI primitives)\n- **Icons**: Lucide React\n- **Async State**: TanStack Query v5\n- **Local Persistence**: IndexedDB via `idb`\n- **Build Tool**: Vite 8\n- **Code Quality**: ESLint + Prettier\n\n---\n\n## ⚡ Quick Start\n\n### Prerequisites\n\n- Node.js 20+\n- pnpm 7+ (install with `npm i -g pnpm` if needed)\n\n### Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/art70x/json-builder.git\n\n# Navigate to the project folder\ncd json-builder\n\n# Install dependencies\npnpm install\n\n# Start the development server\npnpm dev\n```\n\nThe app will run at: [http://localhost:3000](http://localhost:3000)\n\n### Build for Production\n\n```bash\n# Build production version\npnpm build\n\n# Preview production build\npnpm preview\n```\n\n---\n\n## ⌨️ Keyboard Shortcuts\n\n| Shortcut         | Action               |\n| ---------------- | -------------------- |\n| `Ctrl / Cmd + E` | Export JSON to file  |\n| `Ctrl / Cmd + S` | Save current dataset |\n| `Ctrl / Cmd + I` | Import a JSON file   |\n\n---\n\n## 🤝 Contributing\n\nWe welcome contributions! Open issues, suggest features, or submit pull requests. See [CONTRIBUTING.md](https://github.com/art70x/json-builder/blob/main/CONTRIBUTING.md) for detailed guidelines.\n\n---\n\n## 🙏 Acknowledgments\n\n- [shadcn/ui](https://ui.shadcn.com/) - Accessible and customizable Vue component library.\n- [idb](https://github.com/jakearchibald/idb) - Lightweight promise-based IndexedDB wrapper used for client-side dataset persistence.\n- [TanStack Query](https://tanstack.com/query) - Manages async state and cache invalidation for the local dataset layer.\n- [Lucide React](https://lucide.dev/) - Consistent, lightweight icon set used throughout the interface.\n- [Vuetrix](https://github.com/art70x/Vuetrix) - Inspired the project's architecture, CI workflow, formatting standards, and Vite configuration.\n- [Caffeine](https://caffeine.ai/) - Used to build the first version of the app.\n\n---\n\n\u003cp align=\"center\"\u003e\n  Made with ❤️ for the web development community\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fart70x%2Fjson-builder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fart70x%2Fjson-builder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fart70x%2Fjson-builder/lists"}