-
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