Commit Graph

  • 9bff63bf5b fix: increase health check interval to improve reliability hamed 2026-06-29 17:19:50 +03:30
  • 60a62489d5 feat: add health check configuration to Liara deployment hamed 2026-06-29 17:07:06 +03:30
  • a3dcb92669 fix: update application name and paths in Liara configuration hamed 2026-06-29 17:03:26 +03:30
  • b4273cfa8b feat(deploy): configure deployment for ClinicPro on Liara PHP platform hamed 2026-06-29 16:11:54 +03:30
  • efee966efb feat(deploy): add deployment configuration for Liara with Docker and Supervisor hamed 2026-06-29 15:03:30 +03:30
  • 75dcf0d2a8 refactor: remove create_test_users.php script to streamline user creation process hamed 2026-06-28 23:02:17 +03:30
  • 6084dc5d6b feat: add comprehensive tests for UI components, hooks, and API interactions hamed 2026-06-28 22:58:15 +03:30
  • 439bb0868e Add SVG for Open Graph image featuring brand and service details hamed 2026-06-28 22:34:28 +03:30
  • 1bf9035f5f feat(seo): add SEO controller for robots.txt and sitemap.xml hamed 2026-06-28 22:28:07 +03:30
  • 89451e8d3b fix(home): hide download links and update section titles for better UX hamed 2026-06-28 22:18:01 +03:30
  • a153bded9b Add AST JSON representation for insurance API documentation hamed 2026-06-28 22:13:12 +03:30
  • 8705b88270 fix(auth): update refresh token behavior to be reusable within TTL and add tests for token functionality hamed 2026-06-28 21:57:42 +03:30
  • c2b47d6396 delete(tests): remove RefreshTokenRotationTest as it is no longer needed hamed 2026-06-28 21:52:52 +03:30
  • 2f3f25f48e fix(admin): paginate claims & settlement lists for backend-audit 50-cap hamedandClaude Opus 4.8 2026-06-28 21:49:44 +03:30
  • 2764e68e60 ci: phpstan baseline + GitHub Actions workflow (E5, E4) hamedandClaude Opus 4.8 2026-06-28 21:25:09 +03:30
  • 66ab597efd fix(audit): low-tier — session patient-gate + 201 statuses (L1, L11) + triage hamedandClaude Opus 4.8 2026-06-28 21:21:03 +03:30
  • b1aaaf3d55 fix(db): purge service-item config rows on delete (M20) hamedandClaude Opus 4.8 2026-06-28 21:17:30 +03:30
  • 4b80616a17 refactor(errors): centralise legacy string error codes in ErrorCodes (M21) hamedandClaude Opus 4.8 2026-06-28 21:12:23 +03:30
  • 96a86dbfed fix(db): business-key unique constraints (M16-M19) hamedandClaude Opus 4.8 2026-06-28 21:03:54 +03:30
  • ccb71e4371 perf(secretary,billing): kill N+1 in secretary + claims lists (M8, M9) hamedandClaude Opus 4.8 2026-06-28 20:43:35 +03:30
  • 61ac775175 perf(settlement,rating): paginate 3 unbounded list endpoints (M10-M12) hamedandClaude Opus 4.8 2026-06-28 20:36:41 +03:30
  • 447482c2ea perf(db): composite index on wallet_transactions(user_id, type) (M14) hamedandClaude Opus 4.8 2026-06-28 20:28:24 +03:30
  • 670cef24f4 fix(security): per-mobile OTP cap + refresh-token rotation (M6, M7) hamedandClaude Opus 4.8 2026-06-28 20:25:22 +03:30
  • fe6383314e fix(security): enforce ownership on 4 IDOR read/bind endpoints (M2-M5) hamedandClaude Opus 4.8 2026-06-28 20:17:52 +03:30
  • 23ca56b293 fix(billing): bound approved/paid amounts on claim transition (M1) hamedandClaude Opus 4.8 2026-06-28 20:07:19 +03:30
  • 131a78343b test(audit): strengthen H5/H7/H8 into true fail-without-fix regressions hamedandClaude Opus 4.8 2026-06-28 20:01:12 +03:30
  • c9ae3882fe docs(audit): mark Critical+High tier complete in backlog hamed 2026-06-28 19:42:39 +03:30
  • d8f7db0ada perf(billing,settlement): paginate claims and wallet transactions (H9, H10) hamedandClaude Opus 4.8 2026-06-28 19:42:04 +03:30
  • 42d934abc2 perf(rating): fetch-join comment tree to kill N+1 in public list (H7) hamedandClaude Opus 4.8 2026-06-28 19:35:34 +03:30
  • eb1997066e perf(insurance): batch-fetch service items in coverage list (H8) hamedandClaude Opus 4.8 2026-06-28 19:29:06 +03:30
  • 6b12f3ddb9 perf(doctor): fetch-join specialties in clinic doctor list (H6) hamedandClaude Opus 4.8 2026-06-28 19:24:49 +03:30
  • 4cf6873900 fix(db): purge insurance config when a doctor/clinic is deleted (H5) hamedandClaude Opus 4.8 2026-06-28 19:16:10 +03:30
  • d14ac38da5 fix(db): RESTRICT delete of a Payment that has a FinancialBreakdown (H4) hamedandClaude Opus 4.8 2026-06-28 19:10:53 +03:30
  • 7fa4b55d3f fix(security): unique payment reference_id, reject replayed callbacks (H3) hamedandClaude Opus 4.8 2026-06-28 19:08:26 +03:30
  • aa87b4a9cb fix(db): prevent double-booking a slot via unique active_slot_key (H2) hamedandClaude Opus 4.8 2026-06-28 19:04:54 +03:30
  • c084571bf0 fix(security): enforce doctor scope on POST my/appointment (H1) hamedandClaude Opus 4.8 2026-06-28 18:52:23 +03:30
  • ae06498a96 fix(security): verify gateway-confirmed amount in payment callback (C1) hamedandClaude Opus 4.8 2026-06-28 18:49:33 +03:30
  • 8e5cd51873 docs(audit): durable backlog — 5-dimension scan, 70 findings prioritized hamedandClaude Opus 4.8 2026-06-28 18:44:25 +03:30
  • 6bd49c2d3e fix(security): make commission_percent & active admin-only on PATCH representation hamedandClaude Opus 4.8 2026-06-28 17:36:48 +03:30
  • e456809b55 fix(devops): repair phpstan config so static analysis runs again hamed 2026-06-28 17:17:46 +03:30
  • 8b96753df6 perf(db): add missing indexes (appointment expiry, session dates, user status) hamed 2026-06-28 17:13:44 +03:30
  • e1740462b5 perf(appointment): batch-fetch pending payments in expiry loop (fix N+1) hamed 2026-06-28 17:10:32 +03:30
  • 36b87e9817 fix(db): declare onDelete on required FKs that had none hamed 2026-06-28 17:04:23 +03:30
  • 372bea4849 test(orm): regression — every entity with a custom repo declares repositoryClass hamed 2026-06-28 16:53:40 +03:30
  • 093293004a fix(security): enforce ownership on GET date-override (IDOR) hamed 2026-06-28 16:48:41 +03:30
  • 90736c8149 fix(security): enforce ownership on GET weekly-schedule (IDOR) hamed 2026-06-28 16:47:05 +03:30
  • 30c5fbe98c test: functional test infrastructure (ApiTestCase + db_test + JWT helpers) hamedandClaude Opus 4.8 2026-06-28 16:44:05 +03:30
  • 05fde81320 fix(orm): declare repositoryClass on all entities with a custom repository hamedandClaude Opus 4.8 2026-06-28 16:19:07 +03:30
  • 5bcc97ceb6 feat: add CreateAdminCommand for admin user creation and promotion hamed 2026-06-28 15:57:30 +03:30
  • 5f557b2c57 perf(docker): parallel ext compile (MAKEFLAGS=-j) to beat Coolify build timeout hamedandClaude Opus 4.8 2026-06-28 15:38:10 +03:30
  • cb401c6dbf merge: Coolify production hardening (non-root, healthcheck, opcache, graceful shutdown) hamed 2026-06-28 15:28:21 +03:30
  • 41114aa4cb feat: add comprehensive Docker production hardening documentation for Coolify stack hamed 2026-06-28 15:27:51 +03:30
  • 5150365d2c harden(docker): non-root, dedicated healthcheck, opcache split, graceful shutdown hamedandClaude Opus 4.8 2026-06-28 15:27:34 +03:30
  • c74b06b3cc fix: correct spelling of 'connexion' to 'connection' in PostgreSQL configuration comments hamed 2026-06-28 14:55:38 +03:30
  • 7af3b5a600 fix: add symfony/redis-messenger + real healthchecks hamedandClaude Opus 4.8 2026-06-28 14:54:45 +03:30
  • 61ffb2ecd8 fix(docker): retry composer install + source fallback for flaky GitHub on Coolify hamedandClaude Opus 4.8 2026-06-28 14:25:48 +03:30
  • f1dd540ca2 fix(docker): add coolify network to services for proper connectivity hamed 2026-06-28 13:42:32 +03:30
  • 745e2fc7f2 fix(docker): adjust formatting for RUN_INIT and define external coolify network hamed 2026-06-28 13:23:07 +03:30
  • 42bb723333 refactor: separate MariaDB and Redis into independent Coolify resources hamed 2026-06-28 11:28:29 +03:30
  • 471f43248b fix(docker): generate minimal .env when absent (repo .env is gitignored) hamedandClaude Opus 4.8 2026-06-28 10:54:38 +03:30
  • 46e462c6b9 fix(docker): build phpredis from GitHub source (Coolify host can't reach pecl.php.net) hamedandClaude Opus 4.8 2026-06-28 10:34:18 +03:30
  • 8ae35b1c8f fix(docker): enhance PHP extension installation with retry logic and use prebuilt binaries hamed 2026-06-28 10:09:32 +03:30
  • 26fe7c4fc0 fix(docker): implement retry logic for package installation and optimize image usage in docker-compose hamed 2026-06-28 09:57:11 +03:30
  • 90a908c503 fix(migrations): ensure safe migration steps for doctor_expertise and doctor_cities, drop legacy tables conditionally hamed 2026-06-28 09:32:27 +03:30
  • e966e11807 feat: update Docker configuration and add deployment documentation for Coolify hamed 2026-06-27 21:27:58 +03:30
  • 29badf8d68 fix: update references to docker-compose file and remove unused compose files hamed 2026-06-25 21:40:51 +03:30
  • b56d37f97f feat(docker): add docker-compose configuration for Coolify deployment hamed 2026-06-25 21:40:44 +03:30
  • cffc88db05 feat: Implement Docker-based deployment for ClinicPro on Coolify hamed 2026-06-25 21:27:28 +03:30
  • dfda265af4 feat(gitignore): add SQL backup files to .gitignore and remove clinicpromain directory hamed 2026-06-25 21:07:19 +03:30
  • 174c683813 Remove state data and seed scripts for realistic and test data hamed 2026-06-25 21:07:09 +03:30
  • 1997b78d11 feat(calendar): add year picker functionality to PersianDatePicker and PersianCalendar hamed 2026-06-25 20:00:13 +03:30
  • 60b2224ec3 Add AST cache files for representation API and ApiIrService hamed 2026-06-25 19:42:42 +03:30
  • c2c6ae4d02 feat(migrations): add national_code_verified flag to users and normalize bank_account representation hamed 2026-06-25 19:38:47 +03:30
  • 9b608aaeac feat(auth): implement refresh token handling and update login method hamed 2026-06-25 17:37:55 +03:30
  • 694ee28787 feat(settlement): add receipt handling and detail view for settlements hamed 2026-06-25 17:34:39 +03:30
  • 71edc772c8 feat(payment): add Jalali date formatting for appointment confirmation SMS hamed 2026-06-25 16:34:54 +03:30
  • b1a43b7740 feat(sms): add log viewing functionality for SMS messages hamed 2026-06-25 14:20:59 +03:30
  • 41b435bb88 feat(clinic): allow representation role to view clinic details without edit permissions hamed 2026-06-25 09:42:41 +03:30
  • e65e506dae feat(representation): add welcome SMS notification for newly added doctors and clinics by representatives hamed 2026-06-25 09:37:20 +03:30
  • 763ad82b69 feat(settings): add appointment fee configuration and update payment logic hamed 2026-06-24 20:25:58 +03:30
  • 93fa0fc2c9 feat(representation): enhance finance page with summary cards and improved table styling hamed 2026-06-24 20:16:10 +03:30
  • 9603b702c1 feat: implement domain guard for commission calculation and enhance representation dashboard hamed 2026-06-24 16:14:41 +03:30
  • 89e4a424f8 feat(tax): implement tax rate history tracking and API endpoints hamed 2026-06-24 13:17:08 +03:30
  • 148d033114 feat: Implement financial engine for commission and tax calculations hamed 2026-06-24 13:06:17 +03:30
  • e0abaf5c0c feat(appointment): enforce mandatory patient national code and gender with validation hamed 2026-06-24 12:32:58 +03:30
  • b7df8cf9ee feat(representation): add endpoints for doctor statistics and toggling doctor status hamed 2026-06-24 12:24:53 +03:30
  • 8b419d0272 feat(profile): enhance national_code uniqueness error message with masked mobile number hamed 2026-06-24 12:16:16 +03:30
  • 650e36bce2 feat(profile): enforce uniqueness of national_code across user profiles and update related error handling hamed 2026-06-24 11:52:13 +03:30
  • 3eb82ffa7d feat(claims): replace PersianDateInput with PersianDatePicker and add quick date range buttons hamed 2026-06-24 06:24:22 +03:30
  • 91fb55258a feat(claims): enhance claims filtering with insurance, date range, and patient search hamed 2026-06-24 06:19:25 +03:30
  • 69beb7b944 feat(insurance): add insurance coverage flag to selected services and update coverage logic hamed 2026-06-24 06:09:05 +03:30
  • 17f41117f1 feat(tariffs): automate current year tariff registration and sync service price hamed 2026-06-24 04:54:56 +03:30
  • c189daa860 feat(claims): enrich claims with insurance details and item specifics hamed 2026-06-24 04:48:11 +03:30
  • 27840da78d feat: integrate insurance coverage management for clinic services hamed 2026-06-24 04:23:50 +03:30
  • 253414ef3e feat(subscription): add switch toggle component and update plan terminology hamed 2026-06-24 03:32:50 +03:30
  • 15e7d92fc1 feat(subscription): gate insurance pages behind "insurance" plan feature hamedandClaude Opus 4.8 2026-06-24 03:21:52 +03:30
  • fc87e4a04e feat(schedule): enhance time selection with separate hour and minute dropdowns hamed 2026-06-24 02:43:05 +03:30
  • fbfe25c3c6 feat(claims): add insurance_name field to claims and update API responses hamed 2026-06-24 02:11:16 +03:30
  • f7eb1ebd91 feat(claims): implement automatic claim creation for insurance sessions hamed 2026-06-24 02:08:12 +03:30
  • 14c6dd6456 feat(patients): prefill visit price from free-visit price hamedandClaude Opus 4.8 2026-06-24 01:55:19 +03:30