parsa aghaei
a3291cc468
feat(agency): implement Farsi error handling, trust seals page, and MeliPayamak SMS integration
Deploy Canina / deploy (push) Has been cancelled
2026-07-29 16:40:42 +03:30
parsa aghaei
bf60df34ef
fix(seed): safely handle blog upsert in try-catch block
Deploy Canina / deploy (push) Successful in 2m6s
2026-07-29 15:49:39 +03:30
parsa aghaei
84d9ed3a9d
perf(docker): replace slow RUN chown -R with fast COPY --chown in backend Dockerfile
2026-07-29 15:48:26 +03:30
parsa aghaei
62bd8811fa
style: apply standard ESLint & Prettier formatting across backend
Deploy Canina / deploy (push) Successful in 4m58s
2026-07-29 15:41:53 +03:30
parsa aghaei
ae636c8b03
fix(seed): add explicit String casting for ingredient and symptom loop items to satisfy TypeScript compiler
2026-07-29 15:40:44 +03:30
parsa aghaei
3ede3c31f9
fix(seed): format seed-products.ts with Prettier and add type annotations for ESLint
2026-07-29 15:40:01 +03:30
parsa aghaei
ddf2bafb3c
fix(seed): deduplicate ingredients and symptoms to ensure clean database seeding
2026-07-29 15:38:15 +03:30
parsa aghaei
8a6afa10d8
fix(seed): remove duplicate out-of-scope code in seed-products.ts
Deploy Canina / deploy (push) Has been cancelled
2026-07-29 15:23:14 +03:30
parsa aghaei
e1fb300b87
fix(seed): handle duplicate product barcodes safely with try-catch in seed-products.ts
Deploy Canina / deploy (push) Has been cancelled
2026-07-29 15:21:41 +03:30
parsa aghaei
485c6bfec6
fix(prisma): add dedicated tsconfig.seed.json for clean cross-platform seeding
Deploy Canina / deploy (push) Successful in 5m57s
2026-07-29 14:36:20 +03:30
parsa aghaei
782720d86d
fix: use ts-node transpile-only with CJS override for seed (no new packages)
...
Deploy Canina / deploy (push) Successful in 10m25s
- Remove tsx (Nexus doesn't have it cached - causes E404)
- Use ts-node --transpile-only --compiler-options with module:CommonJS
to bypass nodenext ESM cycle issue without any new dependencies
- Copy tsconfig.json to runtime container for ts-node compatibility
2026-07-29 14:21:58 +03:30
parsa aghaei
813f5d7bc6
fix: use tsx for prisma seed to resolve ESM/CJS cycle in Node 20
...
Deploy Canina / deploy (push) Failing after 41s
- Replace ts-node/esm loader with tsx which handles nodenext module natively
- tsx avoids ERR_REQUIRE_CYCLE_MODULE with Prisma client ESM/CJS interop
- Add tsx ^4.19.0 as devDependency
2026-07-29 14:14:20 +03:30
parsa aghaei
776829e099
fix: seed command ESM compatibility and CI/CD timeout increase
...
Deploy Canina / deploy (push) Successful in 10m5s
- Fix prisma seed command: use node --loader ts-node/esm (nodenext module needs ESM loader)
- Increase CI/CD timeout from 15m to 40m to accommodate Docker build + VPN time
- Prisma env vars already in compose files for OpenSSL 3.0.x binary selection
2026-07-29 14:00:00 +03:30
parsa aghaei
431e2b547d
fix: Prisma OpenSSL engine binary detection on Alpine
...
Deploy Canina / deploy (push) Successful in 34s
- Set PRISMA_SCHEMA_ENGINE_BINARY to 3.0.x binary path
- Set PRISMA_QUERY_ENGINE_LIBRARY to 3.0.x library path
- node:20-alpine has libssl.so.3 but no openssl CLI binary
- Prisma detection fails silently, defaults to 1.1.x engines
- Explicit paths bypass detection and use correct binaries
- Remove apk add openssl (not needed, causes build failure without VPN)
- backend Dockerfile: use PRISMA_CLI_BINARY_TARGETS to generate correct client
2026-07-29 09:21:39 +03:30
parsa aghaei
501addc909
fix: CI/CD pipeline, dynamic API URLs, Dockerfile fixes
...
Deploy Canina / deploy (push) Successful in 5m39s
- Backend Dockerfile: add chown for node_modules (Prisma permissions fix)
- Frontend Dockerfile: add ARG/ENV for NEXT_PUBLIC_API_URL, VITE_API_URL
- nginx.conf: template with __PLACEHOLDERS__ for per-env substitution
- deploy.yml: SSH keepalive, sudo for VPN
- api.ts: dynamic API URL via env vars instead of hardcoded
- next.config.ts: rewrite only in development mode
- scripts: deploy.sh, compose.stage.yml, compose.prod.yml
2026-07-28 16:37:05 +03:30
parsa aghaei
ee65d87899
fix(prisma): export main in seed modules and execute directly in seed.ts
2026-07-28 16:36:30 +03:30
devops
e4c196b080
fix: VPN build, caching, Dockerfile fixes for Iran network
Deploy Canina / deploy (push) Failing after 12s
2026-07-27 16:06:59 +00:00
parsa aghaei
0540d8701e
fix(prisma): add binaryTargets linux-musl-openssl-3.0.x to schema.prisma
2026-07-27 16:46:33 +03:30
parsa aghaei
f089f7ed91
fix(prisma-videos-ide): resolve IDE TypeScript error by accessing video model through typed getter helper in VideosService
2026-07-27 13:39:35 +03:30
parsa aghaei
3e9fffe71f
feat(cms-builder-videos-hydration-catalog): resolve IDE Prisma types, fix Header hydration error, add Media Upload & Aparat embed to Admin Videos, fix Catalog scrollbar/spacing, and overhaul CMS into section-by-section Visual Page Builder
2026-07-27 12:25:36 +03:30
parsa aghaei
2b1bd9efcb
feat(header-refill-videos): restore full DB seeding, wire homepage videos to backend API, upgrade Refill to Cashback Loyalty system, and refactor Header into 2-tier Mega-Menu layout
2026-07-27 12:07:29 +03:30
parsa aghaei
52f0caccfc
feat(videos): add Video module in NestJS, build Video CRUD in Admin Panel, sync dynamic video fetching on frontend, and update catalog links to /catalog
2026-07-27 11:54:16 +03:30
parsa aghaei
85d5a11a5e
feat(refill): overhaul subscription model to Smart Course Reservation & 5% Next-Order Loyalty Voucher reward
2026-07-27 11:46:45 +03:30
parsa aghaei
24c361c4ff
feat(admin): overhaul orders management page with interactive modal, postal tracking code editor, inline status selector and invoice print
2026-07-27 11:27:47 +03:30
parsa aghaei
377ec7fb34
fix(orders,wallet): implement full-stack wallet deduction in PostgreSQL and sync charity donation total in user profile
2026-07-26 20:40:01 +03:30
parsa aghaei
51b2f811fa
fix(orders): add type assertion to order creation payload to eliminate IDE TS server cache warning
2026-07-26 20:34:07 +03:30
parsa aghaei
72badb1a7b
fix(auth,backend): synchronize auth state across stores, reset guest profile data, and resolve backend spec compilation
2026-07-26 20:18:35 +03:30
parsa aghaei
4979d4120c
fix(checkout,orders,admin): resolve guest checkout address bug, persist refill and charity in DB, and fix admin media thumbnail cropping
2026-07-26 20:11:26 +03:30
parsa aghaei
989f77e106
fix(shop): map requiresRx in productService, enable backend query param filtering, and classify 11 prescription vs 24 OTC products
2026-07-26 20:03:45 +03:30
parsa aghaei
0bdb500554
feat(backend): support prescriptionUrl attachment in CreateOrderDto and OrdersService
2026-07-26 19:21:46 +03:30
parsa aghaei
7cc5c7d176
feat(backend): implement WholesaleModule for B2B wholesale applications and admin approvals
2026-07-26 19:20:29 +03:30
parsa aghaei
0046fb7106
feat(backend): implement CmsModule for full CRUD of HeroBanners, VetTestimonials, and SmartAdvisorRules
2026-07-26 19:17:23 +03:30
parsa aghaei
0162bc7b6d
fix: resolve TypeScript build error in SmartAdvisor, wire live API products, and verify 3-app production build
2026-07-26 18:42:32 +03:30
parsa aghaei
6a8d20f81a
feat: add SeoModule, rate limiting, and complete agency task backlog execution
2026-07-26 17:55:54 +03:30
parsa aghaei
0a04bac013
feat: complete specialist review and initial agency alignment for Canina Iran
2026-07-26 17:54:46 +03:30
parsa aghaei
08c968300f
feat: TASK-101 - optimize Prisma schema, compound indexes, wholesale price and Rx fields
2026-07-26 16:25:01 +03:30
parsa aghaei
1340a2be87
refactor(backend): consolidate all prisma seeders into single master seed.ts entrypoint
2026-07-21 14:53:09 +03:30
parsa aghaei
ac4813ebde
feat(admin/seo): add Google SERP Simulator in SEO tab, View Online deep link in modal header & seed scientific taglines in database
2026-07-15 17:56:37 +03:30
parsa aghaei
8345410376
feat(admin): implement symptoms management in admin panel product form
2026-07-15 17:49:03 +03:30
parsa aghaei
717a61a225
fix(database): fix baseSlug format in products seed to populate product symptoms successfully + format cleanup in ArchivePage
2026-07-15 17:46:27 +03:30
parsa aghaei
6dafe86344
feat: full symptoms filtering system — backend API, megamenu pills, sidebar server-side filter, PDP tags
2026-07-15 15:03:09 +03:30
parsa aghaei
f66170cc20
feat: split Product name into nameFa and nameEn, add symptoms mapping mapping to seed-products
2026-07-15 14:08:45 +03:30
parsa aghaei
1d9b699d61
feat: implement dynamic category solutions in MegaMenu navigation and convert static footer buttons to Next.js links
2026-07-15 13:53:23 +03:30
parsa aghaei
0ccf37f922
feat: implement fully dynamic filter sidebar in backend getActiveFilters and frontend ArchivePage mapping with URL sync
2026-07-15 13:49:13 +03:30
parsa aghaei
27ac668e42
fix: re-seed database with exact official PDF catalog details, prices, Farsi categories, and short descriptions, and remove frontend slicing fallbacks
2026-07-15 12:18:58 +03:30
parsa aghaei
67d6f71d7a
fix: resolve product images falling back to logo by mapping real URLs in database seed, correct 2x price discrepancy to match PDF catalog exactly, and set local cover for third video
2026-07-15 11:51:10 +03:30
parsa aghaei
cf705ea121
style: improve health advisor UX, fix broken thumbnails, add Persian equivalents to product names for SEO, and refine card title alignments
2026-07-15 11:40:39 +03:30
parsa aghaei
4d14885feb
feat: complete currency, font, new pages, footer logo, dynamic PDP layout and custom dosage titles
2026-07-14 20:03:25 +03:30
devops
2c47e35153
fix: IngredientWiki fallback to scientificTerms from API with keywords as benefits
Deploy Canina / deploy (push) Successful in 1m8s
2026-07-14 12:27:43 +00:00
devops
f71b22a664
fix: wiki sortBy, wiki detail page endpoint, blog SSR URL, and upload volume
Deploy Canina / deploy (push) Successful in 1m34s
2026-07-14 12:19:40 +00:00