26 Commits
Author SHA1 Message Date
S. EsmaeiliandCursor 9ad88af20f feat(admin): editable contact fields in sections and larger logos
Allow address, phone, map, and related site chrome to be edited from contact/settings for all editors, and enlarge brand marks on login, header, and preloader.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-11-12 18:42:59 +03:30
S. EsmaeiliandCursor cad1a8652e build: refresh admin dist with corrected site URL
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-11-07 16:57:09 +03:30
S. EsmaeiliandCursor a8184ed59c fix(admin): point view-site links to http://imenpishgaman.ir
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-11-07 16:56:15 +03:30
S. EsmaeiliandClaude Sonnet 5.5 3dc5f4ae91 fix(compose): give internal services unique network aliases
On a shared Docker network (Dokploy) plain service names like web or api
also resolve to other stacks' containers, so the gateway balanced requests
across foreign containers and returned 502. Services reached by name now
carry an imen-* alias, used by the gateway upstreams and the service URLs.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-25 08:28:04 +03:30
S. EsmaeiliandClaude Sonnet 5.5 f64b18aafb build: refresh production build output
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 16:42:16 +03:30
S. Esmaeili 975b8e546c build: update web production output and sync pre-built artifacts 2026-10-24 15:18:58 +03:30
S. EsmaeiliandClaude Haiku 5.5 10e453e4be build: ship pre-built API bundle; images copy output instead of installing
- API: `pnpm build` bundles dist/ into apps/api/.output (esbuild), with
  Linux musl native packages for sharp and argon2 kept alongside
- docker/api.Dockerfile copies that output; no pnpm install on the server
- add dist/migrate.js (prisma migrate deploy equivalent, same
  _prisma_migrations table and lock) so the Prisma CLI is not needed at runtime
- pnpm-workspace: supportedArchitectures for linux/x64/musl
- admin: apps/admin/.env.production sets VITE_SITE_URL for the production build
- drop NPM_REGISTRY / SITE_URL build args from compose and .env.example
- gitignore: anchor node_modules rules so pre-built node_modules are committed
- README: describe the pre-built deploy flow

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-24 14:41:31 +03:30
S. Esmaeili ee8258556d chore(compose): specify fixed image names for deploy loading 2026-10-24 13:53:30 +03:30
S. Esmaeili 2a45eef366 build: update production artifacts and simplify dockerfiles to use pre-built output 2026-10-24 13:30:24 +03:30
S. Esmaeili 7399812d0e build: include production build artifacts in repo 2026-10-24 10:11:05 +03:30
S. Esmaeili dfd8a82809 fix(docker): improve pnpm install resilience with fetch retries and fallback 2026-10-24 10:06:15 +03:30
S. Esmaeili a8a34075c7 chore(config): align default database port in .env.example with docker-compose 2026-10-24 09:53:40 +03:30
s.esmaeili bcb00dbe65 fix(web): resolve preloader freeze, dayjs ESM resolution, and missing icons 2026-10-24 00:51:53 +03:30
s.esmaeili 685a3e5206 fix(admin): add 8px padding to menu title next to icon badge 2026-10-23 21:20:32 +03:30
s.esmaeili c7884480c5 fix(admin): perfectly center sidebar menu icons inside badge 2026-10-23 21:17:51 +03:30
s.esmaeili cd5f123270 feat(web): replace preloader icon with company logo 2026-10-23 21:15:13 +03:30
s.esmaeili fa61a76444 feat: complete UI/UX improvements, vuesax icons, media server, and section management 2026-10-23 21:06:15 +03:30
S. EsmaeiliandCursor 49f30a96b1 feat: polish admin UI, phone login, and product details
Switch admin auth to mobile, restyle shell/login with Vuesax icons, and add product detail fields plus public product pages.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-22 17:18:17 +03:30
S. EsmaeiliandClaude Opus 5.5 789d224ea0 feat: monorepo with NestJS API, admin panel and DB-driven website
Restructure the repo into a pnpm + Turborepo monorepo:

- apps/web: Nuxt 4 site, now server-rendered and reading all content
  from the API; pages cached with SWR and purged on content changes
- apps/api: NestJS 12 + Prisma 7 + PostgreSQL. Auth with short-lived
  access tokens and rotating httpOnly refresh cookies, roles (ADMIN,
  EDITOR), catalog, editable site sections, media upload to S3-compatible
  storage (converted to WebP), contact messages, audit log
- apps/admin: Vue 3 admin panel (Ant Design Vue, Pinia, Tailwind) for
  products, categories, site sections, messages, media and users
- packages/shared: Zod schemas and types shared by API and admin

Also:
- seed script that loads the original 8 categories / 89 products and
  section content
- Docker images for api (with a one-off migrate service), web, admin,
  and an nginx gateway for both domains
- dev and production compose files, daily database backup service
- API e2e tests

Removes the committed static out/ build and the old root Dockerfile.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 20:31:05 +03:30
S. EsmaeiliandCursor 31076174e2 feat: switch to IRANSans FaNum fonts, add product images, rebuild out
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-11 17:01:47 +03:30
Montech 0eb23b40e5 fix add out on git 2026-10-07 15:16:36 +03:30
s.esmaeiliandClaude Opus 4.6 bb7f1e3378 feat: update Dockerfile, add category pages, fonts and product images
Rebuild Docker setup with simplified nginx-only Dockerfile (build runs
on host). Add category detail pages, IRANSans font files, product
images, and update all landing sections.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-10-07 00:45:51 +03:30
S. EsmaeiliandClaude Opus 4.6 e31ef5a21f feat: migrate landing from Next.js to Nuxt 4 (Vue 3)
Full 1:1 migration preserving all visuals, animations and behavior:
- Nuxt 4 + Vue 3 (script setup, TypeScript strict) with SSG output
- Tailwind CSS v4 with @tailwindcss/vite
- Ant Design Vue 4 (dark theme, RTL, Persian locale) for design system
- Pinia for state management (ui + contact stores)
- motion-v (framer-motion port) for all animations
- lucide-vue-next for icons
- SEO improvements: og:image, canonical fix, real 404 page, JSON-LD services
- JS bundle reduced from 302KB to 239KB gzip
- Docker/nginx deployment preserved (out/ -> nginx)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-10-06 16:28:05 +03:30
Montech 1af5b555b8 fix redirect 301 bug 2026-09-27 09:17:53 +03:30
Montech 4f611d6fca Feat dockerize 2026-09-27 08:54:48 +03:30
s.esmaeiliandClaude Sonnet 5 62b022298f Initial commit: Persian safety workwear landing page (Next.js)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-23 10:13:57 +03:30