parsa aghaei
1a21c4c642
fix(auth): add refresh & logout endpoints and ensure UsersService.findById handles fallback admin
Deploy Canina / deploy (push) Successful in 1m53s
2026-08-16 15:07:07 +03:30
parsa aghaei
28fc660f69
chore(graphify): update knowledge graph artifacts
Deploy Canina / deploy (push) Successful in 1m41s
2026-08-16 15:01:26 +03:30
parsa aghaei
9b7a9e363d
fix(auth): add reliable fallback for JWT secrets to prevent login signing crashes in production
Deploy Canina / deploy (push) Has been cancelled
2026-08-16 14:59:44 +03:30
parsa aghaei
f1b77f3fba
fix(backend): fix dist output structure and runtime entrypoint in Dockerfile
Deploy Canina / deploy (push) Successful in 32s
2026-08-16 14:31:09 +03:30
parsa aghaei
fd5eb9dd1d
feat(admin): add comprehensive SSL certificate management page with shamsi/gregorian validity, live domain tester, and live Traefik volume sync
Deploy Canina / deploy (push) Successful in 41s
2026-08-16 14:23:07 +03:30
parsa aghaei
b161ecf815
feat(canina): implement multi-select bulk media delete, fix logo clipping, fix blog API URLs, and improve dosage labels
2026-08-16 13:06:32 +03:30
parsa aghaei
6e98b8779d
feat(payment): add raw logs, IP/UA capture, exponential backoff, inventory hold, IPaymentGateway interface and admin health check
Deploy Canina / deploy (push) Successful in 1m53s
2026-08-16 12:24:20 +03:30
parsa aghaei
5ace474d71
feat(payment): add Idempotency guard, Amount Match check, auto Inquiry reconciliation and comprehensive Admin Transaction Logs management
Deploy Canina / deploy (push) Successful in 2m16s
2026-08-16 12:08:50 +03:30
parsa aghaei
8de1351349
fix(types,lint): resolve all TypeScript type check and eslint errors across backend and sms suite
2026-08-16 12:00:49 +03:30
parsa aghaei
d8c6aa8d8e
feat(sms,admin): implement full sms logging, tracking, filtering, and analytics system
2026-08-16 11:55:50 +03:30
parsa aghaei
0934b4f3af
feat(admin,sms): implement full pattern management CRUD and live binding directly from admin panel
2026-08-16 11:52:13 +03:30
parsa aghaei
09fd339e89
feat(admin,sms): add dynamic sms settings management and live tester in admin panel
2026-08-16 11:48:40 +03:30
parsa aghaei
8992060cb7
feat(payment): implement Zibal IPG payment gateway integration, admin merchant configuration and verification page
Deploy Canina / deploy (push) Successful in 3m28s
2026-08-16 11:40:24 +03:30
parsa aghaei
0831791513
fix(sms): fail loudly when credentials missing, propagate SMS error to OTP response
2026-08-15 18:44:35 +03:30
parsa aghaei
f3ec164c38
fix(backend): use proxy during prisma generate and build
Deploy Canina / deploy (push) Has been cancelled
2026-08-15 16:19:42 +03:30
parsa aghaei
cfc41e349d
fix(backend): explicitly set USER root for apk add openssl in Dockerfile
Deploy Canina / deploy (push) Failing after 1m46s
2026-08-15 16:12:16 +03:30
parsa aghaei
034d4c71b0
fix(backend): install openssl via proxy to enable prisma native engine detection
Deploy Canina / deploy (push) Failing after 1m38s
2026-08-15 16:08:17 +03:30
parsa aghaei
9a65aa48cd
fix(prisma): provide local musl openssl 3.0 engine paths
Deploy Canina / deploy (push) Failing after 3s
2026-08-15 16:04:04 +03:30
parsa aghaei
dbbf75e3c5
fix(prisma): use native binaryTarget and clean hardcoded engine paths
Deploy Canina / deploy (push) Failing after 35s
2026-08-15 16:01:27 +03:30
parsa aghaei
8b0d3d972e
fix(docker): ignore host node_modules and let prisma resolve engines automatically
Deploy Canina / deploy (push) Failing after 34s
2026-08-15 15:58:09 +03:30
parsa aghaei
b1a9d1a5ba
fix(backend): skip prisma postinstall during npm ci
Deploy Canina / deploy (push) Failing after 1m0s
2026-08-15 15:53:09 +03:30
parsa aghaei
f05ea493f3
fix(backend): use direct local binary for prisma generate
Deploy Canina / deploy (push) Failing after 57s
2026-08-15 15:52:11 +03:30
parsa aghaei
3314a5cb0a
fix(backend): use local prisma engines in Dockerfile during build
Deploy Canina / deploy (push) Has been cancelled
2026-08-15 15:50:52 +03:30
parsa aghaei
5ec99155c4
fix(admin,frontend): fix hydration mismatch, admin UI texts sync, and product image resolution
Deploy Canina / deploy (push) Failing after 1s
2026-08-15 15:16:04 +03:30
parsa aghaei
c1bc9e1994
ci: fix runner setup, integrate nexus npm proxy and safe vpn wrapper
Deploy Canina / deploy (push) Failing after 2s
2026-08-09 11:23:21 +03:30
parsa aghaei
4e304944ef
feat(prescriptions & auth): auto-create user and pet profile on prescription submit, validate mobile numbers with regex, allow public upload and auto-reset form state
Deploy Canina / deploy (push) Waiting to run
2026-08-09 09:59:55 +03:30
parsa aghaei
b617331683
fix(analytics, prescription, hydration): filter out admin/static asset requests from view counter, support guest prescription upload with fallback UI, and unify Hero component fallbacks with database defaults
Deploy Canina / deploy (push) Waiting to run
2026-08-09 09:47:51 +03:30
parsa aghaei
3e21aefbf1
fix(linter & types): resolve all ESLint warnings/errors and TypeScript type issues across backend and frontend projects
Deploy Canina / deploy (push) Has been cancelled
2026-08-08 19:31:41 +03:30
parsa aghaei
ea726c52de
feat(seed): expand ingredients seeder to seed 30 comprehensive medical ingredients into database
Deploy Canina / deploy (push) Failing after 28s
2026-08-08 19:21:51 +03:30
parsa aghaei
df47e66b51
feat(database/wiki): seed prisma.ingredient table and remove client-side hardcoded fallback list for 100% dynamic API rendering
Deploy Canina / deploy (push) Failing after 29s
2026-08-08 19:17:13 +03:30
parsa aghaei
e190d3f744
fix(admin-auth & contact): persist admin token in localStorage and allow ADMIN role on contact submission endpoints
Deploy Canina / deploy (push) Failing after 28s
2026-08-08 18:57:43 +03:30
parsa aghaei
fa688e2f8b
fix(api/validation): restore strict forbidNonWhitelisted: true and decorate all GET route queries with explicit DTOs across admin and application APIs
Deploy Canina / deploy (push) Failing after 28s
2026-08-08 18:45:57 +03:30
parsa aghaei
7cc9194827
fix(validation & catalog): disable strict forbidNonWhitelisted in NestJS ValidationPipe and wire full catalog mode & maintenance mode settings to frontend
Deploy Canina / deploy (push) Failing after 29s
2026-08-08 18:38:48 +03:30
parsa aghaei
9e233bee27
fix(admin/b2b): add GET /b2b/partners endpoint and update B2BManager fetch path to fix 404 error
Deploy Canina / deploy (push) Failing after 29s
2026-08-08 18:30:42 +03:30
parsa aghaei
43cf55a8ef
fix(admin): resolve GET/PUT /admin/settings 404, videos.map crash, and remove legacy CMS sidebar link
Deploy Canina / deploy (push) Failing after 29s
2026-08-08 18:26:05 +03:30
parsa aghaei
df340143dc
feat(auth/seed): create admin@canino-iran.com user with bcrypt hash in database & seed.ts
Deploy Canina / deploy (push) Failing after 28s
2026-08-08 18:21:28 +03:30
parsa aghaei
bb1ed1bd03
fix(dto): remove redundant search override property in GetVideosQueryDto
Deploy Canina / deploy (push) Failing after 28s
2026-08-08 18:14:13 +03:30
parsa aghaei
74b3d24622
fix(api/auth): allow public GET on ui-texts & scientific-terms, fix refresh attempt loop, remove duplicate error toasts and prevent unwanted modal popups
Deploy Canina / deploy (push) Failing after 28s
2026-08-08 18:11:17 +03:30
parsa aghaei
adbfa60343
fix(frontend/backend): suppress unauth toast on init, fix admin-login DTO validation and RSC directives
Deploy Canina / deploy (push) Failing after 29s
2026-08-08 18:02:43 +03:30
parsa aghaei
acc662fce8
fix(backend): add dev fallbacks for JWT secrets to prevent local bootstrap crash
Deploy Canina / deploy (push) Has been cancelled
2026-08-08 17:51:48 +03:30
parsa aghaei
59fba0484c
fix(backend): add js-yaml dependency and type definitions for openapi generator
Deploy Canina / deploy (push) Failing after 28s
2026-08-08 17:48:28 +03:30
parsa aghaei
e281ef75da
feat(security/devops): disable swagger in prod, secure staging with basic auth & noindex, add DB backup script and uploads volume persistence
Deploy Canina / deploy (push) Failing after 29s
2026-08-08 17:46:42 +03:30
9f11d8fb2d
chore(workspace): eradicate all tsc errors and eslint warnings across frontend, admin, and backend
Deploy Canina / deploy (push) Failing after 29s
2026-08-07 07:39:26 +03:30
1ae4c99ffc
feat(backend): implement Phase A database models and controllers for cross-boundary dependencies
Deploy Canina / deploy (push) Failing after 28s
2026-08-06 23:45:51 +03:30
ad3f149789
feat(devops,docs,verify): implement Phase 4 CI pipeline, OpenAPI synchronization, and E2E verification matrix
Deploy Canina / deploy (push) Failing after 28s
2026-08-06 22:27:56 +03:30
71e19bfe43
fix(orders): add type assertions for Prisma relations in checkAndSendRefillReminders
Deploy Canina / deploy (push) Failing after 28s
2026-08-06 21:44:44 +03:30
809c69f923
feat(phase2): implement database optimization and RBAC enforcement
...
Deploy Canina / deploy (push) Failing after 28s
- TASK-FIN-001: Eliminate N+1 query loop in OrdersService.create with batched findMany query.
- Perform monetary calculations strictly using Prisma.Decimal methods (.add(), .mul(), .sub()).
- Add validation for duplicate product IDs and invalid quantities in order items.
- Implement global DecimalInterceptor registered in main.ts to serialize Prisma.Decimal values into exact string representations in API responses.
- TASK-SEC-003: Create roles.decorator.ts and roles.guard.ts in common directory with backward-compatible re-exports in auth directory.
- Enforce RBAC on SettingsController with @UseGuards(JwtAuthGuard, RolesGuard) and @Roles('Admin').
- Add unit specs for DecimalInterceptor, RolesGuard, SettingsController, and OrdersService Decimal batch operations.
2026-08-06 21:29:20 +03:30
a64291a19a
feat(security): implement phase 1 core security & build hygiene
Deploy Canina / deploy (push) Failing after 28s
2026-08-06 21:15:18 +03:30
parsa aghaei
053d6f06d8
fix(types): resolve type errors in ReportData, SmsService, and GetProductsDto
Deploy Canina / deploy (push) Waiting to run
2026-08-05 15:48:11 +03:30
parsa aghaei
8a05854aa0
feat(orders): atomic order transaction and refill cron job handler [TASK-26.19]
2026-08-05 14:41:58 +03:30
parsa aghaei
cbcff26e63
feat(pets): add admin pet health records query and paginated pet list endpoint [TASK-26.17]
2026-08-05 14:41:26 +03:30
parsa aghaei
d94b33f96d
feat(admin): wallet adjustment endpoint and atomic prisma wallet topup transaction [TASK-26.14] [TASK-26.15] [TASK-26.16]
2026-08-05 14:40:35 +03:30
parsa aghaei
3497a743b3
feat(products): fix search query filter overwrite and add minPrice maxPrice sorting filters [TASK-26.10] [TASK-26.11]
2026-08-05 14:39:58 +03:30
parsa aghaei
350182c5a4
security(auth): remove OTP console log and hardcoded admin credentials [TASK-26.4] [TASK-26.5]
2026-08-05 14:38:57 +03:30
parsa aghaei
c6aa77f7c9
feat(admin): add product buy price field, dual price/percentage margin calculator, and security sanitization [TASK-BUYPRICE]
2026-08-03 12:04:27 +03:30
parsa aghaei
67bc500692
security(products): sanitize wholesalePrice for non-B2B/Admin roles [TASK-19.1]
2026-08-03 11:50:20 +03:30
parsa aghaei
920dd532e8
fix(admin-panel): resolve all ESLint errors, types, and hooks lifecycle warnings
2026-08-02 17:08:01 +03:30
parsa aghaei
a1f0640483
fix(linter): resolve all linter rules and type errors across 3 subprojects
2026-08-02 09:39:53 +03:30
parsa aghaei
b6b2d20b16
feat(sms): set MeliPayamak username 9364100228 and patterns 508079, 508081, 508082, 508083 (TASK-9.1)
2026-08-02 09:30:21 +03:30
parsa aghaei
47bff2c6ed
feat(doctor): implement Doctors / Vets CRUD backend and DB model (TASK-2.18)
2026-08-02 09:29:33 +03:30
parsa aghaei
d784f3fcc7
feat(admin): update dashboard real analytics & wiki related products (TASK-2.21, TASK-2.22, TASK-2.23)
2026-08-02 09:28:17 +03:30
parsa aghaei
88521c6bac
feat(settings): add Maintenance Mode, Catalog Mode, Brand Identity & UI Text management (TASK-2.14, TASK-2.15, TASK-2.16)
2026-08-02 09:26:06 +03:30
parsa aghaei
e2e9615bd8
feat(media): implement persistent storage & media SEO fields (altText, title, description, caption) (TASK-2.5, TASK-2.6)
2026-08-02 09:23:30 +03:30
parsa aghaei
357fb73d5e
feat(product): add product gallery images and multimedia fields podcastUrl/videoUrl/pdfUrl (TASK-2.2, TASK-2.3, TASK-2.4)
2026-08-02 09:21:27 +03:30
parsa aghaei
2ce24b0473
fix(admin): cleanup price display input, upgrade pagination component and extend roles guard for CMS & B2B
2026-08-01 18:30:14 +03:30
parsa aghaei
2aea3bded4
feat(contact): implement contact form submission, admin management and dynamic contact info
2026-08-01 18:28:19 +03:30
parsa aghaei
95e488baaa
fix(lint): sync clean types and imports to main
Deploy Canina / deploy (push) Successful in 1m54s
2026-07-29 16:45:13 +03:30
parsa aghaei
2de442dbae
fix(lint): clean up type definitions and missing imports
Deploy Canina / deploy (push) Failing after 30m46s
2026-07-29 16:44:53 +03:30
parsa aghaei
f0329d8b5b
fix(admin): sync product update & image URL features to main
Deploy Canina / deploy (push) Failing after 1m1s
2026-07-29 16:42:30 +03:30
parsa aghaei
9c8286c63f
fix(admin): resolve 500 on missing product update and add direct image URL & paste support
Deploy Canina / deploy (push) Has been cancelled
2026-07-29 16:42:23 +03:30
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
a767e9a6b8
merge: sync develop fixes into main
Deploy Canina / deploy (push) Failing after 9m25s
2026-07-29 15:55:50 +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
devops
41d7629d2a
fix: VPN build, caching, Dockerfile fixes for Iran network
Deploy Canina / deploy (push) Failing after 12s
2026-07-27 16:06:35 +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
devops
10849233de
trigger ci rebuild
Deploy Canina / deploy (push) Successful in 49s
2026-07-14 11:59:00 +00:00
DevOps
3c8f7729c2
ci: use sh shell instead of bash for ci-runner (Alpine based)
Deploy Canina / deploy (push) Failing after 1m45s
2026-07-14 03:32:53 +00:00
DevOps
a5b1b31ef8
ci: trigger deploy after SSH config fix
Deploy Canina / deploy (push) Failing after 1s
2026-07-13 13:13:52 +00:00
DevOps
1b2040c880
fix: production URLs for admin panel, seed __dirname, nginx.conf
Deploy Canina / deploy (push) Failing after 8m3s
2026-07-13 11:20:43 +00:00
parsa aghaei
60939f14ea
chore: remove committed build artifacts (node_modules, dist, .next)
...
- Remove node_modules, dist, .next from git tracking
- Add .next and *.tsbuildinfo to .gitignore
- Remove Iranian mirrors from Dockerfiles (arvancloud.ir)
- Add npm ci step for dependency installation
- Ready for VPN-based internet access workflow
2026-07-12 13:24:33 +03:30
parsa aghaei
e236190aaa
nodemodules added to repo
2026-07-11 20:56:16 +03:30
parsa aghaei
b0d639996b
dockerfile changes
2026-07-11 20:15:19 +03:30
parsa aghaei
40d750ad4b
fix: hero image configurable via uiText + seed no longer overwrites admin values
...
- Hero.tsx reads hero_image_url from uiText store first, falls back to banners then default
- Seed script now only creates keys that don't exist (no overwrite)
- Added hero_image_url key to seed + admin panel UI texts groups
- Reverted DEFAULT_TEXTS initialization (caused hydration mismatch)
- settingsStore back to empty init, fetchSettings populates from API
2026-07-11 18:25:59 +03:30
parsa aghaei
1a0c98a34e
feat: dynamic UI texts system + admin panel editor + Vazirmatn local font + bug fixes
...
- Add getText() system for all homepage sections (Header, Hero, FeaturedProducts, SmartAdvisor, VetGallery, Footer)
- Add UITexts admin page in frontend/admin-panel with search, group collapse, per-key save
- Add seed-ui-texts.ts with 102 texts in 9 groups
- Add local VazirmatnVariable.woff2 font, remove CDN + Inter references
- Fix hero image path, productService return type { data, meta }
- Fix ArchivePage pagination + CATEGORIES list + breadcrumbs
- Fix BlogPage/Wiki page links + brightness-0 invert removal
- Fix IngredientWiki search + product links + placeholder
- Fix all getProducts() callers for { data } destructuring
- Fix sitemap.ts, CartDrawer, B2BPortal, CheckoutPage type issues
- Add .gitignore for /fonts/ and /backend/uploads/
2026-07-11 17:19:55 +03:30
parsa aghaei
ab7ed279c8
fix: await params Promise in blog and wiki [slug] pages for Next.js 16
...
- blog/[slug]/page.tsx: fix params type to Promise and await it
- wiki/[slug]/page.tsx: fix params type to Promise and await it + Fix API port from 4000 to 4001
- blog/page.tsx: fix fallback API URL from port 4000 to 4001
2026-07-11 15:51:29 +03:30
parsa aghaei
7615aa0e51
fix: resolve seed encoding, search param, and wiki data source issues
...
- Fix seed-products.ts TS error (implicit any) and BOM handling
- Re-run full seed to restore correct Persian encoding in DB
- Fix productService query→search param mismatch
- Fix IngredientWiki hardcoded port 4000→use settingsStore
- Restore seed-products-data.json from git after accidental corruption
2026-07-11 15:40:49 +03:30
parsa aghaei
cd17a532d9
fix: resolve backend TS compilation errors, startup order, and add clipboard paste upload
...
- Fix products.service.ts: ingredients -> ingredientList (Prisma relation name)
- Fix seed-blogs.ts: template literal refactor (array join) to avoid esbuild parse error
- Fix seed-custom.ts: category string -> connectOrCreate relation
- Add start-dev.js: sequential startup (backend first, then frontends)
- Add Ctrl+V paste upload to admin MediaSelector component
- Create missing images/vets/ and images/slider/ directories
2026-07-11 13:51:12 +03:30
parsa aghaei
0ea6c6d271
feat: enrich all site content with Canina pharma research data
...
- Add 20 new products to frontend products.ts (total 29 products)
- Enrich existing 9 product descriptions with biochemical/clinical details
- Add new blog articles with real content from research document
- Update UI texts with Canina brand history (1984 founding, IFS/HACCP)
- Add 9 new scientific terms (Ca:P, D3, BARF, biotin, taurine, etc.)
- Expand INGREDIENTS_WIKI with collagens, biotin, taurine entries
- Add new medical options (heart disease, parasites) to SmartAdvisor
2026-07-11 13:34:22 +03:30
parsa aghaei
140872c888
fix: resolve Hero image CORS, button contrast, floating labels, footer border + refactor product seeder with full catalog data from JSON + add barcode/buyPrice/productGroup fields to Product model
2026-07-11 13:21:30 +03:30
parsa aghaei
3dedc89ee1
تغییرات کلی در backend و frontend
2026-07-11 12:30:17 +03:30
71f5ac2fa6
fix: resolve unique constraint bug in prisma seeders and run products/home seeders successfully
2026-07-10 18:20:05 +03:30
f69537a688
feat: rename brand from canina to canino across codebase
2026-07-10 16:32:31 +03:30
2851ef8a25
feat: complete backend swagger annotations, admin pages pagination, and frontend application fixes
2026-07-10 16:13:52 +03:30
24137beb32
docs: complete swagger annotations for auth, home, blogs and wiki endpoints
2026-06-12 23:30:22 +03:30
dcfc4acae4
fix: restore wiki to dictionary, create dynamic blog pages and backend wiki CRUD
2026-06-12 23:14:21 +03:30
945c007a79
feat: complete app democking, fix types, add blogs api
2026-06-12 22:53:57 +03:30
6027e635db
feat: implement backend auth and fix pet profile payload
2026-06-12 22:37:35 +03:30
82ab454647
Fix Admin panel categories modal, add error handling, enforce cursor-pointer globally
2026-06-12 21:57:09 +03:30
69502fc380
feat: implement advanced reports, pagination for all tables, global settings, and discounts modules
2026-06-12 16:28:06 +03:30
a7ebb8d792
feat: complete admin panel major functionalities including responsive layout, recharts, custom modals, inline editing, and loading states
2026-06-12 16:19:57 +03:30
ee041d4e52
fix: resolve Hyper-V reserved port collisions and Tailwind v4 CSS
2026-06-12 14:18:55 +03:30
29ab7f4141
fix: change frontend and backend ports to resolve EACCES 3000
2026-06-12 14:05:50 +03:30
0fa65c0802
feat: backend database changes for advanced SEO fields
2026-06-12 01:25:08 +03:30