{"id":16790200,"url":"https://github.com/xavimondev/vdbs","last_synced_at":"2025-05-09T01:45:46.028Z","repository":{"id":235056505,"uuid":"788582882","full_name":"xavimondev/vdbs","owner":"xavimondev","description":"Convert your database diagrams into SQL Schema","archived":false,"fork":false,"pushed_at":"2025-05-08T02:48:15.000Z","size":730,"stargazers_count":53,"open_issues_count":1,"forks_count":8,"subscribers_count":2,"default_branch":"hackathon","last_synced_at":"2025-05-09T01:45:37.447Z","etag":null,"topics":["cli","hackaton-supabase","nextjs","openai","shadcn-ui","supabase","tailwindcss","typescript","vision-api"],"latest_commit_sha":null,"homepage":"https://snap2sql.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/xavimondev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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}},"created_at":"2024-04-18T17:40:17.000Z","updated_at":"2025-05-08T02:33:51.000Z","dependencies_parsed_at":"2024-06-25T01:26:39.877Z","dependency_job_id":"966ec8ef-f6ee-4d56-95d8-63931df31903","html_url":"https://github.com/xavimondev/vdbs","commit_stats":null,"previous_names":["xavimondev/vdbs"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xavimondev%2Fvdbs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xavimondev%2Fvdbs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xavimondev%2Fvdbs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xavimondev%2Fvdbs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xavimondev","download_url":"https://codeload.github.com/xavimondev/vdbs/tar.gz/refs/heads/hackathon","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253176444,"owners_count":21866142,"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":["cli","hackaton-supabase","nextjs","openai","shadcn-ui","supabase","tailwindcss","typescript","vision-api"],"created_at":"2024-10-13T08:29:12.635Z","updated_at":"2025-05-09T01:45:45.737Z","avatar_url":"https://github.com/xavimondev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://x.com/xavimonp/status/1785862861836709980\" target=\"_blank\"\u003e\n    \u003cimg src='https://vdbs.vercel.app/medal.png' width=\"20%\" alt=\"Medal image\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://x.com/xavimonp/status/1785862861836709980\" target=\"_blank\"\u003e\n    \u003cp\u003e Supabase Open Source Hackathon 2024 Winner 🤩\u003c/p\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n## Table of Contents\n\n- [Introduction](#introduction)\n\n- [Requirements](#requirements)\n\n- [Stack](#stack)\n\n- [Setting Up](#setting-up)\n\n- [Run Locally](#run-locally)\n\n- [Contributors](#contributors)\n\n- [License](#license)\n\n- [Troubleshooting](#troubleshooting)\n\n## Introduction\n\nvdbs stands for **\"vision database sql\"** This project allows you to convert your database diagrams into SQL Schema using the capabilities of [Vision API](https://platform.openai.com/docs/guides/vision). Once your SQL code is ready, you have three integration options for your Supabase projects:\n\n1. Simply copy and paste the SQL schema into your Supabase dashboard.\n\n2. Copy the npm command generated after your SQL schema is ready and paste it into your app. This creates a migration file containing the SQL schema.\n\n3. Use your database connection string, and the SQL schema will be deployed to your remote Supabase project.\n\nvdbs is inspired by [v0.dev from Vercel](https://v0.dev/), which allows you to generate UI based on images or your ideas. You can copy the code or use the npm command and integrate the generated code into your project.\n\n## Requirements\n\n- Node \u003e= 18\n- pnpm \u003e 8\n\n## Stack\n\n### web\n\n- [next](https://www.npmjs.com/package/next): A framework for server-rendered React applications.\n- [shadcn/ui](https://ui.shadcn.com/): Provides beautifully designed components for UI.\n- [monaco-editor/react](https://www.npmjs.com/package/monaco-editor): A Monaco Editor wrapper for React applications.\n- [zustand](https://www.npmjs.com/package/zustand): A small, fast, and scalable state management library for React.\n- [typescript](https://www.npmjs.com/package/typescript): A typed superset of JavaScript that compiles to plain JavaScript.\n\n### Cli\n\n- [tsup](https://github.com/egoist/tsup): A TypeScript-focused module bundler.\n- [chalk](https://github.com/chalk/chalk): Chalk is a library for styling terminal text with color and formatting options, making console output more visually appealing and readable.\n- [commander](https://github.com/tj/commander.js/): Commander is a feature-rich library for creating command-line interfaces (CLIs) in Node.js.\n- [execa](https://github.com/sindresorhus/execa): Execa is a package that simplifies running external commands in Node.js, providing a more straightforward and powerful interface than Node.js' built-in child_process module.\n- [glob](https://github.com/isaacs/node-glob): Glob is a package used for pattern matching files and directories, enabling developers to easily find and work with sets of file paths using wildcard characters.\n- [ora](https://github.com/sindresorhus/ora): Ora is a library that creates elegant terminal spinners and loading indicators.\n- [prompts](https://github.com/terkelg/prompts): Prompts is a user-friendly library for creating interactive command-line prompts, allowing developers to easily gather user input in a structured and customizable way. Prompts Repository\n\n## Setting Up\n\n### OPENAI_API_TOKEN\n\n- Go to the [OpenAI web](https://openai.com/).\n- Sign in to your account or create a new one.\n- Navigate to your [API settings](https://platform.openai.com/account/api-keys).\n- Generate an Secret key.\n- Copy the generated Secret key.\n\n### UPSTASH_REDIS_REST_URL - UPSTASH_REDIS_REST_TOKEN\n\n- Go to the Uptash [console](https://console.upstash.com/).\n- Sign in to your account or create a new one.\n- Navigate to your database.\n- Copy the generated keys.\n\n## Run Locally\n\n1.Clone the vdbs repository:\n\n```sh\ngit clone https://github.com/xavimondev/vdbs\n```\n\n2.Install the dependencies:\n\n```bash\npnpm install\n```\n\n3.Start the development:\n\n```bash\npnpm dev\n```\n\n## Contributors\n\n\u003ca href=\"https://github.com/xavimondev/vdbs/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=xavimondev/vdbs\" /\u003e\n\u003c/a\u003e\n\n## License\n\n[**MIT**](https://github.com/xavimondev/vdbs/blob/main/LICENSE).\n\n## Troubleshooting\n\n### Using Bun: Could not determine executable to run for package supabase\n\nUpgrade bun's version\n\n```bash\nbun upgrade\n```\n\nMore details: **https://twitter.com/bunjavascript/status/1734470860755566815**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxavimondev%2Fvdbs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxavimondev%2Fvdbs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxavimondev%2Fvdbs/lists"}