{"id":40046626,"url":"https://github.com/lukacavic/vetlio","last_synced_at":"2026-01-19T05:35:53.439Z","repository":{"id":323357634,"uuid":"1092928762","full_name":"lukacavic/vetlio","owner":"lukacavic","description":"A modern, multi-tenant CRM for veterinary practices — scheduling clients \u0026 patients, invoicing, medical documents, offers, orders, and more.","archived":false,"fork":false,"pushed_at":"2025-11-17T12:11:41.000Z","size":4603,"stargazers_count":35,"open_issues_count":2,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-11-17T14:10:11.522Z","etag":null,"topics":["crm","filamentadmin","filamentphp","laravel","veterinary","veterinary-clinic"],"latest_commit_sha":null,"homepage":"","language":"PHP","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/lukacavic.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-09T15:31:22.000Z","updated_at":"2025-11-17T12:09:21.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/lukacavic/vetlio","commit_stats":null,"previous_names":["lukacavic/vetlio"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lukacavic/vetlio","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukacavic%2Fvetlio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukacavic%2Fvetlio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukacavic%2Fvetlio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukacavic%2Fvetlio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lukacavic","download_url":"https://codeload.github.com/lukacavic/vetlio/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukacavic%2Fvetlio/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28561881,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T03:31:16.861Z","status":"ssl_error","status_checked_at":"2026-01-19T03:31:15.069Z","response_time":67,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["crm","filamentadmin","filamentphp","laravel","veterinary","veterinary-clinic"],"created_at":"2026-01-19T05:35:53.330Z","updated_at":"2026-01-19T05:35:53.428Z","avatar_url":"https://github.com/lukacavic.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003c!-- LOGO PLACEHOLDER --\u003e\n  \u003cimg src=\"docs/assets/logo.png\" alt=\"Vetlio Logo\" height=\"64\" /\u003e\n\u003c/p\u003e\n\n# Vetlio\n\n[![Join the discussion](https://img.shields.io/badge/💬%20Join%20the%20Discussion-blue?style=flat-square)](../../discussions)\n[![GitHub issues](https://img.shields.io/github/issues/lukacavic/vetlio?style=flat-square)](../../issues)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/lukacavic/vetlio?style=flat-square)](../../pulls)\n[![License](https://img.shields.io/github/license/lukacavic/vetlio?style=flat-square)](LICENSE)\n[![GitHub stars](https://img.shields.io/github/stars/lukacavic/vetlio?style=flat-square)](../../stargazers)\n\nA modern, multi-tenant CRM for veterinary practices — scheduling clients \u0026 patients, invoicing, medical documents, offers, orders, and more. Built with **Laravel 12** and **Filament 4.1**.\n\n\u003e WARNING: **Alpha Stage** — not production ready. Expect breaking changes and incomplete features.\n\n\u003cp align=\"center\"\u003e\n  \u003c!-- SCREENSHOT PLACEHOLDERS --\u003e\n  \u003cimg src=\"docs/screenshots/login.png\" alt=\"Screenshot placeholder 1\" width=\"720\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003c!-- SCREENSHOT PLACEHOLDERS --\u003e\n  \u003cimg src=\"docs/screenshots/dashboard.png\" alt=\"Screenshot placeholder 1\" width=\"720\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003c!-- SCREENSHOT PLACEHOLDERS --\u003e\n  \u003cimg src=\"docs/screenshots/waiting-room.png\" alt=\"Screenshot placeholder 1\" width=\"720\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003c!-- SCREENSHOT PLACEHOLDERS --\u003e\n  \u003cimg src=\"docs/screenshots/email-templates.png\" alt=\"Screenshot placeholder 1\" width=\"720\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003c!-- SCREENSHOT PLACEHOLDERS --\u003e\n  \u003cimg src=\"docs/screenshots/edit-service.png\" alt=\"Screenshot placeholder 1\" width=\"720\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003c!-- SCREENSHOT PLACEHOLDERS --\u003e\n  \u003cimg src=\"docs/screenshots/invoice-form.png\" alt=\"Screenshot placeholder 1\" width=\"720\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003c!-- SCREENSHOT PLACEHOLDERS --\u003e\n  \u003cimg src=\"docs/screenshots/invoice-view.png\" alt=\"Screenshot placeholder 1\" width=\"720\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003c!-- SCREENSHOT PLACEHOLDERS --\u003e\n  \u003cimg src=\"docs/screenshots/arrival-confirmation.png\" alt=\"Screenshot placeholder 1\" width=\"720\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003c!-- SCREENSHOT PLACEHOLDERS --\u003e\n  \u003cimg src=\"docs/screenshots/portal.png\" alt=\"Screenshot placeholder 1\" width=\"720\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003c!-- SCREENSHOT PLACEHOLDERS --\u003e\n  \u003cimg src=\"docs/screenshots/portal-appointment-request.png\" alt=\"Screenshot placeholder 1\" width=\"720\" /\u003e\n\u003c/p\u003e\n\n---\n\n## Features\n\n* Appointments: clients \u0026 patients, slot availability, reminders\n* Billing: invoices, items, taxes, payments\n* Medical docs: findings, attachments, print/PDF\n* Multi‑tenancy (SaaS)\n* Role \u0026 permission model (per user / per location)\n* Search, filters, exports, PDF prints\n\n## Tech Stack\n\n* **Laravel 12**, PHP 8.3+\n* **Filament 4.1** (panels, resources, actions)\n* MySQL/MariaDB, Redis (cache/queue)\n* Pest for tests\n* Docker/Sail (optional)\n\n---\n\n## Quick Start\n\n### Prerequisites\n\n* PHP 8.3+, Composer\n* Node 20+, PNPM/NPM\n* MySQL 8+ (or MariaDB 10.6+), Redis\n* (Optional) Docker \u0026 Docker Compose\n\n### 1) Clone \u0026 install\n\n```bash\ngit clone https://github.com/lukacavic/vetlio.git\ncd vetlio\n\ncomposer install\ncp .env.example .env\nphp artisan key:generate\n```\n\n### 2) Configure `.env`\n\n```env\nAPP_NAME=Vetlio\nAPP_ENV=local\nAPP_KEY=\nAPP_DEBUG=true\nAPP_URL=https://vetlio.test\n\nAPP_LOCALE=en\nAPP_FALLBACK_LOCALE=en\nAPP_FAKER_LOCALE=en_US\n\nAPP_MAINTENANCE_DRIVER=file\n# APP_MAINTENANCE_STORE=database\n\n# PHP_CLI_SERVER_WORKERS=4\n\nBCRYPT_ROUNDS=12\n\nLOG_CHANNEL=stack\nLOG_STACK=single\nLOG_DEPRECATIONS_CHANNEL=null\nLOG_LEVEL=debug\n\nDB_CONNECTION=mysql\nDB_HOST=127.0.0.1\nDB_PORT=3306\nDB_DATABASE=vetlio\nDB_USERNAME=root\nDB_PASSWORD=\n\nSESSION_DRIVER=database\nSESSION_LIFETIME=120\nSESSION_ENCRYPT=false\nSESSION_PATH=/\nSESSION_DOMAIN=null\n\nBROADCAST_CONNECTION=log\nFILESYSTEM_DISK=local\nQUEUE_CONNECTION=database\n\nCACHE_STORE=database\n# CACHE_PREFIX=\n\nMEMCACHED_HOST=127.0.0.1\n\nREDIS_CLIENT=phpredis\nREDIS_HOST=127.0.0.1\nREDIS_PASSWORD=null\nREDIS_PORT=6379\n\nMAIL_MAILER=log\nMAIL_SCHEME=null\nMAIL_HOST=127.0.0.1\nMAIL_PORT=2525\nMAIL_USERNAME=null\nMAIL_PASSWORD=null\nMAIL_FROM_ADDRESS=\"hello@vetlio.com\"\nMAIL_FROM_NAME=\"${APP_NAME}\"\n\nAWS_ACCESS_KEY_ID=\nAWS_SECRET_ACCESS_KEY=\nAWS_DEFAULT_REGION=us-east-1\nAWS_BUCKET=\nAWS_USE_PATH_STYLE_ENDPOINT=false\n\nVITE_APP_NAME=\"${APP_NAME}\"\n\n\n```\n\n### 3) Database \u0026 storage\n\n```bash\nphp artisan migrate --seed\nphp artisan storage:link\n```\n\n### 4) Assets \u0026 dev server\n\n```bash\nnpm install\nnpm run build\n```\n\n### 5) Run app\n\n1. Create subdomain `org1.vetlio.test` in your hosts file.\n2. Navigate to https://org1.vetlio.test/app/login\n3. Login with email `admin@org1.com` and password `password`\n---\n\n### 6) Login to admin panel\n\n1. Navigate to https://org1.vetlio.test/admin/login\n2. Login with email `admin@admin.com` and password `admin`\n\n### 7) Login to portal\n1. Navigate to https://org1.vetlio.test/portal/login\n2. Find `client email`  from database for email and for password use `portal`\n\n## Community \u0026 Feedback\n\nAll updates about new features, improvements, and upcoming changes are shared in the [Announcements](../../discussions/categories/announcements) section.\n\nIf you have ideas or suggestions for what you’d like to see next in Vetlio, you can post them in the [Ideas \u0026 Feedback](../../discussions/categories/ideas) section.  \nEvery idea helps shape the direction of Vetlio and shows where the most interest is coming from.\n\nVetlio is still in its early stages, and your input is incredibly valuable — feel free to join the discussions, share your thoughts, or comment on ideas from others.\n\n## Contributing\n\n1. Fork \u0026 create a feature branch\n2. Run tests and static analysis\n3. Open a PR with a clear description \u0026 screenshots (if UI)\n\nCode style: `vendor/bin/pint` · Static analysis: `vendor/bin/phpstan analyse`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukacavic%2Fvetlio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flukacavic%2Fvetlio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukacavic%2Fvetlio/lists"}