{{ activeGroupDesc }}
-{{ product.name }}
-- {{ product.en }} -
- -{{ product.desc }}
- -diff --git a/.dockerignore b/.dockerignore
index 70a68db..9328fdb 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -1,9 +1,18 @@
node_modules
-.nuxt
-.output
+apps/*/node_modules
+packages/*/node_modules
+# **/dist
+# **/.output
+**/.nuxt
+**/.turbo
+**/*.tsbuildinfo
+**/.env
+**/.env.*
+!**/.env.example
+apps/api/src/generated
.git
-*.md
+out
+backups
+محصولات
_dev.log
-.env*
-npm-debug.log*
-logo.png
+*.skill
diff --git a/.env.example b/.env.example
new file mode 100644
index 0000000..b7c0ff2
--- /dev/null
+++ b/.env.example
@@ -0,0 +1,31 @@
+# Production settings for docker-compose.yml — copy to .env and change every secret.
+# Generate secrets with: node -e "console.log(require('crypto').randomBytes(48).toString('base64url'))"
+
+# domains (TLS is terminated in front of the gateway: host nginx, Traefik or the CDN)
+SITE_DOMAIN=imenpishgaman.ir
+ADMIN_DOMAIN=admin.imenpishgaman.ir
+# host port of the gateway container
+HTTP_PORT=8080
+# reverse proxies in front of the API: gateway (1) + host TLS proxy (1)
+TRUST_PROXY=2
+# set to false only if the admin is served over plain http
+COOKIE_SECURE=true
+
+# database
+POSTGRES_USER=imen
+POSTGRES_PASSWORD=change-me
+POSTGRES_DB=imen
+
+# object storage (MinIO container); bucket is created automatically
+S3_BUCKET=imen-media
+S3_ACCESS_KEY=imen
+S3_SECRET_KEY=change-me-at-least-8-chars
+
+# auth + cache purge secrets
+JWT_SECRET=change-me-48-random-bytes
+REVALIDATE_SECRET=change-me-too
+
+# first admin user (created by: docker compose exec api node dist/seed/seed.js)
+ADMIN_PHONE=09120000000
+ADMIN_PASSWORD=change-me
+ADMIN_NAME=مدیر سایت
diff --git a/.gitignore b/.gitignore
index 6aa258b..20d12b9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,12 +1,18 @@
-# dependencies
-node_modules/
+# dependencies (build outputs keep theirs: apps/web/.output/server/node_modules, apps/api/.output/node_modules)
+/node_modules/
+/apps/*/node_modules/
+/packages/*/node_modules/
-# nuxt
+# build output
+# dist/
+# .output/
.nuxt/
-.output/
.data/
-dist
+.turbo/
+*.tsbuildinfo
+# prisma generated client
+apps/api/src/generated/
# misc
.DS_Store
@@ -14,7 +20,18 @@ dist
# debug
npm-debug.log*
+pnpm-debug.log*
# local env files
.env
.env*.local
+!.env.example
+
+# database dumps from the backup service
+backups/
+
+# local s3 mock storage
+.s3data/
+**/.s3data/
+*.jpg
+icons (1).json
diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 0000000..73828a6
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1,7 @@
+out
+dist
+.output
+.nuxt
+pnpm-lock.yaml
+apps/api/src/generated
+محصولات
diff --git a/.prettierrc b/.prettierrc
new file mode 100644
index 0000000..de753c5
--- /dev/null
+++ b/.prettierrc
@@ -0,0 +1,3 @@
+{
+ "printWidth": 100
+}
diff --git a/Dockerfile b/Dockerfile
deleted file mode 100644
index c43b092..0000000
--- a/Dockerfile
+++ /dev/null
@@ -1,10 +0,0 @@
-# Static export is built on the host (`npm run build` → ./out)
-# This image only serves the pre-built files via nginx.
-FROM docker.arvancloud.ir/nginx:alpine
-
-COPY out /usr/share/nginx/html
-COPY nginx.conf /etc/nginx/conf.d/default.conf
-
-EXPOSE 80
-
-CMD ["nginx", "-g", "daemon off;"]
diff --git a/README.md b/README.md
index dde3588..bf25e84 100644
--- a/README.md
+++ b/README.md
@@ -1,149 +1,150 @@
-# آریا ایمن — لندینگ (Nuxt)
+# ایمن پیشگامان — مونوریپو (سایت + API + پنل مدیریت)
-لندینگ شرکت آریا ایمن، مهاجرتیافته از Next.js به **Nuxt 4 (Vue 3)** با خروجی کاملاً استاتیک (SSG)، بهینه برای سئو و سرعت.
-ظاهر و رفتار صفحه دقیقاً همان نسخه Next.js است.
+سایت ایمن پیشگامان بههمراه بکند و پنل مدیریت محتوا. همهی متنها، تصاویر، دستهها و محصولات سایت از پنل مدیریت قابل ویرایشاند.
-| لایه | ابزار |
-|---|---|
-| فریمورک | Nuxt 4 + Vue 3 (`
-
-
-
- ایمن پیشگامان با بیش از ۱۸ سال تجربه، تأمینکننده تخصصی تجهیزات ایمنی و
- حفاظت فردی برای سازمانهایی است که جان انسانها را جدی میگیرند؛ از
- کلاه ایمنی تا هارنس نجات، از مشاوره تا بازرسی و آموزش.
- {{ cat.en }}
- {{ desc }}
-
-
-
-
-
- ایمنی یعنی
-
-
-
-
- بازگشت به خانه
-
-
- تجهیزات ماست
-
-
-
-
-
-
{{ cat.name }}
-
-
-
{{ activeGroupDesc }}
-- {{ product.en }} -
- -{{ product.desc }}
- -
مدیریت محصولات، محتوا و پیامهای سایت — فقط برای کاربران مجاز.