{"id":15715632,"url":"https://github.com/elfakiri2023/sketch2life","last_synced_at":"2026-02-01T01:05:00.676Z","repository":{"id":252460666,"uuid":"840511703","full_name":"elfakiri2023/sketch2life","owner":"elfakiri2023","description":"Turn your hand-drawn sketches into stunning, realistic images in just moments using AI","archived":false,"fork":false,"pushed_at":"2024-08-18T02:06:09.000Z","size":910,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-11T20:50:57.367Z","etag":null,"topics":["cloudflare","cloudflare-pages","d1","drizzle-orm","r2","sveltekit","tailwindcss"],"latest_commit_sha":null,"homepage":"https://sketch2life.pages.dev/","language":"Svelte","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/elfakiri2023.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-09T22:06:40.000Z","updated_at":"2025-05-22T07:10:07.000Z","dependencies_parsed_at":"2024-08-09T23:26:43.886Z","dependency_job_id":"061dc6e7-98a0-4c92-b43f-77263167ca4a","html_url":"https://github.com/elfakiri2023/sketch2life","commit_stats":null,"previous_names":["elfakiri2023/sketch2life"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/elfakiri2023/sketch2life","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elfakiri2023%2Fsketch2life","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elfakiri2023%2Fsketch2life/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elfakiri2023%2Fsketch2life/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elfakiri2023%2Fsketch2life/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elfakiri2023","download_url":"https://codeload.github.com/elfakiri2023/sketch2life/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elfakiri2023%2Fsketch2life/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28963203,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T00:42:38.011Z","status":"ssl_error","status_checked_at":"2026-02-01T00:42:35.920Z","response_time":128,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["cloudflare","cloudflare-pages","d1","drizzle-orm","r2","sveltekit","tailwindcss"],"created_at":"2024-10-03T21:42:12.918Z","updated_at":"2026-02-01T01:05:00.662Z","avatar_url":"https://github.com/elfakiri2023.png","language":"Svelte","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sketch 2 Live\n\nTurn your hand-drawn sketches into stunning, realistic images in just moments using AI\n\n## Technologies used:\n\n-   Framework: [Sveltekit](https://github.com/sveltejs/kit)\n-   UI: [Skeleton](https://github.com/skeletonlabs/skeleton) \u0026 [Tailwind Css](https://github.com/tailwindlabs/tailwindcss)\n-   Database: [Cloudflare D1](https://developers.cloudflare.com/d1)\n-   Storage: [Cloudflare R2](https://developers.cloudflare.com/r2)\n-   Hosting: [Cloudflare Pages](https://pages.cloudflare.com)\n-   Canvas: [Konva](https://github.com/konvajs/konva)\n-   CLI: [Wrangler](https://github.com/cloudflare/workers-sdk)\n-   Authentication: [Lucia](https://github.com/lucia-auth/lucia)\n-   ORM: [Drizzle](https://github.com/drizzle-team/drizzle-or)\n-   Data validation: [Zod](https://github.com/colinhacks/zod)\n-   Captcha: [Turnstile](https://www.cloudflare.com/products/turnstile)\n-   Tests: [Playwright](https://github.com/microsoft/playwright)\n\n## AI Models used:\n\n-   Image to Text: [llava-1.5-7b-hf](https://huggingface.co/llava-hf/llava-1.5-7b-hf)\n-   Text Generation: [Meta-Llama-3.1-8B-Instruct](https://huggingface.co/meta-llama/Meta-Llama-3.1-8B-Instruct)\n-   Text to Image: [Stable-diffusion-xl-base-1.0](https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0)\n\n## Getting Started\n\n### 1. Clone the Repository\n\n```bash\ngit clone https://github.com/elfakiri2023/sketch2life.git\ncd sketch2life\n```\n\n### 2. Install Dependencies\n\n```bash\nnpm install\n```\n\n### 3. Configure Cloudflare\n\n-   **Login**:\n\n    ```bash\n    wrangler login\n    ```\n\n    \u003e Follow the prompts to log in to your Cloudflare account.\n\n-   **Create Project**\n\n    ```bash\n    wrangler pages project create sketch2life\n    ```\n\n    \u003e You can create a project via the Cloudflare dashboard or using the CLI.\n\n-   **Create Database**:\n\n    ```bash\n    wrangler d1 create sketch2life-db\n    ```\n\n    \u003e You can create a database via the Cloudflare dashboard or using the CLI.\n\n-   **Create R2 Bucket**:\n    ```bash\n    wrangler r2 bucket create sketch2life-bucket\n    ```\n    \u003e You can create a bucket via the Cloudflare dashboard or using the CLI.\n\n### 4. Configure Wrangler\n\n-   Copy `wrangler.toml.example` to `wrangler.toml` and update it with your database name, ID, and R2 bucket name.\n\n### 5. Generate Turnstile Keys\n\n-   Navigate to **Turnstile** section in your Cloudflare dashboard. Add your site and obtain the Site Key and Secret Key provided.\n\n### 6. Configure Environment Variables\n\nModify the environment variables by copying `.env.example` to `.env` and updating it with necessary details\n\n-   **TURNSTILE_SECRET_KEY** Turnstile secret key\n-   **PUBLIC_TURNSTILE_SITE_KEY** Turnstile site key\n-   **PUBLIC_BUCKET_URL** The Bucket url used for displaying saved images (either a custom domain or the one provided with Cloudflare R2).\n-   **CLOUDFLARE_ACCOUNT_ID** Go to Workers \u0026 Pages -\u003e Overview -\u003e copy Account ID from the right sidebar.\n-   **CLOUDFLARE_DATABASE_ID** Open D1 database you want to connect to and copy Database ID.\n-   **CLOUDFLARE_D1_TOKEN** Go to My profile -\u003e API Tokens and create token with D1 edit permissions.\n\n### 7. Setup the Database\n\nrun\n\n```bash\nnpm run db:gen\n```\n\nthen run\n\n```bash\nnpm run db:mig:local\n```\n\nand to view and edit the Database in your browser using [Drizzle Studio](https://orm.drizzle.team/drizzle-studio/overview), run\n\n```bash\ndb:studio:dev\n```\n\n### 7. Local Development\n\nTo bind the D1 database and R2 bucket locally, run:\n\n```bash\nnpm run proxy\n```\n\nIn another command line window, run:\n\n```bash\nnpm run dev\n```\n\n### 8. Deployment\n\nFor database migration to production, run\n\n```bash\ndb:mig:prod\n```\n\nThen, deploy your project by running\n\n```bash\nnpm run deploy\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felfakiri2023%2Fsketch2life","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felfakiri2023%2Fsketch2life","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felfakiri2023%2Fsketch2life/lists"}