{"id":30641144,"url":"https://github.com/michelbr84/cat","last_synced_at":"2025-08-31T01:39:26.031Z","repository":{"id":310131103,"uuid":"1038371676","full_name":"michelbr84/cat","owner":"michelbr84","description":"Google-style, multilingual UI to search, fetch, and customize cat images via the CATAAS API. Supports tags, GIFs, text overlays, filters (blur/mono/negate/custom), HSL/RGB tweaks, size and dimension controls, and an 'I'm Feeling Lucky' option with automatic random-cat fallback.","archived":false,"fork":false,"pushed_at":"2025-08-16T03:39:29.000Z","size":343,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-31T01:39:21.967Z","etag":null,"topics":["cat-api","cat-gifs","cat-images","cataas","cats","frontend","i18n","image-api","image-processing","lucide-react","multilingual","playwright","react","shadcn","spa","tailwindcss","text-overlay","typescript","vite","webapp"],"latest_commit_sha":null,"homepage":"https://cat-google-translate.lovable.app/","language":"TypeScript","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/michelbr84.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-08-15T04:33:38.000Z","updated_at":"2025-08-16T05:01:20.000Z","dependencies_parsed_at":"2025-08-16T00:28:40.535Z","dependency_job_id":"7ad7463a-5926-4e4d-a08b-6df85f9a618a","html_url":"https://github.com/michelbr84/cat","commit_stats":null,"previous_names":["michelbr84/cat-google-translate","michelbr84/cat"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/michelbr84/cat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michelbr84%2Fcat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michelbr84%2Fcat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michelbr84%2Fcat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michelbr84%2Fcat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michelbr84","download_url":"https://codeload.github.com/michelbr84/cat/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michelbr84%2Fcat/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272930000,"owners_count":25017057,"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-08-30T02:00:09.474Z","response_time":77,"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":["cat-api","cat-gifs","cat-images","cataas","cats","frontend","i18n","image-api","image-processing","lucide-react","multilingual","playwright","react","shadcn","spa","tailwindcss","text-overlay","typescript","vite","webapp"],"created_at":"2025-08-31T01:39:23.871Z","updated_at":"2025-08-31T01:39:26.024Z","avatar_url":"https://github.com/michelbr84.png","language":"TypeScript","readme":"\u003ch1 align=\"center\"\u003eCat Google Translate\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./public/catintro.png\" alt=\"Cat Google Translate hero\" width=\"960\" /\u003e\n\u003c/p\u003e\n\nGoogle-like interface to search and generate cat images using the CATAAS (Cat as a Service) API, with multi-language support and advanced options.\n\nAPI links:\n- Site: [cataas.com](https://cataas.com/)\n- Docs: [cataas.com/doc.html](https://cataas.com/doc.html)\n\n## Run locally\n\nRequirements: Node.js 18+ and npm.\n\n```sh\ngit clone https://github.com/michelbr84/cat-google-translate.git\ncd cat-google-translate\nnpm ci\nnpm run dev\n# Open the URL printed in the terminal (e.g., http://localhost:8080/)\n```\n\n## Scripts\n\n- `npm run dev`: start Vite dev server\n- `npm run build`: production build\n- `npm run preview`: preview the production build\n- `npm run lint`: run linter\n\n## Features\n\n- Global language selector (pt, en, es, fr, de, it, ja, zh, ru, ar)\n- The “Gato” logo word changes language independently on click (does not alter the global language)\n- Search bar with “Search Cat” and “I'm Feeling Lucky”\n- Advanced options (collapsible):\n  - Image type: `type` (xsmall, small, medium, square)\n  - Filters: `filter` (blur, mono, negate, custom)\n  - Custom HSL: `brightness`, `lightness`, `saturation`, `hue`\n  - RGB adjustments: `r`, `g`, `b`\n  - Dimensions: `width`, `height`\n  - Text on image: `says/:text` (with `fontSize` and `fontColor`)\n- Automatic fallback: on load failure, fetch a random cat (`/cat`)\n\n## CATAAS endpoint examples\n\n- Random: `/cat`\n- By tag: `/cat/:tag`\n- GIF: `/cat/gif`\n- With text: `/cat/says/Hello`\n- Combo (from docs): `/cat/gif/says/Hello?filter=mono\u0026fontColor=orange\u0026fontSize=20\u0026type=square`\n\n## Known limitations\n\n- `fontColor` on `/cat/says/:text` currently seems inconsistent and often renders only black/white. Even when sending named colors (e.g., `red`, `orange`) or normalized hex (e.g., `#ff0000` → `red`), the text may still appear black. In our tests, `white` is more reliable. This is an upstream CATAAS behavior and is tracked in `TODO.md`.\n - On development, you may see warnings from browser extensions in the console. We filter some known noisy messages in dev; they do not affect the app.\n\n## Tech stack\n\n- Vite + React + TypeScript\n- Tailwind CSS + shadcn/ui\n- lucide-react, sonner\n\n## Acknowledgements\n\n## Deploy\n\nYou can deploy to any static host that serves the `dist/` folder. Common options:\n\n- Vercel / Netlify: set build command `npm run build` and publish directory `dist/`.\n- Static server: `npx serve dist`.\n\n- Image API: [CATAAS](https://cataas.com/)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichelbr84%2Fcat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichelbr84%2Fcat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichelbr84%2Fcat/lists"}