Compare commits
12 Commits
804a596711
...
d953bc4124
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d953bc4124 | ||
|
|
60939f14ea | ||
|
|
ccbf606d71 | ||
|
|
e236190aaa | ||
|
|
b0d639996b | ||
|
|
508356b8d3 | ||
|
|
40d750ad4b | ||
|
|
53301705da | ||
|
|
1a0c98a34e | ||
|
|
ab7ed279c8 | ||
|
|
3aebb9e176 | ||
|
|
7615aa0e51 |
28
.gitea/workflows/deploy.yml
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
name: Deploy Canina
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [main]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
deploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: sh
|
||||||
|
steps:
|
||||||
|
- name: Install SSH client
|
||||||
|
run: |
|
||||||
|
V=$(cut -d'.' -f1-2 /etc/alpine-release)
|
||||||
|
echo "https://dl-cdn.alpinelinux.org/alpine/v$V/main" > /etc/apk/repositories
|
||||||
|
echo "https://dl-cdn.alpinelinux.org/alpine/v$V/community" >> /etc/apk/repositories
|
||||||
|
apk add --no-cache openssh-client
|
||||||
|
- name: Setup SSH key
|
||||||
|
env:
|
||||||
|
SSH_KEY: ${{ secrets.DEPLOY_KEY }}
|
||||||
|
run: |
|
||||||
|
mkdir -p ~/.ssh
|
||||||
|
echo "$SSH_KEY" > ~/.ssh/id_ed25519
|
||||||
|
chmod 600 ~/.ssh/id_ed25519
|
||||||
|
ssh-keyscan -p 2234 -H 172.17.0.1 >> ~/.ssh/known_hosts
|
||||||
|
- name: Deploy
|
||||||
|
run: ssh -p 2234 devops@172.17.0.1 'bash /opt/services/scripts/depcanina.sh main'
|
||||||
7
.gitignore
vendored
@ -1,4 +1,4 @@
|
|||||||
node_modules/
|
# node_modules/
|
||||||
build/
|
build/
|
||||||
dist/
|
dist/
|
||||||
coverage/
|
coverage/
|
||||||
@ -6,3 +6,8 @@ coverage/
|
|||||||
*.log
|
*.log
|
||||||
.env*
|
.env*
|
||||||
!.env.example
|
!.env.example
|
||||||
|
/fonts/
|
||||||
|
/backend/uploads/
|
||||||
|
node_modules
|
||||||
|
.next
|
||||||
|
*.tsbuildinfo
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# نقشه جامع اتصال به بکبند (Comprehensive Backend Integration Map) 🏗️
|
# نقشه جامع اتصال به بکبند (Comprehensive Backend Integration Map) 🏗️
|
||||||
|
|
||||||
این سند حاوی معماری دقیق، فهرست کامل نقاط اتصال (API Endpoints)، کامنتهای مکاننما در کد (TODO Markers)، و تعاریف رسمی تمامی تایپهای ورودی (Inputs) و خروجی (Outputs) پلتفرم درمانی و فروشگاهی کانینو ایران است.
|
این سند حاوی معماری دقیق، فهرست کامل نقاط اتصال (API Endpoints)، کامنتهای مکاننما در کد (TODO Markers)، و تعاریف رسمی تمامی تایپهای ورودی (Inputs) و خروجی (Outputs) پلتفرم درمانی و فروشگاهی کانینا ایران است.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# طرحواره پایگاه داده کانینو ایران (Canino Iran Database Schema) 🗄️
|
# طرحواره پایگاه داده کانینا ایران (Canina Iran Database Schema) 🗄️
|
||||||
|
|
||||||
این سند ساختار دقیق جداول، فیلدها، نوع دادهها (Datatypes)، روابط بین موجودیتها (ERD Relations) و ایندکسهای پیشنهادی را برای راهاندازی پایگاه داده نهایی سیستم کانینو طراحی و ارائه میکند. جهت انعطافپذیری توسعه، پیادهسازی هم بر اساس **پایگاه داده رابطهای (PostgreSQL / MySQL)** و هم **پایگاه داده مستندمحور/سندمراقبتی (NoSQL - MongoDB / Firestore)** مدلسازی شده است.
|
این سند ساختار دقیق جداول، فیلدها، نوع دادهها (Datatypes)، روابط بین موجودیتها (ERD Relations) و ایندکسهای پیشنهادی را برای راهاندازی پایگاه داده نهایی سیستم کانینا طراحی و ارائه میکند. جهت انعطافپذیری توسعه، پیادهسازی هم بر اساس **پایگاه داده رابطهای (PostgreSQL / MySQL)** و هم **پایگاه داده مستندمحور/سندمراقبتی (NoSQL - MongoDB / Firestore)** مدلسازی شده است.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -63,7 +63,7 @@ CREATE TABLE wallet_transactions (
|
|||||||
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
|
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
|
||||||
);
|
);
|
||||||
|
|
||||||
-- ۴. جدول کاتالوگ محصولات کانینو (products)
|
-- ۴. جدول کاتالوگ محصولات کانینا (products)
|
||||||
CREATE TABLE products (
|
CREATE TABLE products (
|
||||||
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
|
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
|
||||||
art_no VARCHAR(20) UNIQUE NOT NULL,
|
art_no VARCHAR(20) UNIQUE NOT NULL,
|
||||||
@ -250,7 +250,7 @@ CREATE INDEX idx_reminder_completions_ref ON reminder_completions(reminder_id, c
|
|||||||
"reminders": [
|
"reminders": [
|
||||||
{
|
{
|
||||||
"id": "REM-001",
|
"id": "REM-001",
|
||||||
"productId": "6472f8d38bfcb8234eccb611", // مکمل آرتروفیت کانینو فیزیکی جهت کسر انبار پت
|
"productId": "6472f8d38bfcb8234eccb611", // مکمل آرتروفیت کانینا فیزیکی جهت کسر انبار پت
|
||||||
"title": "مصرف قرص مفصلساز Canhydrox",
|
"title": "مصرف قرص مفصلساز Canhydrox",
|
||||||
"time": "08:30",
|
"time": "08:30",
|
||||||
"frequency": "روزانه",
|
"frequency": "روزانه",
|
||||||
|
|||||||
23
Dockerfile
@ -1,5 +1,24 @@
|
|||||||
FROM docker.arvancloud.ir/nginxinc/nginx-unprivileged:alpine
|
FROM node:22-alpine AS app-builder
|
||||||
COPY dist /usr/share/nginx/html
|
RUN apk add --no-cache openssl
|
||||||
|
WORKDIR /app
|
||||||
|
COPY frontend/application/package*.json ./
|
||||||
|
RUN npm ci
|
||||||
|
COPY frontend/application ./
|
||||||
|
RUN npm run build
|
||||||
|
|
||||||
|
FROM node:22-alpine AS admin-builder
|
||||||
|
RUN apk add --no-cache openssl
|
||||||
|
WORKDIR /app
|
||||||
|
COPY frontend/admin-panel/package*.json ./
|
||||||
|
RUN npm ci
|
||||||
|
COPY frontend/admin-panel ./
|
||||||
|
RUN npm run build
|
||||||
|
|
||||||
|
FROM nginxinc/nginx-unprivileged:alpine
|
||||||
|
WORKDIR /usr/share/nginx/html
|
||||||
|
COPY --from=app-builder /app/.next ./.next
|
||||||
|
COPY --from=app-builder /app/public ./public
|
||||||
|
COPY --from=admin-builder /app/dist ./admin
|
||||||
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
||||||
EXPOSE 8080
|
EXPOSE 8080
|
||||||
CMD ["nginx", "-g", "daemon off;"]
|
CMD ["nginx", "-g", "daemon off;"]
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
# پلتفرم کانینو ایران (Canino Iran Platform) 🐾
|
# پلتفرم کانینا ایران (Canina Iran Platform) 🐾
|
||||||
### لندینگ، فروشگاه تخصصی و پرونده سلامت الکترونیک پت (نمایندگی رسمی دارویی Canina Pharma)
|
### لندینگ، فروشگاه تخصصی و پرونده سلامت الکترونیک پت (نمایندگی رسمی دارویی Canina Pharma)
|
||||||
|
|
||||||
پلتفرم **کانینو ایران** یک برنامه جامع تحت وب (SPA/PWA) مجهز به بردهای تعاملی و ابزارهای بهداشتی-دامپزشکی است که با هدف ارتقای سلامت حیوانات خانگی و دسترسی آسانتر به مکملهای دارویی گرید فوقارگانیک و دارویی کمپانی والای **Canina pharma GmbH آلمان** توسعه یافته است.
|
پلتفرم **کانینا ایران** یک برنامه جامع تحت وب (SPA/PWA) مجهز به بردهای تعاملی و ابزارهای بهداشتی-دامپزشکی است که با هدف ارتقای سلامت حیوانات خانگی و دسترسی آسانتر به مکملهای دارویی گرید فوقارگانیک و دارویی کمپانی والای **Canina pharma GmbH آلمان** توسعه یافته است.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@ -1,57 +1,28 @@
|
|||||||
FROM docker.arvancloud.ir/library/node:22-alpine AS builder
|
FROM node:22-alpine AS builder
|
||||||
|
|
||||||
RUN apk add --no-cache openssl
|
RUN apk add --no-cache openssl
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# Copy package files
|
|
||||||
COPY package*.json ./
|
COPY package*.json ./
|
||||||
|
RUN npm ci
|
||||||
|
|
||||||
# Set NPM registry mirror
|
|
||||||
RUN npm config set registry https://registry.npmmirror.com
|
|
||||||
RUN npm config set fetch-retries 10
|
|
||||||
RUN npm config set fetch-retry-mintimeout 20000
|
|
||||||
RUN npm config set fetch-retry-maxtimeout 120000
|
|
||||||
|
|
||||||
# Install all dependencies (including devDependencies)
|
|
||||||
RUN for i in 1 2 3 4 5; do npm ci && exit 0 || (echo "Retry $i in 10s..." && sleep 10); done; exit 1
|
|
||||||
|
|
||||||
# Copy the rest of the application
|
|
||||||
COPY . .
|
COPY . .
|
||||||
|
RUN npx prisma generate && npm run build
|
||||||
|
|
||||||
# Build the application (compiles TypeScript to dist folder)
|
FROM node:22-alpine
|
||||||
# We also generate prisma client here if prisma schema is present.
|
|
||||||
RUN npx prisma generate
|
|
||||||
RUN npm run build
|
|
||||||
|
|
||||||
# Production image
|
|
||||||
FROM docker.arvancloud.ir/library/node:22-alpine
|
|
||||||
|
|
||||||
RUN apk add --no-cache openssl
|
RUN apk add --no-cache openssl
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# Copy only package files
|
|
||||||
COPY package*.json ./
|
COPY package*.json ./
|
||||||
|
RUN npm ci --omit=dev
|
||||||
|
|
||||||
# Set NPM registry mirror
|
|
||||||
RUN npm config set registry https://registry.npmmirror.com
|
|
||||||
RUN npm config set fetch-retries 10
|
|
||||||
RUN npm config set fetch-retry-mintimeout 20000
|
|
||||||
RUN npm config set fetch-retry-maxtimeout 120000
|
|
||||||
|
|
||||||
# Install only production dependencies
|
|
||||||
RUN for i in 1 2 3 4 5; do npm ci --only=production && exit 0 || (echo "Retry $i in 10s..." && sleep 10); done; exit 1
|
|
||||||
|
|
||||||
# Copy built artifacts from the builder stage
|
|
||||||
COPY --from=builder /app/dist ./dist
|
COPY --from=builder /app/dist ./dist
|
||||||
# Copy generated prisma client:
|
|
||||||
COPY --from=builder /app/node_modules/.prisma ./node_modules/.prisma
|
|
||||||
COPY --from=builder /app/node_modules/@prisma/client ./node_modules/@prisma/client
|
|
||||||
|
|
||||||
EXPOSE 3000
|
EXPOSE 3000
|
||||||
|
|
||||||
USER node
|
USER node
|
||||||
|
|
||||||
# Start the application
|
|
||||||
CMD ["node", "dist/main"]
|
CMD ["node", "dist/main"]
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { PrismaClient } from '@prisma/client';
|
import { PrismaClient } from '@prisma/client';
|
||||||
|
|
||||||
const prisma = new PrismaClient();
|
const prisma = new PrismaClient();
|
||||||
|
|
||||||
@ -24,7 +24,7 @@ async function main() {
|
|||||||
'<p>کلسیم یکی از مهمترین مواد معدنی برای رشد ساختار استخوانی است. تولهسگها در ماههای اول زندگی به کلسیم بیشتری نیاز دارند تا اسکلتبندی محکمی داشته باشند.</p>',
|
'<p>کلسیم یکی از مهمترین مواد معدنی برای رشد ساختار استخوانی است. تولهسگها در ماههای اول زندگی به کلسیم بیشتری نیاز دارند تا اسکلتبندی محکمی داشته باشند.</p>',
|
||||||
'',
|
'',
|
||||||
'<h2>نسبت Ca:P (کلسیم به فسفر)</h2>',
|
'<h2>نسبت Ca:P (کلسیم به فسفر)</h2>',
|
||||||
'<p>نسبت ایدهآل کلسیم به فسفر در رژیم تولهسگها <strong>۱.۲:۱ تا ۱.۵:۱</strong> است. عدم تعادل در این نسبت میتواند منجر به ناهنجاریهای استخوانی مانند پاهای پرانتزی و دیسپلازی هیپ شود. <strong>پودر پوسته تخم مرغ کانینو</strong> با ۳۶٪ کلسیم خالص و فسفر ۰.۱٪ بهترین گزینه برای تنظیم این نسبت است.</p>',
|
'<p>نسبت ایدهآل کلسیم به فسفر در رژیم تولهسگها <strong>۱.۲:۱ تا ۱.۵:۱</strong> است. عدم تعادل در این نسبت میتواند منجر به ناهنجاریهای استخوانی مانند پاهای پرانتزی و دیسپلازی هیپ شود. <strong>پودر پوسته تخم مرغ کانینا</strong> با ۳۶٪ کلسیم خالص و فسفر ۰.۱٪ بهترین گزینه برای تنظیم این نسبت است.</p>',
|
||||||
'',
|
'',
|
||||||
'<h2>نقش ویتامین D3 در جذب کلسیم</h2>',
|
'<h2>نقش ویتامین D3 در جذب کلسیم</h2>',
|
||||||
'<p>ویتامین D3 (کولهکلسیفرول) جذب کلسیم از روده را تا ۳۰٪ افزایش میدهد. <strong>مصرف همزمان ویتامین D2 (ارگوکلسیفرول) با D3 مجاز نیست</strong> زیرا این دو با یکدیگر رقابت کرده و جذب مؤثر را کاهش میدهند.</p>',
|
'<p>ویتامین D3 (کولهکلسیفرول) جذب کلسیم از روده را تا ۳۰٪ افزایش میدهد. <strong>مصرف همزمان ویتامین D2 (ارگوکلسیفرول) با D3 مجاز نیست</strong> زیرا این دو با یکدیگر رقابت کرده و جذب مؤثر را کاهش میدهند.</p>',
|
||||||
@ -49,12 +49,12 @@ async function main() {
|
|||||||
'<li><strong>B1 (تیامین):</strong> متابولیسم کربوهیدراتها و عملکرد سیستم عصبی</li>',
|
'<li><strong>B1 (تیامین):</strong> متابولیسم کربوهیدراتها و عملکرد سیستم عصبی</li>',
|
||||||
'<li><strong>B2 (ریبوفلاوین):</strong> تولید انرژی و سلامت پوست</li>',
|
'<li><strong>B2 (ریبوفلاوین):</strong> تولید انرژی و سلامت پوست</li>',
|
||||||
'<li><strong>B6 (پیریدوکسین):</strong> سنتز پروتئین و تولید گلبول قرمز</li>',
|
'<li><strong>B6 (پیریدوکسین):</strong> سنتز پروتئین و تولید گلبول قرمز</li>',
|
||||||
'<li><strong>B7 (بیوتین / ویتامین H):</strong> کراتینسازی مو و پنجه - <strong>Biotin-Tabs کانینو</strong> با ۱ میلیون میکروگرم بیوتین در کیلوگرم، قویترین دوز موجود در بازار است</li>',
|
'<li><strong>B7 (بیوتین / ویتامین H):</strong> کراتینسازی مو و پنجه - <strong>Biotin-Tabs کانینا</strong> با ۱ میلیون میکروگرم بیوتین در کیلوگرم، قویترین دوز موجود در بازار است</li>',
|
||||||
'<li><strong>B12 (کوبالامین):</strong> خونسازی و عملکرد عصبی</li>',
|
'<li><strong>B12 (کوبالامین):</strong> خونسازی و عملکرد عصبی</li>',
|
||||||
'</ul>',
|
'</ul>',
|
||||||
'',
|
'',
|
||||||
'<h2>نقش بیوتین در سلامت پوشش</h2>',
|
'<h2>نقش بیوتین در سلامت پوشش</h2>',
|
||||||
'<p>بیوتین کوآنزیم کربوکسیلازهای مسئول سنتز اسیدهای چرب و گلوکونئوژنز است. <strong>ریزش مو و شکنندگی پنجه</strong> از نشانههای کلاسیک کمبود بیوتین هستند. قرص بیوتین کانینو با تأثیر از هفته چهارم، پوشش براق و پنجههای محکم را تضمین میکند.</p>',
|
'<p>بیوتین کوآنزیم کربوکسیلازهای مسئول سنتز اسیدهای چرب و گلوکونئوژنز است. <strong>ریزش مو و شکنندگی پنجه</strong> از نشانههای کلاسیک کمبود بیوتین هستند. قرص بیوتین کانینا با تأثیر از هفته چهارم، پوشش براق و پنجههای محکم را تضمین میکند.</p>',
|
||||||
'',
|
'',
|
||||||
'<h2>محصولات تقویتکننده پوست و مو</h2>',
|
'<h2>محصولات تقویتکننده پوست و مو</h2>',
|
||||||
'<ul>',
|
'<ul>',
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { PrismaClient } from '@prisma/client';
|
import { PrismaClient } from '@prisma/client';
|
||||||
|
|
||||||
const prisma = new PrismaClient();
|
const prisma = new PrismaClient();
|
||||||
|
|
||||||
@ -39,7 +39,7 @@ async function main() {
|
|||||||
vetName: 'دکتر علیرضا رضایی',
|
vetName: 'دکتر علیرضا رضایی',
|
||||||
clinicName: 'کلینیک دامپزشکی پایتخت',
|
clinicName: 'کلینیک دامپزشکی پایتخت',
|
||||||
imageUrl: '/images/vets/vet1.webp',
|
imageUrl: '/images/vets/vet1.webp',
|
||||||
quote: 'مکملهای مفصلی کانینو از نظر سرعت جذب و اثربخشی در سگهای نژاد بزرگ بینظیر هستند. ما نتایج فوقالعادهای روی دیسپلازی هیپ مشاهده کردیم.',
|
quote: 'مکملهای مفصلی کانینا از نظر سرعت جذب و اثربخشی در سگهای نژاد بزرگ بینظیر هستند. ما نتایج فوقالعادهای روی دیسپلازی هیپ مشاهده کردیم.',
|
||||||
rating: 5,
|
rating: 5,
|
||||||
order: 1,
|
order: 1,
|
||||||
isActive: true,
|
isActive: true,
|
||||||
@ -48,7 +48,7 @@ async function main() {
|
|||||||
vetName: 'دکتر سارا شمس',
|
vetName: 'دکتر سارا شمس',
|
||||||
clinicName: 'بیمارستان دامپزشکی تهران',
|
clinicName: 'بیمارستان دامپزشکی تهران',
|
||||||
imageUrl: '/images/vets/vet2.webp',
|
imageUrl: '/images/vets/vet2.webp',
|
||||||
quote: 'من همیشه برای ریزش مو و مشکلات پوستی گربهها، قرصهای مخمر و بیوتین کانینو را تجویز میکنم. نتایج معمولاً در کمتر از ۳ هفته قابل مشاهده است.',
|
quote: 'من همیشه برای ریزش مو و مشکلات پوستی گربهها، قرصهای مخمر و بیوتین کانینا را تجویز میکنم. نتایج معمولاً در کمتر از ۳ هفته قابل مشاهده است.',
|
||||||
rating: 5,
|
rating: 5,
|
||||||
order: 2,
|
order: 2,
|
||||||
isActive: true,
|
isActive: true,
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"name": "Canina Ballaststoff Mix",
|
"name": "Canina Ballaststoff Mix",
|
||||||
|
"category_slug": "immune",
|
||||||
"description": "فیبر میکس کانینا حاوی منابع فیبر گیاهی است که به طور روزانه رژیم غذایی خام پت را تقویت می کند. این فیبرها به عنوان پری بیوتیک برای فلور پایدار روده مهم هستند. حرکت طبیعی روده را تحریک کرده، مدفوع را حجیم می کند و تاثیر مثبتی بر تخلیه غدد مقعدی دارد. سیستم ایمنی روده را تقویت کرده و انرژی باکتری های روده بزرگ را تامین می کند. بدون غلات و پروتئین حیوانی بوده و برای آلرژی غذایی مناسب است.",
|
"description": "فیبر میکس کانینا حاوی منابع فیبر گیاهی است که به طور روزانه رژیم غذایی خام پت را تقویت می کند. این فیبرها به عنوان پری بیوتیک برای فلور پایدار روده مهم هستند. حرکت طبیعی روده را تحریک کرده، مدفوع را حجیم می کند و تاثیر مثبتی بر تخلیه غدد مقعدی دارد. سیستم ایمنی روده را تقویت کرده و انرژی باکتری های روده بزرگ را تامین می کند. بدون غلات و پروتئین حیوانی بوده و برای آلرژی غذایی مناسب است.",
|
||||||
"ingredients": "تفاله سیب، پودر یونجه سبز، فیبر نخود فرنگی، تفاله هویج، کیک بذر کتان، کمپلکس الیگوساکارید و بتاگلوکان، مخمر آبجو، کنگر فرنگی، خاک دیاتومه، روغن کلزا، کربنات کلسیم. مواد تشکیل دهنده: پروتئین خام 11.9%، چربی خام 6.3%، فیبر خام 27.3%.",
|
"ingredients": "تفاله سیب، پودر یونجه سبز، فیبر نخود فرنگی، تفاله هویج، کیک بذر کتان، کمپلکس الیگوساکارید و بتاگلوکان، مخمر آبجو، کنگر فرنگی، خاک دیاتومه، روغن کلزا، کربنات کلسیم. مواد تشکیل دهنده: پروتئین خام 11.9%، چربی خام 6.3%، فیبر خام 27.3%.",
|
||||||
"usage_and_dosage": "مناسب برای توله سگ ها، بچه گربه ها و حیوانات مسن، باردار و شیرده. پودر را با کمی آب گرم مخلوط کنید. مقدار مصرف: 1 گرم به ازای هر کیلوگرم وزن بدن، حداکثر 15 گرم در روز.",
|
"usage_and_dosage": "مناسب برای توله سگ ها، بچه گربه ها و حیوانات مسن، باردار و شیرده. پودر را با کمی آب گرم مخلوط کنید. مقدار مصرف: 1 گرم به ازای هر کیلوگرم وزن بدن، حداکثر 15 گرم در روز.",
|
||||||
@ -10,6 +11,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Canina CANHYDROX GAG",
|
"name": "Canina CANHYDROX GAG",
|
||||||
|
"category_slug": "joints",
|
||||||
"description": "ویژه سگ های بزرگ و سنگین وزن برای درمان بافت همبند، مفاصل، استخوان ها، تاندون ها و غضروف. ایده آل برای سگ های در مرحله رشد، مسن و سگ های با عملکرد بالا. از تشکیل کالوس و استحکام استخوان پشتیبانی کرده و ظرفیت بافر مفاصل را بهبود می بخشد.",
|
"description": "ویژه سگ های بزرگ و سنگین وزن برای درمان بافت همبند، مفاصل، استخوان ها، تاندون ها و غضروف. ایده آل برای سگ های در مرحله رشد، مسن و سگ های با عملکرد بالا. از تشکیل کالوس و استحکام استخوان پشتیبانی کرده و ظرفیت بافر مفاصل را بهبود می بخشد.",
|
||||||
"ingredients": "30% تری کلسیم فسفات، هیدروکسی آپاتیت، مخمر آبجو، 10% پودر صدف سبز، جلبک دریایی. ویتامین سی، ویتامین ایی، سلنیوم و متیونین.",
|
"ingredients": "30% تری کلسیم فسفات، هیدروکسی آپاتیت، مخمر آبجو، 10% پودر صدف سبز، جلبک دریایی. ویتامین سی، ویتامین ایی، سلنیوم و متیونین.",
|
||||||
"usage_and_dosage": "سگ های جوان از 8 هفتگی: برای پیشگیری 2 قرص و برای اندام های بدشکل 4 قرص به ازای هر 10 کیلوگرم تا 15 ماهگی. سگ های مسن و عملکردی: 4 قرص به ازای هر 10 کیلوگرم. پس از شکستگی: 4 قرص برای دوره نقاهت.",
|
"usage_and_dosage": "سگ های جوان از 8 هفتگی: برای پیشگیری 2 قرص و برای اندام های بدشکل 4 قرص به ازای هر 10 کیلوگرم تا 15 ماهگی. سگ های مسن و عملکردی: 4 قرص به ازای هر 10 کیلوگرم. پس از شکستگی: 4 قرص برای دوره نقاهت.",
|
||||||
@ -19,6 +21,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Canina Eierschalenpulver",
|
"name": "Canina Eierschalenpulver",
|
||||||
|
"category_slug": "energy",
|
||||||
"description": "پودر پوسته تخم مرغ برای تامین کلسیم، سلامت دندان ها و فعالیت عضلات. جایگزین پودر استخوان برای سگ های دارای آلرژی به پروتئین گوشت. مناسب برای تکمیل وعده های غذایی گوشتی خام (B.A.R.F).",
|
"description": "پودر پوسته تخم مرغ برای تامین کلسیم، سلامت دندان ها و فعالیت عضلات. جایگزین پودر استخوان برای سگ های دارای آلرژی به پروتئین گوشت. مناسب برای تکمیل وعده های غذایی گوشتی خام (B.A.R.F).",
|
||||||
"ingredients": "100% پوسته تخم مرغ آسیاب شده. خاکستر خام 96%، کلسیم 36%، فسفر 0.1%.",
|
"ingredients": "100% پوسته تخم مرغ آسیاب شده. خاکستر خام 96%، کلسیم 36%، فسفر 0.1%.",
|
||||||
"usage_and_dosage": "0.2 گرم به ازای هر کیلوگرم وزن بدن، حداکثر 16 گرم برای هر حیوان در روز.",
|
"usage_and_dosage": "0.2 گرم به ازای هر کیلوگرم وزن بدن، حداکثر 16 گرم برای هر حیوان در روز.",
|
||||||
@ -28,6 +31,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Canina FLEXAN",
|
"name": "Canina FLEXAN",
|
||||||
|
"category_slug": "joints",
|
||||||
"description": "پشتیبانی از سیستم اسکلتی عضلانی، مفاصل متحرک و تناسب اندام. پپتیدهای کلاژن غضروف را بازسازی کرده و پودر صدف لب سبز بافت همبند را تقویت می کند.",
|
"description": "پشتیبانی از سیستم اسکلتی عضلانی، مفاصل متحرک و تناسب اندام. پپتیدهای کلاژن غضروف را بازسازی کرده و پودر صدف لب سبز بافت همبند را تقویت می کند.",
|
||||||
"ingredients": "90% کلاژن، 10% پودر گوشت صدف لب سبز. پروتئین خام 94.2%.",
|
"ingredients": "90% کلاژن، 10% پودر گوشت صدف لب سبز. پروتئین خام 94.2%.",
|
||||||
"usage_and_dosage": "تغذیه روزانه برای توله سگ ها تا مسن. 2 گرم به ازای هر 10 کیلوگرم وزن بدن، حداکثر 15 گرم در روز.",
|
"usage_and_dosage": "تغذیه روزانه برای توله سگ ها تا مسن. 2 گرم به ازای هر 10 کیلوگرم وزن بدن، حداکثر 15 گرم در روز.",
|
||||||
@ -37,6 +41,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Canina HERZ VITAL",
|
"name": "Canina HERZ VITAL",
|
||||||
|
"category_slug": "energy",
|
||||||
"description": "برای سگ ها و گربه های مسن دارای نارسایی قلبی. ال کارنیتین بر تامین انرژی قلب و عضلات تاثیر گذاشته و نشاط و رفاه حیوان را افزایش می دهد.",
|
"description": "برای سگ ها و گربه های مسن دارای نارسایی قلبی. ال کارنیتین بر تامین انرژی قلب و عضلات تاثیر گذاشته و نشاط و رفاه حیوان را افزایش می دهد.",
|
||||||
"ingredients": "دکستروز، مخمر غیر فعال، زالزالک. حاوی ال کارنیتین.",
|
"ingredients": "دکستروز، مخمر غیر فعال، زالزالک. حاوی ال کارنیتین.",
|
||||||
"usage_and_dosage": "نصف قاشق چایخوری به ازای هر 10 کیلوگرم وزن بدن، حداکثر 3 قاشق چایخوری. به مدت 6 ماه همراه غذا تجویز شود.",
|
"usage_and_dosage": "نصف قاشق چایخوری به ازای هر 10 کیلوگرم وزن بدن، حداکثر 3 قاشق چایخوری. به مدت 6 ماه همراه غذا تجویز شود.",
|
||||||
@ -46,6 +51,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Canina IMMUN-BOOSTER Paste",
|
"name": "Canina IMMUN-BOOSTER Paste",
|
||||||
|
"category_slug": "immune",
|
||||||
"description": "بازیابی و نقاهت تغذیه ای با چگالی انرژی بالا. ایمونوگلوبولین های آغوز سیستم دفاعی را تقویت کرده و برای نقاهت پس از زایمان، تمرین و استرس عالی است. انتروکوک فاسیوم فلور روده را سالم نگه می دارد.",
|
"description": "بازیابی و نقاهت تغذیه ای با چگالی انرژی بالا. ایمونوگلوبولین های آغوز سیستم دفاعی را تقویت کرده و برای نقاهت پس از زایمان، تمرین و استرس عالی است. انتروکوک فاسیوم فلور روده را سالم نگه می دارد.",
|
||||||
"ingredients": "روغن های گیاهی، 20% پودر آغوز، شکر انگور. ویتامین آ، د3، ایی و تثبیت کننده فلور روده.",
|
"ingredients": "روغن های گیاهی، 20% پودر آغوز، شکر انگور. ویتامین آ، د3، ایی و تثبیت کننده فلور روده.",
|
||||||
"usage_and_dosage": "توله ها 0.25 میلی لیتر، سگ های متوسط 0.5-1 میلی لیتر، سگ های بزرگ 1-4 میلی لیتر در روز تا زمان بهبودی کامل.",
|
"usage_and_dosage": "توله ها 0.25 میلی لیتر، سگ های متوسط 0.5-1 میلی لیتر، سگ های بزرگ 1-4 میلی لیتر در روز تا زمان بهبودی کامل.",
|
||||||
@ -55,6 +61,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Canina Katzenmilch",
|
"name": "Canina Katzenmilch",
|
||||||
|
"category_slug": "nutrition",
|
||||||
"description": "غذای کامل جایگزین شیر مادر با ویتامین ها و مواد معدنی. مناسب بچه گربه های بی مادر از 1 روزگی، گربه های مسن، بیمار و شیرده.",
|
"description": "غذای کامل جایگزین شیر مادر با ویتامین ها و مواد معدنی. مناسب بچه گربه های بی مادر از 1 روزگی، گربه های مسن، بیمار و شیرده.",
|
||||||
"ingredients": "لاکتوز، پودر آب پنیر، چربی نارگیل، روغن ماهی، پروتئین 30%. غنی از ویتامین ها و 100 میلی گرم تورین.",
|
"ingredients": "لاکتوز، پودر آب پنیر، چربی نارگیل، روغن ماهی، پروتئین 30%. غنی از ویتامین ها و 100 میلی گرم تورین.",
|
||||||
"usage_and_dosage": "1 قسمت شیر با 3 قسمت آب ولرم مخلوط شود. به بچه گربه های 1 تا 14 روزه هر 2 ساعت تغذیه شود.",
|
"usage_and_dosage": "1 قسمت شیر با 3 قسمت آب ولرم مخلوط شود. به بچه گربه های 1 تا 14 روزه هر 2 ساعت تغذیه شود.",
|
||||||
@ -64,6 +71,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Canina Lachsöl",
|
"name": "Canina Lachsöl",
|
||||||
|
"category_slug": "special-care",
|
||||||
"description": "روغن ماهی سالمون 100% خالص سرشار از اسیدهای چرب امگا 3 (EPA و DHA). متابولیسم را تنظیم کرده و از بازسازی پوست و رشد مو پشتیبانی می کند.",
|
"description": "روغن ماهی سالمون 100% خالص سرشار از اسیدهای چرب امگا 3 (EPA و DHA). متابولیسم را تنظیم کرده و از بازسازی پوست و رشد مو پشتیبانی می کند.",
|
||||||
"ingredients": "100% روغن ماهی سالمون. اسیدهای چرب چند غیراشباع 56%، امگا 3 (14%) و امگا 6 (11%).",
|
"ingredients": "100% روغن ماهی سالمون. اسیدهای چرب چند غیراشباع 56%، امگا 3 (14%) و امگا 6 (11%).",
|
||||||
"usage_and_dosage": "2 میلی لیتر به ازای هر 10 کیلوگرم وزن بدن، حداکثر 10 میلی لیتر در روز مخلوط با خوراک.",
|
"usage_and_dosage": "2 میلی لیتر به ازای هر 10 کیلوگرم وزن بدن، حداکثر 10 میلی لیتر در روز مخلوط با خوراک.",
|
||||||
@ -73,6 +81,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Canina Marine-Ölmischung PREMIUM",
|
"name": "Canina Marine-Ölmischung PREMIUM",
|
||||||
|
"category_slug": "special-care",
|
||||||
"description": "ترکیبی هماهنگ از روغن های خوراکی که متابولیسم ارگانیسم را ارتقا می دهد. از کمبود مواد مغذی در رژیم های خام جلوگیری می کند. روغن آرگان و گل رز به عنوان آنتی اکسیدان و بازسازی کننده عمل می کنند.",
|
"description": "ترکیبی هماهنگ از روغن های خوراکی که متابولیسم ارگانیسم را ارتقا می دهد. از کمبود مواد مغذی در رژیم های خام جلوگیری می کند. روغن آرگان و گل رز به عنوان آنتی اکسیدان و بازسازی کننده عمل می کنند.",
|
||||||
"ingredients": "روغن ماهی، روغن گردو، روغن آرگان، روغن دانه گل رز. چربی خام 100%.",
|
"ingredients": "روغن ماهی، روغن گردو، روغن آرگان، روغن دانه گل رز. چربی خام 100%.",
|
||||||
"usage_and_dosage": "قابل افزودن به تمام وعده های غذایی برای بهینه سازی ویتامین ها و اسیدهای چرب امگا.",
|
"usage_and_dosage": "قابل افزودن به تمام وعده های غذایی برای بهینه سازی ویتامین ها و اسیدهای چرب امگا.",
|
||||||
@ -82,6 +91,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Canina Moortränke",
|
"name": "Canina Moortränke",
|
||||||
|
"category_slug": "immune",
|
||||||
"description": "عصاره پیت حاوی مواد هومیک برای محافظت از غشاهای مخاطی و سیستم ایمنی روده. ایده آل برای نفخ، اسهال، پس از درمان آنتی بیوتیک، تحریک اشتها و خون سازی.",
|
"description": "عصاره پیت حاوی مواد هومیک برای محافظت از غشاهای مخاطی و سیستم ایمنی روده. ایده آل برای نفخ، اسهال، پس از درمان آنتی بیوتیک، تحریک اشتها و خون سازی.",
|
||||||
"ingredients": "100% پیت، پیت مایع (بدون افزودنی و نگهدارنده).",
|
"ingredients": "100% پیت، پیت مایع (بدون افزودنی و نگهدارنده).",
|
||||||
"usage_and_dosage": "قبل از استفاده تکان دهید. سگ های کوچک 2.5 تا 5 میلی لیتر، سگ های متوسط 10 میلی لیتر، سگ های بزرگتر 15 تا 20 میلی لیتر. از 20 میلی لیتر تجاوز نکند.",
|
"usage_and_dosage": "قبل از استفاده تکان دهید. سگ های کوچک 2.5 تا 5 میلی لیتر، سگ های متوسط 10 میلی لیتر، سگ های بزرگتر 15 تا 20 میلی لیتر. از 20 میلی لیتر تجاوز نکند.",
|
||||||
@ -91,6 +101,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Canina PETVITAL Arthro-Tabletten",
|
"name": "Canina PETVITAL Arthro-Tabletten",
|
||||||
|
"category_slug": "joints",
|
||||||
"description": "متابولیسم استخوان را بهبود بخشیده و مفاصل ضعیف را تقویت می کند. عصاره بید و زنجبیل به عنوان آنتی اکسیدان عمل کرده و خاصیت ارتجاعی استخوان را افزایش می دهند.",
|
"description": "متابولیسم استخوان را بهبود بخشیده و مفاصل ضعیف را تقویت می کند. عصاره بید و زنجبیل به عنوان آنتی اکسیدان عمل کرده و خاصیت ارتجاعی استخوان را افزایش می دهند.",
|
||||||
"ingredients": "گیاهان خشک (بید و زنجبیل)، ویتامین ایی، ویتامین ب1، آهن، مس، روی.",
|
"ingredients": "گیاهان خشک (بید و زنجبیل)، ویتامین ایی، ویتامین ب1، آهن، مس، روی.",
|
||||||
"usage_and_dosage": "توله سگ ها: 2 قرص به ازای 10 کیلوگرم برای 1 ماه. سگ های بالغ: 5 قرص به ازای 10 کیلوگرم برای 3 ماه (سالی یکبار تکرار شود).",
|
"usage_and_dosage": "توله سگ ها: 2 قرص به ازای 10 کیلوگرم برای 1 ماه. سگ های بالغ: 5 قرص به ازای 10 کیلوگرم برای 3 ماه (سالی یکبار تکرار شود).",
|
||||||
@ -100,6 +111,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Canina PETVITAL Bio-Aktivator",
|
"name": "Canina PETVITAL Bio-Aktivator",
|
||||||
|
"category_slug": "energy",
|
||||||
"description": "حاوی سرم خون گاو برای تحریک اشتها و تسریع بهبودی در دوره نقاهت. رفاه و هماهنگی متابولیسم را بهبود می بخشد.",
|
"description": "حاوی سرم خون گاو برای تحریک اشتها و تسریع بهبودی در دوره نقاهت. رفاه و هماهنگی متابولیسم را بهبود می بخشد.",
|
||||||
"ingredients": "سرم خون گاو، اتانول 164.4 گرم (به عنوان طعم دهنده).",
|
"ingredients": "سرم خون گاو، اتانول 164.4 گرم (به عنوان طعم دهنده).",
|
||||||
"usage_and_dosage": "1 قطره به ازای هر کیلوگرم وزن بدن، حداکثر 20 قطره در روز. قطره ها به مدت 4 هفته داده شوند، سپس 2 هفته استراحت.",
|
"usage_and_dosage": "1 قطره به ازای هر کیلوگرم وزن بدن، حداکثر 20 قطره در روز. قطره ها به مدت 4 هفته داده شوند، سپس 2 هفته استراحت.",
|
||||||
@ -109,6 +121,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Canina PETVITAL Biotin-Tabs",
|
"name": "Canina PETVITAL Biotin-Tabs",
|
||||||
|
"category_slug": "special-care",
|
||||||
"description": "دوز بالای بیوتین (ویتامین H) برای جلوگیری از ریزش مو، ایجاد پوشش براق، رنگدانه های قوی و پنجه های محکم.",
|
"description": "دوز بالای بیوتین (ویتامین H) برای جلوگیری از ریزش مو، ایجاد پوشش براق، رنگدانه های قوی و پنجه های محکم.",
|
||||||
"ingredients": "دکستروز، آب پنیر، نشاسته، سلولز. بیوتین 1000000 میکروگرم، ویتامین ب2، اسید نیکوتینیک.",
|
"ingredients": "دکستروز، آب پنیر، نشاسته، سلولز. بیوتین 1000000 میکروگرم، ویتامین ب2، اسید نیکوتینیک.",
|
||||||
"usage_and_dosage": "یک قرص به ازای هر 10 کیلوگرم وزن بدن، حداکثر 5 قرص در روز.",
|
"usage_and_dosage": "یک قرص به ازای هر 10 کیلوگرم وزن بدن، حداکثر 5 قرص در روز.",
|
||||||
@ -118,6 +131,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Canina PETVITAL ENERGY-GEL",
|
"name": "Canina PETVITAL ENERGY-GEL",
|
||||||
|
"category_slug": "energy",
|
||||||
"description": "کنسانتره انرژی برای اصلاح سریع کمبودهای مواد مغذی. ایده آل برای دوره نقاهت جهت تحریک اشتها، دوره های رشد، بارداری و شیردهی.",
|
"description": "کنسانتره انرژی برای اصلاح سریع کمبودهای مواد مغذی. ایده آل برای دوره نقاهت جهت تحریک اشتها، دوره های رشد، بارداری و شیردهی.",
|
||||||
"ingredients": "روغن ها، چربی ها، ویتامین ایی، ویتامین ب1، ب2، ب6، ب12.",
|
"ingredients": "روغن ها، چربی ها، ویتامین ایی، ویتامین ب1، ب2، ب6، ب12.",
|
||||||
"usage_and_dosage": "1 قاشق چایخوری (3 میلی لیتر) به ازای 10 کیلوگرم وزن بدن، حداکثر 4 قاشق چایخوری در روز.",
|
"usage_and_dosage": "1 قاشق چایخوری (3 میلی لیتر) به ازای 10 کیلوگرم وزن بدن، حداکثر 4 قاشق چایخوری در روز.",
|
||||||
@ -127,6 +141,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Canina PETVITAL MINERAL-Tabs",
|
"name": "Canina PETVITAL MINERAL-Tabs",
|
||||||
|
"category_slug": "energy",
|
||||||
"description": "انواع مختلف کلسیم برای برطرف کردن کمبود و تشکیل بافت استخوانی. عالی برای دوره رشد، بارداری و شیردهی جهت تامین نیاز کلسیم.",
|
"description": "انواع مختلف کلسیم برای برطرف کردن کمبود و تشکیل بافت استخوانی. عالی برای دوره رشد، بارداری و شیردهی جهت تامین نیاز کلسیم.",
|
||||||
"ingredients": "کربنات کلسیم، مخمر آبجو، ویتامین د3 100000 (برای ذخیره کلسیم در استخوان).",
|
"ingredients": "کربنات کلسیم، مخمر آبجو، ویتامین د3 100000 (برای ذخیره کلسیم در استخوان).",
|
||||||
"usage_and_dosage": "سگ های بالغ: 2 قرص به ازای 10 کیلوگرم. باردار و شیرده: 3 قرص به ازای 10 کیلوگرم. مصرف ویتامین D2 همزمان مجاز نیست.",
|
"usage_and_dosage": "سگ های بالغ: 2 قرص به ازای 10 کیلوگرم. باردار و شیرده: 3 قرص به ازای 10 کیلوگرم. مصرف ویتامین D2 همزمان مجاز نیست.",
|
||||||
@ -136,6 +151,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Canina PETVITAL GAG",
|
"name": "Canina PETVITAL GAG",
|
||||||
|
"category_slug": "joints",
|
||||||
"description": "تامین گلیکوزآمینوگلیکان ها، تاندون ها، رباط ها و غضروف مفاصل را تثبیت می کند. شامل پودر صدف لب سبز و اسیدهای آمینه برای عملکرد بهینه سیستم حرکتی.",
|
"description": "تامین گلیکوزآمینوگلیکان ها، تاندون ها، رباط ها و غضروف مفاصل را تثبیت می کند. شامل پودر صدف لب سبز و اسیدهای آمینه برای عملکرد بهینه سیستم حرکتی.",
|
||||||
"ingredients": "پودر ماهی، پودر جلبک دریایی، پودر گوشت صدف لب سبز. دی ال متیونین، ویتامین ایی، سلنیوم.",
|
"ingredients": "پودر ماهی، پودر جلبک دریایی، پودر گوشت صدف لب سبز. دی ال متیونین، ویتامین ایی، سلنیوم.",
|
||||||
"usage_and_dosage": "پودر: 1 قاشق چایخوری به ازای 10 کیلوگرم (حداکثر 4 قاشق). قرص: 1 قرص به ازای 10 کیلوگرم (حداکثر 5 قرص).",
|
"usage_and_dosage": "پودر: 1 قاشق چایخوری به ازای 10 کیلوگرم (حداکثر 4 قاشق). قرص: 1 قرص به ازای 10 کیلوگرم (حداکثر 5 قرص).",
|
||||||
@ -147,6 +163,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Canina PETVITAL VITAMIN-Tabs",
|
"name": "Canina PETVITAL VITAMIN-Tabs",
|
||||||
|
"category_slug": "energy",
|
||||||
"description": "اصلاح کمبود ویتامین، جلوگیری از خستگی، عدم تناسب و اختلالات رشد. ایده آل برای مادران باردار و شرایط استرس زا.",
|
"description": "اصلاح کمبود ویتامین، جلوگیری از خستگی، عدم تناسب و اختلالات رشد. ایده آل برای مادران باردار و شرایط استرس زا.",
|
||||||
"ingredients": "مخمر آبجو، سلولز، ویتامین های آ، ب1 تا ب12، د3، ایی، کا3.",
|
"ingredients": "مخمر آبجو، سلولز، ویتامین های آ، ب1 تا ب12، د3، ایی، کا3.",
|
||||||
"usage_and_dosage": "1 قرص به ازای هر 10 کیلوگرم وزن بدن در روز.",
|
"usage_and_dosage": "1 قرص به ازای هر 10 کیلوگرم وزن بدن در روز.",
|
||||||
@ -156,6 +173,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Canina Rinderblut Pulver",
|
"name": "Canina Rinderblut Pulver",
|
||||||
|
"category_slug": "energy",
|
||||||
"description": "پودر خون گاو، منبع ارزشمند آهن و هموگلوبین برای انتقال اکسیژن. مکمل عالی برای رژیم گوشت خام (B.A.R.F) جهت تامین خون از دست رفته و رشد عضلات. مناسب دوره نقاهت و سگ های ورزشی.",
|
"description": "پودر خون گاو، منبع ارزشمند آهن و هموگلوبین برای انتقال اکسیژن. مکمل عالی برای رژیم گوشت خام (B.A.R.F) جهت تامین خون از دست رفته و رشد عضلات. مناسب دوره نقاهت و سگ های ورزشی.",
|
||||||
"ingredients": "خون کامل گاو خشک شده. پروتئین خام 92%، آهن.",
|
"ingredients": "خون کامل گاو خشک شده. پروتئین خام 92%، آهن.",
|
||||||
"usage_and_dosage": "0.3 گرم به ازای هر کیلوگرم وزن بدن (حداکثر 12 گرم در روز) مخلوط با خوراک خام برای 6 ماه.",
|
"usage_and_dosage": "0.3 گرم به ازای هر کیلوگرم وزن بدن (حداکثر 12 گرم در روز) مخلوط با خوراک خام برای 6 ماه.",
|
||||||
@ -166,6 +184,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Canina Rinderfett Pulver",
|
"name": "Canina Rinderfett Pulver",
|
||||||
|
"category_slug": "energy",
|
||||||
"description": "منبع انرژی طبیعی از چربی گوشت گاو آب پز بدون شکر. عالی برای حیوانات لاغر، سگ های بسیار فعال، و جبران کمبود چربی در وعده های خام.",
|
"description": "منبع انرژی طبیعی از چربی گوشت گاو آب پز بدون شکر. عالی برای حیوانات لاغر، سگ های بسیار فعال، و جبران کمبود چربی در وعده های خام.",
|
||||||
"ingredients": "72% چربی گوشت گاو، 27% آب گوشت گاو خشک شده. انرژی: 740 کیلوکالری.",
|
"ingredients": "72% چربی گوشت گاو، 27% آب گوشت گاو خشک شده. انرژی: 740 کیلوکالری.",
|
||||||
"usage_and_dosage": "نصف قاشق چایخوری به ازای هر 10 کیلوگرم وزن بدن، حداکثر 3 قاشق چایخوری در روز همراه غذای مرطوب.",
|
"usage_and_dosage": "نصف قاشق چایخوری به ازای هر 10 کیلوگرم وزن بدن، حداکثر 3 قاشق چایخوری در روز همراه غذای مرطوب.",
|
||||||
@ -175,6 +194,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Canina Schwarz Kümmel Samen",
|
"name": "Canina Schwarz Kümmel Samen",
|
||||||
|
"category_slug": "general",
|
||||||
"description": "دانه های زیره سیاه سرشار از اسیدهای چرب غیر اشباع که هضم و متابولیسم را تنظیم می کنند. سیستم دفاعی و عملکرد سگ را تقویت می کند.",
|
"description": "دانه های زیره سیاه سرشار از اسیدهای چرب غیر اشباع که هضم و متابولیسم را تنظیم می کنند. سیستم دفاعی و عملکرد سگ را تقویت می کند.",
|
||||||
"ingredients": "100% دانه های زیره سیاه مصری.",
|
"ingredients": "100% دانه های زیره سیاه مصری.",
|
||||||
"usage_and_dosage": "1 قاشق چایخوری به ازای 10 کیلوگرم وزن بدن، حداکثر 4 قاشق چایخوری مخلوط با آب ولرم. در بارداری استفاده نشود.",
|
"usage_and_dosage": "1 قاشق چایخوری به ازای 10 کیلوگرم وزن بدن، حداکثر 4 قاشق چایخوری مخلوط با آب ولرم. در بارداری استفاده نشود.",
|
||||||
@ -184,6 +204,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Canina Seealgen / Bio-Seealgenmehl",
|
"name": "Canina Seealgen / Bio-Seealgenmehl",
|
||||||
|
"category_slug": "special-care",
|
||||||
"description": "جلبک دریایی ارگانیک سرشار از مواد معدنی و اسیدهای آمینه که با ید و روی، رنگدانه های پوست، بینی و پوشش را پشتیبانی می کند. هضم و سیستم ایمنی را بهبود می بخشد.",
|
"description": "جلبک دریایی ارگانیک سرشار از مواد معدنی و اسیدهای آمینه که با ید و روی، رنگدانه های پوست، بینی و پوشش را پشتیبانی می کند. هضم و سیستم ایمنی را بهبود می بخشد.",
|
||||||
"ingredients": "جلبک دریایی حاوی لیزین، سلولز و ویتامین سی.",
|
"ingredients": "جلبک دریایی حاوی لیزین، سلولز و ویتامین سی.",
|
||||||
"usage_and_dosage": "قرص: 2 عدد به ازای 10 کیلوگرم. پودر: نصف قاشق چایخوری به ازای 10 کیلوگرم وزن بدن. جهت تامین نیاز ید.",
|
"usage_and_dosage": "قرص: 2 عدد به ازای 10 کیلوگرم. پودر: نصف قاشق چایخوری به ازای 10 کیلوگرم وزن بدن. جهت تامین نیاز ید.",
|
||||||
@ -195,6 +216,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Canina TAURIN Für Katzen",
|
"name": "Canina TAURIN Für Katzen",
|
||||||
|
"category_slug": "special-care",
|
||||||
"description": "اسید آمینه ضروری برای گربه ها که سیستم ایمنی، بینایی و قلب را پشتیبانی می کند. کمبود آن باعث نابینایی و اختلالات عصبی می شود.",
|
"description": "اسید آمینه ضروری برای گربه ها که سیستم ایمنی، بینایی و قلب را پشتیبانی می کند. کمبود آن باعث نابینایی و اختلالات عصبی می شود.",
|
||||||
"ingredients": "مخمر آبجو، تورین 700 گرم.",
|
"ingredients": "مخمر آبجو، تورین 700 گرم.",
|
||||||
"usage_and_dosage": "گربه تا 6 کیلو: نصف قاشق چایخوری. بالای 6 کیلو و باردار/شیرده: 1 قاشق چایخوری در روز.",
|
"usage_and_dosage": "گربه تا 6 کیلو: نصف قاشق چایخوری. بالای 6 کیلو و باردار/شیرده: 1 قاشق چایخوری در روز.",
|
||||||
@ -204,6 +226,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Canina Velox Gelenkenergie",
|
"name": "Canina Velox Gelenkenergie",
|
||||||
|
"category_slug": "joints",
|
||||||
"description": "کنسانتره صدف لب سبز نیوزیلندی برای بازسازی مفاصل، رباط ها و غضروف. افزایش استقامت مفاصل توله ها در حال رشد و سگ های پیر.",
|
"description": "کنسانتره صدف لب سبز نیوزیلندی برای بازسازی مفاصل، رباط ها و غضروف. افزایش استقامت مفاصل توله ها در حال رشد و سگ های پیر.",
|
||||||
"ingredients": "100% پودر گوشت صدف لب سبز.",
|
"ingredients": "100% پودر گوشت صدف لب سبز.",
|
||||||
"usage_and_dosage": "1 قاشق چایخوری به ازای 10 کیلوگرم وزن بدن (حداکثر 2 قاشق) در روز به مدت 4 هفته یا مداوم.",
|
"usage_and_dosage": "1 قاشق چایخوری به ازای 10 کیلوگرم وزن بدن (حداکثر 2 قاشق) در روز به مدت 4 هفته یا مداوم.",
|
||||||
@ -213,6 +236,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Canina Welpenbrei",
|
"name": "Canina Welpenbrei",
|
||||||
|
"category_slug": "nutrition",
|
||||||
"description": "فرنی با پروتئین و ویتامین بالا که پرورش سالم توله سگ را از هفته 3 تضمین می کند.",
|
"description": "فرنی با پروتئین و ویتامین بالا که پرورش سالم توله سگ را از هفته 3 تضمین می کند.",
|
||||||
"ingredients": "غلات، گوشت، فرآورده های لبنی، ماهی، پروتئین 27%.",
|
"ingredients": "غلات، گوشت، فرآورده های لبنی، ماهی، پروتئین 27%.",
|
||||||
"usage_and_dosage": "1 قسمت فرنی را با 3 قسمت آب گرم (50 درجه سانتیگراد) مخلوط کنید. مصرف ویتامین D2 همزمان مجاز نیست.",
|
"usage_and_dosage": "1 قسمت فرنی را با 3 قسمت آب گرم (50 درجه سانتیگراد) مخلوط کنید. مصرف ویتامین D2 همزمان مجاز نیست.",
|
||||||
@ -222,6 +246,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Canina Welpenmilch",
|
"name": "Canina Welpenmilch",
|
||||||
|
"category_slug": "nutrition",
|
||||||
"description": "شیر کامل جایگزین شیر مادر با انرژی و ویتامین بالا برای توله سگ های بی مادر از روز 1.",
|
"description": "شیر کامل جایگزین شیر مادر با انرژی و ویتامین بالا برای توله سگ های بی مادر از روز 1.",
|
||||||
"ingredients": "لاکتوز، پودر آب پنیر، روغن ماهی، پروتئین 30%، تورین، ویتامین ها.",
|
"ingredients": "لاکتوز، پودر آب پنیر، روغن ماهی، پروتئین 30%، تورین، ویتامین ها.",
|
||||||
"usage_and_dosage": "1 قسمت شیر با 4 قسمت آب 50 درجه مخلوط شود. تغذیه هر 2 ساعت در ابتدا و سپس هر 4 ساعت.",
|
"usage_and_dosage": "1 قسمت شیر با 4 قسمت آب 50 درجه مخلوط شود. تغذیه هر 2 ساعت در ابتدا و سپس هر 4 ساعت.",
|
||||||
@ -231,6 +256,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Canina PETVITAL Bio-Insect Shocker",
|
"name": "Canina PETVITAL Bio-Insect Shocker",
|
||||||
|
"category_slug": "special-care",
|
||||||
"description": "اسپری دفع کننده محیطی کک، شپش و کنه. تخم ها و انگل های خارجی را به طور موثر از بین می برد.",
|
"description": "اسپری دفع کننده محیطی کک، شپش و کنه. تخم ها و انگل های خارجی را به طور موثر از بین می برد.",
|
||||||
"ingredients": "15 گرم در لیتر دودکانوئیک اسید، 5 گرم در لیتر عصاره مارگوسا.",
|
"ingredients": "15 گرم در لیتر دودکانوئیک اسید، 5 گرم در لیتر عصاره مارگوسا.",
|
||||||
"usage_and_dosage": "هر 4 تا 6 هفته به صورت اسپری از فاصله 30 سانتی متری روی محل زندگی و خواب حیوان استفاده شود.",
|
"usage_and_dosage": "هر 4 تا 6 هفته به صورت اسپری از فاصله 30 سانتی متری روی محل زندگی و خواب حیوان استفاده شود.",
|
||||||
@ -241,6 +267,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Canina Mikrosilber Zahngel",
|
"name": "Canina Mikrosilber Zahngel",
|
||||||
|
"category_slug": "special-care",
|
||||||
"description": "ژل دندانی با میکروسیلور که پلاک، جرم و التهاب لثه را هدف قرار می دهد. بیوفلاونوئیدها از باکتری های پلاک جلوگیری می کنند.",
|
"description": "ژل دندانی با میکروسیلور که پلاک، جرم و التهاب لثه را هدف قرار می دهد. بیوفلاونوئیدها از باکتری های پلاک جلوگیری می کنند.",
|
||||||
"ingredients": "آب، نقره، گلیسیرین، عصاره دانه گریپ فروت.",
|
"ingredients": "آب، نقره، گلیسیرین، عصاره دانه گریپ فروت.",
|
||||||
"usage_and_dosage": "روزانه عصرها 1 ساعت پس از غذا روی دندان های آسیاب مالیده شود. سگ تا 10 کیلو: 1 سانتی متر ژل.",
|
"usage_and_dosage": "روزانه عصرها 1 ساعت پس از غذا روی دندان های آسیاب مالیده شود. سگ تا 10 کیلو: 1 سانتی متر ژل.",
|
||||||
@ -250,6 +277,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Canina NovaGard Green Augenpflege",
|
"name": "Canina NovaGard Green Augenpflege",
|
||||||
|
"category_slug": "special-care",
|
||||||
"description": "قطره چشم برای تمیز کردن و مراقبت از چشم های گریان و گرفتگی چشم. نقره کلوئیدی از التهاب جلوگیری می کند.",
|
"description": "قطره چشم برای تمیز کردن و مراقبت از چشم های گریان و گرفتگی چشم. نقره کلوئیدی از التهاب جلوگیری می کند.",
|
||||||
"ingredients": "آب بدون مواد معدنی، هیالورونات سدیم، نقره کلوئیدی.",
|
"ingredients": "آب بدون مواد معدنی، هیالورونات سدیم، نقره کلوئیدی.",
|
||||||
"usage_and_dosage": "چند قطره روی کیسه ملتحمه ریخته و اطراف چشم پاک شود.",
|
"usage_and_dosage": "چند قطره روی کیسه ملتحمه ریخته و اطراف چشم پاک شود.",
|
||||||
@ -259,6 +287,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Canina NovaGard Green Pfotenpflege",
|
"name": "Canina NovaGard Green Pfotenpflege",
|
||||||
|
"category_slug": "special-care",
|
||||||
"description": "کرم مراقبت از پنجه 100% طبیعی برای تسکین پوست خارش دار، التیام زخم ها و خراشیدگی پوست سگ ها در زمستان و تابستان.",
|
"description": "کرم مراقبت از پنجه 100% طبیعی برای تسکین پوست خارش دار، التیام زخم ها و خراشیدگی پوست سگ ها در زمستان و تابستان.",
|
||||||
"ingredients": "وازلین، روغن پالپ سنجد دریایی، روغن کالاندولا، پانتنول.",
|
"ingredients": "وازلین، روغن پالپ سنجد دریایی، روغن کالاندولا، پانتنول.",
|
||||||
"usage_and_dosage": "چندین بار در روز روی نواحی آسیب دیده بمالید و ماساژ دهید.",
|
"usage_and_dosage": "چندین بار در روز روی نواحی آسیب دیده بمالید و ماساژ دهید.",
|
||||||
|
|||||||
@ -13,14 +13,6 @@ function slugify(text: string): string {
|
|||||||
.replace(/^-|-$/g, '');
|
.replace(/^-|-$/g, '');
|
||||||
}
|
}
|
||||||
|
|
||||||
function cleanBrand(text: string): string {
|
|
||||||
return text
|
|
||||||
.replace(/کانینا/g, 'کانینو')
|
|
||||||
.replace(/کانینا/g, 'کانینو')
|
|
||||||
.replace(/Canina/g, 'Canino')
|
|
||||||
.replace(/canina/g, 'canino');
|
|
||||||
}
|
|
||||||
|
|
||||||
function determineSuitableFor(name: string, description: string): string {
|
function determineSuitableFor(name: string, description: string): string {
|
||||||
const text = (name + ' ' + description).toLowerCase();
|
const text = (name + ' ' + description).toLowerCase();
|
||||||
const hasCat = text.includes('گربه') || text.includes('katzen') || text.includes('cat');
|
const hasCat = text.includes('گربه') || text.includes('katzen') || text.includes('cat');
|
||||||
@ -41,22 +33,27 @@ function parseSize(size: string): { unit: string; packageSize: number } {
|
|||||||
return { unit: 'g', packageSize: 100 };
|
return { unit: 'g', packageSize: 100 };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function findOrCreateCategory(slug: string): Promise<{ id: string; slug: string }> {
|
||||||
|
const CATEGORY_NAMES: Record<string, string> = {
|
||||||
|
'joints': 'مفاصل و استخوان',
|
||||||
|
'immune': 'تقویت سیستم ایمنی و گوارش',
|
||||||
|
'energy': 'ویتامینها و انرژیبخشها',
|
||||||
|
'special-care': 'مراقبتهای ویژه (پوست، دندان و چشم)',
|
||||||
|
'general': 'تقویت عمومی',
|
||||||
|
'nutrition': 'تغذیه تخصصی',
|
||||||
|
'supplements': 'مکملهای غذایی و درمانی',
|
||||||
|
};
|
||||||
|
const name = CATEGORY_NAMES[slug] || slug;
|
||||||
|
return await prisma.category.upsert({
|
||||||
|
where: { slug },
|
||||||
|
update: { name },
|
||||||
|
create: { slug, name, description: name },
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
async function main() {
|
async function main() {
|
||||||
console.log('Seeding products from seed-products-data.json...');
|
console.log('Seeding products from seed-products-data.json...');
|
||||||
|
|
||||||
// 1. Create default category
|
|
||||||
const category = await prisma.category.upsert({
|
|
||||||
where: { slug: 'supplements' },
|
|
||||||
update: {},
|
|
||||||
create: {
|
|
||||||
name: 'مکملهای غذایی و درمانی',
|
|
||||||
slug: 'supplements',
|
|
||||||
description: 'انواع مکملهای اورجینال کانینو آلمان',
|
|
||||||
metaTitle: 'خرید مکمل کانینو',
|
|
||||||
metaDescription: 'بهترین مکملهای کانینو'
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// 2. Read JSON data
|
// 2. Read JSON data
|
||||||
const dataPath = path.join(__dirname, 'seed-products-data.json');
|
const dataPath = path.join(__dirname, 'seed-products-data.json');
|
||||||
if (!fs.existsSync(dataPath)) {
|
if (!fs.existsSync(dataPath)) {
|
||||||
@ -64,16 +61,18 @@ async function main() {
|
|||||||
process.exit(1);
|
process.exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
const productsData = JSON.parse(fs.readFileSync(dataPath, 'utf-8'));
|
const productsData = JSON.parse(fs.readFileSync(dataPath, 'utf-8').replace(/^\ufeff/, ''));
|
||||||
let variantCount = 0;
|
let variantCount = 0;
|
||||||
|
|
||||||
for (const item of productsData) {
|
for (const item of productsData) {
|
||||||
const baseName = cleanBrand(item.name);
|
const baseName = item.name;
|
||||||
const cleanDesc = cleanBrand(item.description);
|
const cleanDesc = item.description;
|
||||||
const cleanIngredients = item.ingredients ? cleanBrand(item.ingredients) : '';
|
const cleanIngredients = item.ingredients || '';
|
||||||
const cleanDosage = item.usage_and_dosage ? cleanBrand(item.usage_and_dosage) : '';
|
const cleanDosage = item.usage_and_dosage || '';
|
||||||
const suitableFor = determineSuitableFor(baseName, cleanDesc);
|
const suitableFor = determineSuitableFor(baseName, cleanDesc);
|
||||||
const baseSlug = slugify(baseName);
|
const baseSlug = slugify(baseName);
|
||||||
|
const categorySlug = item.category_slug || 'supplements';
|
||||||
|
const category = await findOrCreateCategory(categorySlug);
|
||||||
|
|
||||||
for (const variant of item.variants) {
|
for (const variant of item.variants) {
|
||||||
const artNo = variant.art_no;
|
const artNo = variant.art_no;
|
||||||
@ -135,7 +134,7 @@ async function main() {
|
|||||||
// Seed ingredients (split by '،' or '، ')
|
// Seed ingredients (split by '،' or '، ')
|
||||||
await prisma.productIngredient.deleteMany({ where: { productId: product.id } });
|
await prisma.productIngredient.deleteMany({ where: { productId: product.id } });
|
||||||
if (cleanIngredients) {
|
if (cleanIngredients) {
|
||||||
const parts = cleanIngredients.split(/[،,]/).map(s => s.trim()).filter(Boolean);
|
const parts = cleanIngredients.split(/[،,]/).map((s: string) => s.trim()).filter(Boolean);
|
||||||
// Only take the first meaningful items (up to ~20)
|
// Only take the first meaningful items (up to ~20)
|
||||||
const meaningful = parts.slice(0, 20);
|
const meaningful = parts.slice(0, 20);
|
||||||
for (const ing of meaningful) {
|
for (const ing of meaningful) {
|
||||||
@ -171,16 +170,16 @@ async function main() {
|
|||||||
|
|
||||||
// 3. Seed some Blogs
|
// 3. Seed some Blogs
|
||||||
const blog1Content = [
|
const blog1Content = [
|
||||||
'<p><strong>تغذیه صحیح سگهای بالغ</strong> یکی از مهمترین عوامل در حفظ سلامت و افزایش طول عمر آنهاست. برند کانینو (Canino) با بیش از ۴۰ سال سابقه در تولید مکملهای دامپزشکی در آلمان، استاندارد طلایی تغذیه تکمیلی را تعریف کرده است.</p>',
|
'<p><strong>تغذیه صحیح سگهای بالغ</strong> یکی از مهمترین عوامل در حفظ سلامت و افزایش طول عمر آنهاست. برند کانینا (Canina) با بیش از ۴۰ سال سابقه در تولید مکملهای دامپزشکی در آلمان، استاندارد طلایی تغذیه تکمیلی را تعریف کرده است.</p>',
|
||||||
'',
|
'',
|
||||||
'<h2>اصول تغذیه سگ بالغ</h2>',
|
'<h2>اصول تغذیه سگ بالغ</h2>',
|
||||||
'<p>سگهای بالغ به رژیم غذایی متعادل حاوی پروتئین، چربی، کربوهیدرات، ویتامینها و مواد معدنی نیاز دارند. نسبت Ca:P (کلسیم به فسفر) باید در محدوده ۱.۲:۱ تا ۱.۵:۱ باشد. هرگونه عدم تعادل در این نسبت میتواند منجر به مشکلات کلیوی و استخوانی شود.</p>',
|
'<p>سگهای بالغ به رژیم غذایی متعادل حاوی پروتئین، چربی، کربوهیدرات، ویتامینها و مواد معدنی نیاز دارند. نسبت Ca:P (کلسیم به فسفر) باید در محدوده ۱.۲:۱ تا ۱.۵:۱ باشد. هرگونه عدم تعادل در این نسبت میتواند منجر به مشکلات کلیوی و استخوانی شود.</p>',
|
||||||
'',
|
'',
|
||||||
'<h2>نقش مکملها در رژیم غذایی</h2>',
|
'<h2>نقش مکملها در رژیم غذایی</h2>',
|
||||||
'<p>حتی با بهترین رژیم غذایی، ممکن است برخی مواد مغذی به اندازه کافی تأمین نشوند. محصولات کانینو مانند <strong>Petvital Vitamin-Tabs</strong> (کمپلکس کامل A تا K3) و <strong>Biotin-Tabs</strong> (۱ میلیون میکروگرم بیوتین) نیازهای تغذیهای را پوشش میدهند.</p>',
|
'<p>حتی با بهترین رژیم غذایی، ممکن است برخی مواد مغذی به اندازه کافی تأمین نشوند. محصولات کانینا مانند <strong>Petvital Vitamin-Tabs</strong> (کمپلکس کامل A تا K3) و <strong>Biotin-Tabs</strong> (۱ میلیون میکروگرم بیوتین) نیازهای تغذیهای را پوشش میدهند.</p>',
|
||||||
'',
|
'',
|
||||||
'<h2>اسیدهای چرب ضروری</h2>',
|
'<h2>اسیدهای چرب ضروری</h2>',
|
||||||
'<p>روغن سالمون کانینو (Lachs-Öl) با ۱۴٪ امگا ۳ (EPA/DHA) به روش Cold Press استخراج میشود و تمام ویتامینهای حساس به حرارت را حفظ میکند. EPA پیشماده رزولوینهای ضدالتهابی و DHA ۳۰٪ وزن خشک مغز را تشکیل میدهد.</p>',
|
'<p>روغن سالمون کانینا (Lachs-Öl) با ۱۴٪ امگا ۳ (EPA/DHA) به روش Cold Press استخراج میشود و تمام ویتامینهای حساس به حرارت را حفظ میکند. EPA پیشماده رزولوینهای ضدالتهابی و DHA ۳۰٪ وزن خشک مغز را تشکیل میدهد.</p>',
|
||||||
'',
|
'',
|
||||||
'<h2>مراقبت از مفاصل</h2>',
|
'<h2>مراقبت از مفاصل</h2>',
|
||||||
'<p>با افزایش سن سگ، غضروف مفصلی تحلیل میرود. گلیکوزآمینوگلیکانهای صدف لب سبز (GAG) با جذب مولکولهای آب در ماتریکس غضروفی، خاصیت بافری مفاصل را بازیابی میکنند. <strong>CANHYDROX GAG</strong> و <strong>FLEXAN</strong> حاوی این ترکیبات حیاتی هستند.</p>',
|
'<p>با افزایش سن سگ، غضروف مفصلی تحلیل میرود. گلیکوزآمینوگلیکانهای صدف لب سبز (GAG) با جذب مولکولهای آب در ماتریکس غضروفی، خاصیت بافری مفاصل را بازیابی میکنند. <strong>CANHYDROX GAG</strong> و <strong>FLEXAN</strong> حاوی این ترکیبات حیاتی هستند.</p>',
|
||||||
@ -195,12 +194,12 @@ async function main() {
|
|||||||
].join('\n');
|
].join('\n');
|
||||||
|
|
||||||
const blog2Content = [
|
const blog2Content = [
|
||||||
'<p><strong>کانینو (Canino)</strong> نماینده رسمی برند <strong>Canina pharma GmbH</strong> در ایران است. این شرکت آلمانی در سال ۱۹۸۴ توسط <strong>پتر و کریستین کرشنمایر</strong> در شهر برگیش گلادباخ تأسیس شد و به یکی از پیشگامان تولید مکملهای طبیعی دامپزشکی در اروپا تبدیل شده است.</p>',
|
'<p><strong>کانینا (Canina)</strong> نماینده رسمی برند <strong>Canina pharma GmbH</strong> در ایران است. این شرکت آلمانی در سال ۱۹۸۴ توسط <strong>پتر و کریستین کرشنمایر</strong> در شهر برگیش گلادباخ تأسیس شد و به یکی از پیشگامان تولید مکملهای طبیعی دامپزشکی در اروپا تبدیل شده است.</p>',
|
||||||
'',
|
'',
|
||||||
'<h2>فلسفه Canina: "مادر طبیعت بهترین نسخه را میداند"</h2>',
|
'<h2>فلسفه Canina: "مادر طبیعت بهترین نسخه را میداند"</h2>',
|
||||||
'<p>تمام محصولات کانینا بر پایه مواد اولیه طبیعی و با فرآیندهای پیشرفته تولید میشوند. این شرکت دارای گواهیهای معتبر <strong>IFS (International Featured Standard)</strong> و <strong>HACCP</strong> است و محصولات آن در بیش از ۴۰ کشور جهان توزیع میشود.</p>',
|
'<p>تمام محصولات کانینا بر پایه مواد اولیه طبیعی و با فرآیندهای پیشرفته تولید میشوند. این شرکت دارای گواهیهای معتبر <strong>IFS (International Featured Standard)</strong> و <strong>HACCP</strong> است و محصولات آن در بیش از ۴۰ کشور جهان توزیع میشود.</p>',
|
||||||
'',
|
'',
|
||||||
'<h2>چرا مکملهای کانینو در ایران؟</h2>',
|
'<h2>چرا مکملهای کانینا در ایران؟</h2>',
|
||||||
'<ul>',
|
'<ul>',
|
||||||
'<li><strong>کیفیت آلمانی:</strong> تمام محصولات در کارخانه برگیش گلادباخ تحت نظارت دامپزشکان تولید میشوند</li>',
|
'<li><strong>کیفیت آلمانی:</strong> تمام محصولات در کارخانه برگیش گلادباخ تحت نظارت دامپزشکان تولید میشوند</li>',
|
||||||
'<li><strong>بدون مواد مصنوعی:</strong> فاقد رنگ، طعم و نگهدارنده مصنوعی</li>',
|
'<li><strong>بدون مواد مصنوعی:</strong> فاقد رنگ، طعم و نگهدارنده مصنوعی</li>',
|
||||||
@ -215,7 +214,7 @@ async function main() {
|
|||||||
'<p><strong>قلب و انرژی:</strong> Herz Vital (ال-کارنیتین و زالزالک)، Energy-Gel (ویتامینهای گروه B)</p>',
|
'<p><strong>قلب و انرژی:</strong> Herz Vital (ال-کارنیتین و زالزالک)، Energy-Gel (ویتامینهای گروه B)</p>',
|
||||||
'',
|
'',
|
||||||
'<h2>تعهد به سلامت حیوانات</h2>',
|
'<h2>تعهد به سلامت حیوانات</h2>',
|
||||||
'<p>کانینو به عنوان نماینده رسمی کانینا در ایران، متعهد به ارائه محصولات اصل با ضمانت اصالت و پروانه دامپزشکی است. تمام محصولات دارای بستهبندی اصلی آلمان و بارکد اختصاصی هستند.</p>'
|
'<p>کانینا به عنوان نماینده رسمی کانینا در ایران، متعهد به ارائه محصولات اصل با ضمانت اصالت و پروانه دامپزشکی است. تمام محصولات دارای بستهبندی اصلی آلمان و بارکد اختصاصی هستند.</p>'
|
||||||
].join('\n');
|
].join('\n');
|
||||||
|
|
||||||
const blogs = [
|
const blogs = [
|
||||||
@ -227,7 +226,7 @@ async function main() {
|
|||||||
isPublished: true,
|
isPublished: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'چرا مکملهای کانینو؟',
|
title: 'چرا مکملهای کانینا؟',
|
||||||
slug: 'why-canino-supplements',
|
slug: 'why-canino-supplements',
|
||||||
content: blog2Content,
|
content: blog2Content,
|
||||||
authorId: adminId,
|
authorId: adminId,
|
||||||
|
|||||||
150
backend/prisma/seed-ui-texts.ts
Normal file
@ -0,0 +1,150 @@
|
|||||||
|
import { PrismaClient } from '@prisma/client';
|
||||||
|
|
||||||
|
const prisma = new PrismaClient();
|
||||||
|
|
||||||
|
const UI_TEXTS: Record<string, string> = {
|
||||||
|
// === Header / Navigation ===
|
||||||
|
"shipping_notice": "ارسال رایگان برای سفارشهای بالای ۱۵۰ هزار تومان",
|
||||||
|
"brand_name_fa": "ایران",
|
||||||
|
"brand_subtitle": "نماینده رسمی Canina Pharma GmbH آلمان",
|
||||||
|
"nav_solutions": "راهکارهای درمانی",
|
||||||
|
"nav_products": "محصولات تخصصی",
|
||||||
|
"nav_wiki": "دانشنامه علمی",
|
||||||
|
"nav_blog": "مجله سلامت پت",
|
||||||
|
"nav_pet_profiles": "شناسنامه پتها",
|
||||||
|
"nav_search_placeholder": "جستجوی محصولات، مقالات سلامت و...",
|
||||||
|
"nav_search_button": "جستجو",
|
||||||
|
"nav_pet_switcher_title": "تغییر پت یا مدیریت حساب",
|
||||||
|
"nav_register_pet": "ثبت همدم (Pet) جدید",
|
||||||
|
"nav_wallet_orders": "کیف پول و سفارشات",
|
||||||
|
"nav_logout": "خروج از حساب کانینا",
|
||||||
|
"nav_login": "ورود / ثبتنام",
|
||||||
|
"nav_cart": "سبد خرید",
|
||||||
|
|
||||||
|
// === Hero Section ===
|
||||||
|
"hero_badge": "تخصص دارویی از آلمان",
|
||||||
|
"hero_title": "تخصص آلمانی در خدمت\nسلامت پتهای خانگی",
|
||||||
|
"hero_desc": "بیش از <span className=\"font-bold text-canina-blue\">۴۰ سال</span> تجربه نوآورانه در تولید مکملهای درمانی با بالاترین استاندارد کیفی «گرید دارویی اختصاصی». راهکار هوشمند برای هر نیاز بالینی.",
|
||||||
|
"hero_btn_advisor": "دستیار سلامت پت",
|
||||||
|
"hero_btn_products": "مشاهده محصولات",
|
||||||
|
"hero_image_badge": "سرآمد علمی در پزشکی پتها",
|
||||||
|
"hero_image_title": "مکملهای تایید شده دامپزشکی",
|
||||||
|
"hero_quality_standard": "استاندارد کیفی آلمان",
|
||||||
|
"hero_image_url": "/assets/images/hero-section-image.png",
|
||||||
|
"hero_stat_founded": "سال تأسیس ۱۹۸۴",
|
||||||
|
"hero_stat_agencies": "نمایندگی فعال",
|
||||||
|
"hero_stat_german_formula": "فرمول آلمانی",
|
||||||
|
|
||||||
|
// === Smart Advisor ===
|
||||||
|
"advisor_badge": "تکنولوژی پایش هوشمند",
|
||||||
|
"advisor_title": "دستیار سلامت کانینا",
|
||||||
|
"advisor_subtitle": "فقط چند قدم تا صدور شناسنامه هوشمند و دریافت پیشنهادات تخصصی",
|
||||||
|
"advisor_step1_title": "گام اول: هویت بصری",
|
||||||
|
"advisor_step1_desc": "همدم شما رو با چه اسمی صدا میزنید؟",
|
||||||
|
"advisor_pet_name_label": "نام پت",
|
||||||
|
"advisor_pet_name_placeholder": "لوسی، تدی...",
|
||||||
|
"advisor_pet_breed_label": "نژاد",
|
||||||
|
"advisor_pet_breed_placeholder": "ژرمن، پرشین...",
|
||||||
|
"advisor_submit_btn": "ثبت هویت و ادامه",
|
||||||
|
"advisor_validation_warning": "⚠️ لطفاً ابتدا نام و نژاد پت را در بالا وارد کنید.",
|
||||||
|
"advisor_step2_title": "گام دوم: پایش فیزیکی",
|
||||||
|
"advisor_step2_desc": "اطلاعات فیزیکی دقیق به دوزبندی صحیح مکملها کمک میکند",
|
||||||
|
"advisor_age_label": "سن حیوان (سال)",
|
||||||
|
"advisor_weight_label": "وزن حیوان (کیلوگرم)",
|
||||||
|
"advisor_activity_label": "سطح فعالیت روزانه",
|
||||||
|
"advisor_back": "قبلی",
|
||||||
|
"advisor_next_final": "گام نهایی سلامت",
|
||||||
|
"advisor_step3_title": "گام آخر: سوابق و حساسیتها",
|
||||||
|
"advisor_step3_desc": "در صورت وجود هر یک از موارد زیر، آن را تیک بزنید",
|
||||||
|
"advisor_complete": "تکمیل و صدور شناسنامه",
|
||||||
|
|
||||||
|
// === Featured Products ===
|
||||||
|
"featured_badge": "بیشترین انتخاب توسط دامپزشکان",
|
||||||
|
"featured_title_line1": "محصولات برگزیده و راهکارهای",
|
||||||
|
"featured_title_line2": "درمان تخصصی",
|
||||||
|
"featured_desc": "محصولات دارویی کانینا با استفاده از دانش پیشرفته بیوتکنولوژی و مواد اولیه ارگانیک نایاب فرآوری شدهاند.",
|
||||||
|
"featured_view_all": "مشاهده تمامی محصولات",
|
||||||
|
"product_view_details": "مشاهده جزییات",
|
||||||
|
"featured_no_products_title": "هیچ محصولی یافت نشد",
|
||||||
|
"featured_no_products_desc": "در حال حاضر هیچ محصول برجستهای برای نمایش وجود ندارد. لطفاً در پنل ادمین محصولات برگزیده را تنظیم کنید.",
|
||||||
|
|
||||||
|
// === Vet Gallery / Videos ===
|
||||||
|
"videos_badge": "Vet Insights",
|
||||||
|
"videos_title": "مشاوره ویدئویی",
|
||||||
|
"videos_title_highlight": "دوست دامپزشک پت شما",
|
||||||
|
"videos_desc": "متخصصین آلمانی کانینا مستقیماً با شما صحبت میکنند. نحوه مصرف، مزایای رقابتی و دانش تخصصی پشت هر محصول.",
|
||||||
|
"videos_view_all": "مشاهده همه ویدئوها",
|
||||||
|
|
||||||
|
// === Navigation Cards (Home Page) ===
|
||||||
|
"nav_card_shop_title": "فروشگاه تخصصی",
|
||||||
|
"nav_card_shop_desc": "دسترسی به تمامی محصولات بر اساس علائم بالینی و نیازهای پت شما.",
|
||||||
|
"nav_card_shop_cta": "کاتالوگ کامل محصولات",
|
||||||
|
"nav_card_wiki_title": "دانشنامه علمی",
|
||||||
|
"nav_card_wiki_desc": "آشنایی با ترکیبات نایاب و استانداردهای دارویی محصولات آلمانی کانینا.",
|
||||||
|
"nav_card_wiki_cta": "مطالعه مقالات تخصصی",
|
||||||
|
|
||||||
|
// === About Section ===
|
||||||
|
"about_label": "میراث ما از آلمان",
|
||||||
|
"about_title": "چرا برند آلمانی Canina مرجع دامپزشکان است؟",
|
||||||
|
"about_item1_title": "مواد اولیه نایاب",
|
||||||
|
"about_item1_desc": "استفاده از پودر صدف لبسبز اصل نیوزیلند و مواد ارگانیک با گرید دارویی.",
|
||||||
|
"about_item2_title": "فاقد مواد نگهدارنده",
|
||||||
|
"about_item2_desc": "تمامی محصولات ۱۰۰٪ طبیعی و فاقد رنگهای مصنوعی و طعمدهندههای شیمیایی هستند.",
|
||||||
|
"about_item3_title": "تاییدیه اروپا",
|
||||||
|
"about_item3_desc": "مطابق با سختگیرانهترین استانداردهای ایمنی مواد غذایی و دارویی در اتحادیه اروپا.",
|
||||||
|
|
||||||
|
// === CTA Section ===
|
||||||
|
"cta_title": "میخواهید بدانید کدام محصول برای پت شما مناسبتر است؟",
|
||||||
|
"cta_desc": "تیم متخصص دامپزشکی کانینا ایران آماده پاسخگویی به سوالات شماست.",
|
||||||
|
"cta_btn_primary": "دریافت رژیم مکمل رایگان",
|
||||||
|
"cta_btn_secondary": "پروانه دامپزشکی و اصالت کالا",
|
||||||
|
|
||||||
|
// === Footer ===
|
||||||
|
"footer_brand_title": "کانینا ایران",
|
||||||
|
"footer_brand_subtitle": "نماینده رسمی در ایران",
|
||||||
|
"footer_brand_desc": "تدارک هوشمندانه سلامت برای همراهان وفادار شما. واردکننده انحصاری مکملهای درمانی با گرید دارویی اختصاصی از آلمان با سابقه ۴۰ سال نوآوری.",
|
||||||
|
"footer_links_title": "دسترسی سریع",
|
||||||
|
"footer_link_products": "محصولات تخصصی ۲۰۲۴",
|
||||||
|
"footer_link_blog": "مجله سلامت پت (وبلاگ)",
|
||||||
|
"footer_link_profiles": "شناسنامه پتها",
|
||||||
|
"footer_link_wiki": "دانشنامه ترکیبات",
|
||||||
|
"footer_link_b2b": "پنل سفارش عمده (B2B)",
|
||||||
|
"footer_contact_title": "اطلاعات تماس نمایندگی",
|
||||||
|
"footer_phone_label": "خط ویژه فروش",
|
||||||
|
"footer_phone": "۰۲۱-۸۸۸۸ ۴۴۴۴",
|
||||||
|
"footer_email_label": "مکاتبات رسمی",
|
||||||
|
"footer_email": "info@canino-iran.com",
|
||||||
|
"footer_address_label": "دفتر مرکزی",
|
||||||
|
"footer_address": "تهران، جردن، خیابان سعیدی، ساختمان کانینا، طبقه ۵، واحد ۱۹",
|
||||||
|
"footer_auth_title": "اصالت کالا تضمین میشود",
|
||||||
|
"footer_auth_desc": "تمامی محصولات دارای لیبل اصالت وزارت بهداشت و QR Code اختصاصی هستند.",
|
||||||
|
"footer_auth_badge": "اصالت آلمانی کانینا",
|
||||||
|
"footer_copyright": "© ۲۰۲۶ کانینا ایران. تمامی حقوق محفوظ است.",
|
||||||
|
"footer_about": "درباره ما",
|
||||||
|
"footer_contact": "تماس با ما",
|
||||||
|
"footer_privacy": "حریم خصوصی",
|
||||||
|
};
|
||||||
|
|
||||||
|
async function main() {
|
||||||
|
console.log('Seeding UI texts...');
|
||||||
|
|
||||||
|
const entries = Object.entries(UI_TEXTS);
|
||||||
|
|
||||||
|
for (const [key, value] of entries) {
|
||||||
|
const existing = await prisma.uiText.findUnique({ where: { key } });
|
||||||
|
if (!existing) {
|
||||||
|
await prisma.uiText.create({ data: { key, value } });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(`Seeded ${entries.length} UI texts.`);
|
||||||
|
}
|
||||||
|
|
||||||
|
main()
|
||||||
|
.catch((e) => {
|
||||||
|
console.error(e);
|
||||||
|
process.exit(1);
|
||||||
|
})
|
||||||
|
.finally(async () => {
|
||||||
|
await prisma.$disconnect();
|
||||||
|
});
|
||||||
@ -1,4 +1,4 @@
|
|||||||
import { PrismaClient } from '@prisma/client';
|
import { PrismaClient } from '@prisma/client';
|
||||||
import * as fs from 'fs';
|
import * as fs from 'fs';
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import * as ts from 'typescript';
|
import * as ts from 'typescript';
|
||||||
@ -47,7 +47,7 @@ async function main() {
|
|||||||
const uiTexts = {
|
const uiTexts = {
|
||||||
hero_badge: "از ۱۹۸۴ در خدمت سلامت حیوانات",
|
hero_badge: "از ۱۹۸۴ در خدمت سلامت حیوانات",
|
||||||
hero_title: "تخصص آلمانی در خدمت\nسلامت پتهای خانگی",
|
hero_title: "تخصص آلمانی در خدمت\nسلامت پتهای خانگی",
|
||||||
hero_desc: "از سال ۱۹۸۴، شرکت Canina pharma GmbH در برگیش گلادباخ آلمان، با بهرهگیری از مواد اولیه طبیعی و فرآیندهای پیشرفته، استاندارد طلایی مکملهای دامپزشکی را تعریف میکند. کانینو نماینده رسمی این برند در ایران است.",
|
hero_desc: "از سال ۱۹۸۴، شرکت Canina pharma GmbH در برگیش گلادباخ آلمان، با بهرهگیری از مواد اولیه طبیعی و فرآیندهای پیشرفته، استاندارد طلایی مکملهای دامپزشکی را تعریف میکند. کانینا نماینده رسمی این برند در ایران است.",
|
||||||
hero_btn_advisor: "دستیار سلامت پت",
|
hero_btn_advisor: "دستیار سلامت پت",
|
||||||
hero_btn_products: "مشاهده محصولات",
|
hero_btn_products: "مشاهده محصولات",
|
||||||
hero_stat_founded: "۱۹۸۴ سال تأسیس",
|
hero_stat_founded: "۱۹۸۴ سال تأسیس",
|
||||||
@ -57,12 +57,12 @@ async function main() {
|
|||||||
hero_image_title: "مکملهای تایید شده دامپزشکی با گواهی IFS",
|
hero_image_title: "مکملهای تایید شده دامپزشکی با گواهی IFS",
|
||||||
hero_quality_standard: "استاندارد کیفی آلمان (IFS & HACCP)",
|
hero_quality_standard: "استاندارد کیفی آلمان (IFS & HACCP)",
|
||||||
cta_title: "میخواهید بدانید کدام محصول برای پت شما مناسبتر است؟",
|
cta_title: "میخواهید بدانید کدام محصول برای پت شما مناسبتر است؟",
|
||||||
cta_subtitle: "تیم متخصص دامپزشکی کانینو ایران آماده پاسخگویی به سوالات شماست. با بیش از ۴۰ محصول تخصصی، راهکار مناسب هر نیاز بالینی را خواهید یافت.",
|
cta_subtitle: "تیم متخصص دامپزشکی کانینا ایران آماده پاسخگویی به سوالات شماست. با بیش از ۴۰ محصول تخصصی، راهکار مناسب هر نیاز بالینی را خواهید یافت.",
|
||||||
cta_btn_free: "دریافت رژیم مکمل رایگان",
|
cta_btn_free: "دریافت رژیم مکمل رایگان",
|
||||||
cta_btn_products: "ورود به محصولات تخصصی",
|
cta_btn_products: "ورود به محصولات تخصصی",
|
||||||
about_teaser_badge: "داستان ما از آلمان",
|
about_teaser_badge: "داستان ما از آلمان",
|
||||||
about_teaser_title: "Canina pharma GmbH – میراثی از ۱۹۸۴",
|
about_teaser_title: "Canina pharma GmbH – میراثی از ۱۹۸۴",
|
||||||
about_teaser_desc: "شرکت Canina pharma GmbH در سال ۱۹۸۴ توسط پتر و کریستین کرشنمایر در شهر برگیش گلادباخ آلمان تأسیس شد. این شرکت با شعار «مادر طبیعت بهترین نسخه را میداند» از مواد اولیه طبیعی و تجدیدپذیر برای تولید مکملهای با گرید دارویی استفاده میکند. امروزه محصولات کانینا در بیش از ۴۰ کشور جهان توزیع میشود و نماینده رسمی آن در ایران با نام کانینو به ارائه محصولات اصل با پروانه دامپزشکی میپردازد.",
|
about_teaser_desc: "شرکت Canina pharma GmbH در سال ۱۹۸۴ توسط پتر و کریستین کرشنمایر در شهر برگیش گلادباخ آلمان تأسیس شد. این شرکت با شعار «مادر طبیعت بهترین نسخه را میداند» از مواد اولیه طبیعی و تجدیدپذیر برای تولید مکملهای با گرید دارویی استفاده میکند. امروزه محصولات کانینا در بیش از ۴۰ کشور جهان توزیع میشود و نماینده رسمی آن در ایران با نام کانینا به ارائه محصولات اصل با پروانه دامپزشکی میپردازد.",
|
||||||
about_teaser_feat1_title: "مواد اولیه نایاب",
|
about_teaser_feat1_title: "مواد اولیه نایاب",
|
||||||
about_teaser_feat1_desc: "استفاده از پودر صدف لبسبز اصل نیوزیلند (Perna canaliculus)، پیت طبیعی آلمان، آغوز و روغنهای گیاهی ارگانیک با گرید دارویی.",
|
about_teaser_feat1_desc: "استفاده از پودر صدف لبسبز اصل نیوزیلند (Perna canaliculus)، پیت طبیعی آلمان، آغوز و روغنهای گیاهی ارگانیک با گرید دارویی.",
|
||||||
about_teaser_feat2_title: "فاقد مواد نگهدارنده",
|
about_teaser_feat2_title: "فاقد مواد نگهدارنده",
|
||||||
@ -125,7 +125,7 @@ async function main() {
|
|||||||
{
|
{
|
||||||
id: "biotin",
|
id: "biotin",
|
||||||
name: "بیوتین (ویتامین H / B7)",
|
name: "بیوتین (ویتامین H / B7)",
|
||||||
description: "کوآنزیم کربوکسیلازهای مسئول سنتز اسیدهای چرب و گلوکونئوژنز. با دوز ۱,۰۰۰,۰۰۰ میکروگرم در کیلوگرم در محصولات کانینو، قویترین دوز موجود در بازار مکملهای دامپزشکی.",
|
description: "کوآنزیم کربوکسیلازهای مسئول سنتز اسیدهای چرب و گلوکونئوژنز. با دوز ۱,۰۰۰,۰۰۰ میکروگرم در کیلوگرم در محصولات کانینا، قویترین دوز موجود در بازار مکملهای دامپزشکی.",
|
||||||
benefits: [
|
benefits: [
|
||||||
"جلوگیری از ریزش مو",
|
"جلوگیری از ریزش مو",
|
||||||
"تقویت رنگدانه پوشش",
|
"تقویت رنگدانه پوشش",
|
||||||
|
|||||||
@ -34,8 +34,8 @@ async function bootstrap() {
|
|||||||
app.useGlobalFilters(new HttpExceptionFilter());
|
app.useGlobalFilters(new HttpExceptionFilter());
|
||||||
|
|
||||||
const config = new DocumentBuilder()
|
const config = new DocumentBuilder()
|
||||||
.setTitle('Canino Iran API')
|
.setTitle('Canina Iran API')
|
||||||
.setDescription('API Documentation for Canino Iran Pet Health & Supplement Platform')
|
.setDescription('API Documentation for Canina Iran Pet Health & Supplement Platform')
|
||||||
.setVersion('1.0.0')
|
.setVersion('1.0.0')
|
||||||
.addBearerAuth()
|
.addBearerAuth()
|
||||||
.build();
|
.build();
|
||||||
|
|||||||
BIN
backend/uploads/1783765738982-360633697.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
backend/uploads/1783765761042-126169451.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
backend/uploads/1783766019136-538342352.png
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
backend/uploads/1783766176570-259772529.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
backend/uploads/1783766236883-149191779.png
Normal file
|
After Width: | Height: | Size: 39 KiB |
BIN
backend/uploads/1783766312952-814581776.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
backend/uploads/1783766352024-429505659.png
Normal file
|
After Width: | Height: | Size: 46 KiB |
BIN
backend/uploads/1783772119526-938188787.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
backend/uploads/1783772147356-620840114.png
Normal file
|
After Width: | Height: | Size: 50 KiB |
@ -1,7 +1,7 @@
|
|||||||
# معرفی پروژه کانینو ایران (Canino Iran)
|
# معرفی پروژه کانینا ایران (Canina Iran)
|
||||||
|
|
||||||
## این پروژه چیست؟
|
## این پروژه چیست؟
|
||||||
سامانه «کانینو ایران» پلتفرم تخصصی معرفی، فروش و مدیریت مکملهای درمانی حیوانات خانگی با گرید دارویی است. این سامانه به عنوان درگاه آنلاین نماینده انحصاری کانینو آلمان در ایران فعالیت میکند. هدف اصلی پروژه، ارائه یک تجربه کاربری (UX) بسیار غنی، سریع و در کلاس جهانی برای خریداران، کلینیکهای دامپزشکی (مشتریان B2B) و همچنین فراهمکردن ابزارهای هوشمند (مانند مشاوره هوشمند و دانشنامه ترکیبات دارویی) است.
|
سامانه «کانینا ایران» پلتفرم تخصصی معرفی، فروش و مدیریت مکملهای درمانی حیوانات خانگی با گرید دارویی است. این سامانه به عنوان درگاه آنلاین نماینده انحصاری کانینا آلمان در ایران فعالیت میکند. هدف اصلی پروژه، ارائه یک تجربه کاربری (UX) بسیار غنی، سریع و در کلاس جهانی برای خریداران، کلینیکهای دامپزشکی (مشتریان B2B) و همچنین فراهمکردن ابزارهای هوشمند (مانند مشاوره هوشمند و دانشنامه ترکیبات دارویی) است.
|
||||||
|
|
||||||
## قابلیتهای کلیدی سامانه
|
## قابلیتهای کلیدی سامانه
|
||||||
سامانه به گونهای طراحی شده تا تمام نیازهای یک کسبوکار مدرن e-commerce را در کنار قابلیتهای تخصصی حوزه سلامت حیوانات برآورده کند:
|
سامانه به گونهای طراحی شده تا تمام نیازهای یک کسبوکار مدرن e-commerce را در کنار قابلیتهای تخصصی حوزه سلامت حیوانات برآورده کند:
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# راهنمای کاربری سیستم (User Guide)
|
# راهنمای کاربری سیستم (User Guide)
|
||||||
|
|
||||||
سیستم کانینو از نظر نوع مخاطب به دو دسته کلی B2C (مشتریان عادی) و B2B (کلینیکها و فروشگاهها) تقسیم میشود. علاوه بر این، نقش «ادمین» برای مدیریت سیستم وجود دارد.
|
سیستم کانینا از نظر نوع مخاطب به دو دسته کلی B2C (مشتریان عادی) و B2B (کلینیکها و فروشگاهها) تقسیم میشود. علاوه بر این، نقش «ادمین» برای مدیریت سیستم وجود دارد.
|
||||||
|
|
||||||
## ۱. مشتریان عادی (B2C Users)
|
## ۱. مشتریان عادی (B2C Users)
|
||||||
مشتری عادی کسی است که وارد سایت میشود تا برای حیوان خانگی خود مکمل خریداری کند یا اطلاعات کسب کند.
|
مشتری عادی کسی است که وارد سایت میشود تا برای حیوان خانگی خود مکمل خریداری کند یا اطلاعات کسب کند.
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# مستندات توسعهدهندگان (Developer Documentation)
|
# مستندات توسعهدهندگان (Developer Documentation)
|
||||||
|
|
||||||
به مستندات رسمی سامانه «کانینو ایران» خوش آمدید. این مستندات به منظور راهنمایی توسعهدهندگان، مهندسین دواپس و تیم فنی شرکت نوشته شده است و نباید در دسترس کاربران عمومی قرار گیرد.
|
به مستندات رسمی سامانه «کانینا ایران» خوش آمدید. این مستندات به منظور راهنمایی توسعهدهندگان، مهندسین دواپس و تیم فنی شرکت نوشته شده است و نباید در دسترس کاربران عمومی قرار گیرد.
|
||||||
|
|
||||||
در این دایرکتوری تمامی ساختارها، معماریها، قوانین کدنویسی و مراحل انتشار (Deployment) به دقت تدوین شدهاند تا سرعت 온بوردینگ (Onboarding) توسعهدهندگان جدید افزایش یافته و نگهداری کدهای قدیمی با کمترین ریسک انجام شود.
|
در این دایرکتوری تمامی ساختارها، معماریها، قوانین کدنویسی و مراحل انتشار (Deployment) به دقت تدوین شدهاند تا سرعت 온بوردینگ (Onboarding) توسعهدهندگان جدید افزایش یافته و نگهداری کدهای قدیمی با کمترین ریسک انجام شود.
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,6 @@
|
|||||||
|
[{000214A0-0000-0000-C000-000000000046}]
|
||||||
|
Prop3=19,2
|
||||||
|
[InternetShortcut]
|
||||||
|
URL=http://www.fontyab.com/
|
||||||
|
IDList=
|
||||||
|
HotKey=0
|
||||||
@ -0,0 +1,6 @@
|
|||||||
|
[{000214A0-0000-0000-C000-000000000046}]
|
||||||
|
Prop3=19,2
|
||||||
|
[InternetShortcut]
|
||||||
|
URL=http://www.fontyab.ir/
|
||||||
|
IDList=
|
||||||
|
HotKey=0
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
--------------------------------------------------------------------------------------------
|
||||||
|
- DESIGN UTILITIES -------- WWW.FontYab.Com -------- AllRight Reserved By FontYab . Com -
|
||||||
|
--------------------------------------------------------------------------------------------
|
||||||
@ -0,0 +1,6 @@
|
|||||||
|
[{000214A0-0000-0000-C000-000000000046}]
|
||||||
|
Prop3=19,2
|
||||||
|
[InternetShortcut]
|
||||||
|
URL=http://www.fontyab.com/
|
||||||
|
IDList=
|
||||||
|
HotKey=0
|
||||||
@ -0,0 +1,6 @@
|
|||||||
|
[{000214A0-0000-0000-C000-000000000046}]
|
||||||
|
Prop3=19,2
|
||||||
|
[InternetShortcut]
|
||||||
|
URL=http://www.fontyab.ir/
|
||||||
|
IDList=
|
||||||
|
HotKey=0
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
--------------------------------------------------------------------------------------------
|
||||||
|
- DESIGN UTILITIES -------- WWW.FontYab.Com -------- AllRight Reserved By FontYab . Com -
|
||||||
|
--------------------------------------------------------------------------------------------
|
||||||
347
frontend/admin-panel/public/fonts/sahel-font-v3.4.0/CHANGELOG.md
Normal file
@ -0,0 +1,347 @@
|
|||||||
|
تغییرات فونت ساحل
|
||||||
|
=================
|
||||||
|
|
||||||
|
در اینجا شما فهرستی از تغییرات بین هر نسخهی انتشار از فونت ساحل را مشاهده میکنید.
|
||||||
|
|
||||||
|
نسخه ۳.۴.۰
|
||||||
|
---------
|
||||||
|
۲ اسفند ۱۳۹۸
|
||||||
|
|
||||||
|
- بهبود ـم هـ
|
||||||
|
- بهبود دندانهها در معمولی و سبک
|
||||||
|
- اصلاح عرض آ و کرنینگ آن با ک گ قـ
|
||||||
|
- اصلاح عرض ـا ا ر و
|
||||||
|
- بهبود سرکش گاف
|
||||||
|
- بهبود ـعـ در ضخیم و تیتر
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۳.۳.۱
|
||||||
|
---------
|
||||||
|
۲۵ دی ۱۳۹۸
|
||||||
|
|
||||||
|
- بهبود ع م در معمولی و سبک
|
||||||
|
- بهبود ی
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۳.۳.۰
|
||||||
|
---------
|
||||||
|
۷ آذر ۱۳۹۸
|
||||||
|
|
||||||
|
- تغییر شکل صفر فارسی از توپر به توخالی
|
||||||
|
- بهبود هـ در تیتر
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۳.۲.۱
|
||||||
|
---------
|
||||||
|
۱۹ آبان ۱۳۹۸
|
||||||
|
|
||||||
|
- رفع ایراد سرکش «گ» در نسخه سبک (با تشکر از @AbbasAlimi)
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۳.۲.۰
|
||||||
|
---------
|
||||||
|
۱۸ آبان ۱۳۹۸
|
||||||
|
|
||||||
|
- رفع ایراد در نمایش اعراب (با تشکر از Ali Khatibi)
|
||||||
|
- بهبود ـهـ (با تشکر از @AbbasAlimi)
|
||||||
|
- بهبود ـه
|
||||||
|
- بهبود ـعـ ـط ـطـ ـص ـصـ در نیمهضخیم، ضخیم، تیتر
|
||||||
|
- بهبود ـفـ ـف در تیتر
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۳.۱.۱
|
||||||
|
---------
|
||||||
|
۱۴ آبان ۱۳۹۸
|
||||||
|
|
||||||
|
- بهبود نقاط
|
||||||
|
- اصلاح نقاط ـیـ در معمولی و سبک
|
||||||
|
- بهبود کاما
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۳.۱.۰
|
||||||
|
---------
|
||||||
|
۱۰ آبان ۱۳۹۸
|
||||||
|
|
||||||
|
- اصلاح سهنقطه در نسخه متغیر
|
||||||
|
- بهبود عرض ـی
|
||||||
|
- اصلاح نقاط ـثـ در تیتر
|
||||||
|
- اصلاح عرض ثـ تـ در تیتر
|
||||||
|
- بهبود ـفـ
|
||||||
|
- بهبود نقاط نیمهضخیم
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۳.۰.۱
|
||||||
|
---------
|
||||||
|
۹ آبان ۱۳۹۸
|
||||||
|
|
||||||
|
- اصلاح ـنـ در ضخیم
|
||||||
|
- بهبود نقاط در تیتر
|
||||||
|
- اصلاح ـن در نیمهضخیم و ضخیم و تیتر
|
||||||
|
- اصلاح ـح ـع در تیتر
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۳.۰.۰
|
||||||
|
---------
|
||||||
|
۸ آبان ۱۳۹۸
|
||||||
|
|
||||||
|
- رفعایراد، اصلاح و بهبود فونت از جمله تایپفیس (حروف، علائم، ارقام، ...)، کرنینگ، اعراب و ...
|
||||||
|
- اضافه شدن وزن سبک
|
||||||
|
- بازطراحی گیومه (با تشکر از @neesti)
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۲.۰.۲
|
||||||
|
---------
|
||||||
|
۱۵ شهریور ۱۳۹۸
|
||||||
|
|
||||||
|
- رفع ایراد زبان لاتین در قسمت Charsets (با تشکر از معین)
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۲.۰.۱
|
||||||
|
---------
|
||||||
|
۲۲ مرداد ۱۳۹۸
|
||||||
|
|
||||||
|
- اصلاح عرض ۶
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۲.۰.۰
|
||||||
|
---------
|
||||||
|
۱۹ مرداد ۱۳۹۸
|
||||||
|
|
||||||
|
- بازسازی کل فونت برای نسخه وریبل (با تشکر از @aminabedi68)
|
||||||
|
- اضافه شدن نسخه جدید بولد (با تشکر از @aminabedi68)
|
||||||
|
- بهبود و بهینهسازی سورس و حذف دادههای اضافی (با تشکر از @aminabedi68)
|
||||||
|
- بهبود برخی گلیفها
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۱.۰.۰
|
||||||
|
---------
|
||||||
|
۶ تیر ۱۳۹۸
|
||||||
|
|
||||||
|
- بهبود ی ـی لا ـلا
|
||||||
|
- بهبود ر و در تیتر
|
||||||
|
- بهبود نقاط در تیتر
|
||||||
|
- اضافه شدن کرنینگ ر ز ژ با هٔ (با تشکر از @iriman)
|
||||||
|
- اصلاح کرنینگ ر ز ژ با ء
|
||||||
|
- بهبود ـد و ارقام (با تشکر از @EhsanCh)
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۱.۰.۰-آلفا۲۴
|
||||||
|
----------------
|
||||||
|
۵ اردیبهشت ۱۳۹۸
|
||||||
|
|
||||||
|
- بهبود ر و در تیتر
|
||||||
|
- بهبود نقطه ز
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۱.۰.۰-آلفا۲۳
|
||||||
|
----------------
|
||||||
|
۲۹ اسفند ۱۳۹۷
|
||||||
|
|
||||||
|
- بهبود ـعـ ـع
|
||||||
|
- اصلاح اتصال ـق
|
||||||
|
- اصلاح اعراب ـا در معمولی
|
||||||
|
- اصلاح اعراب ذ در تیتر
|
||||||
|
- اصلاح ٤ ٥ ٦ عربی
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۱.۰.۰-آلفا۲۲
|
||||||
|
----------------
|
||||||
|
۰۸ شهریور ۱۳۹۷
|
||||||
|
|
||||||
|
- بهبود ارقام
|
||||||
|
- بهبود ٫ ٬
|
||||||
|
- اضافه شدن کرنینگ «٬ ٫» با ۲ ۳ ۴
|
||||||
|
- بهبود اتصال مـ بـ ـبـ سـ ـسـ ـا در تیتر
|
||||||
|
- اصلاح ت در ضخیم
|
||||||
|
- بهبود م ر و در تیتر
|
||||||
|
- بهبود ی در ضخیم و تیتر
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۱.۰.۰-آلفا۲۱
|
||||||
|
----------------
|
||||||
|
۳۱ تیر ۱۳۹۷
|
||||||
|
|
||||||
|
- اصلاح محل اتصال ـک ـگ
|
||||||
|
- اصلاح نقاط ش در ضخیم
|
||||||
|
- اصلاح گـ طـ ـطـ در ضخیم
|
||||||
|
- اصلاح نقطه ظـ ـظـ در تیتر
|
||||||
|
- بهبود جزئی قوس س ص ن ی در تیتر
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۱.۰.۰-آلفا۲۰
|
||||||
|
----------------
|
||||||
|
۲۹ خرداد ۱۳۹۷
|
||||||
|
|
||||||
|
- بهبود ل
|
||||||
|
- بهبود پایه ح ع
|
||||||
|
- بهبود ـی ی ر ـر و ـو ک گ ف در تیتر
|
||||||
|
- اصلاح ـح در معمولی
|
||||||
|
- بهبود ـی در معمولی
|
||||||
|
- اصلاح نقاط ـچ در تیتر
|
||||||
|
- اصلاح ـأ و ـآ
|
||||||
|
- اصلاح گلیف الله
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۱.۰.۰-آلفا۱۹
|
||||||
|
----------------
|
||||||
|
۲۰ اردیبهشت ۱۳۹۷
|
||||||
|
|
||||||
|
- بهبود ـی ی
|
||||||
|
- بهبود عرض ـنـ ـبـ ـر ـا ـلـ ـل ـلا ـه
|
||||||
|
- بهبود ضخامت پایهٔ و ر در حالت تیتر
|
||||||
|
- بهبود ا ک گ در حالت تیتر
|
||||||
|
- بهبود ارتفاع در حالت معمولی
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۱.۰.۰-آلفا۱۸
|
||||||
|
----------------
|
||||||
|
۱۰ اسفند ۱۳۹۶
|
||||||
|
|
||||||
|
- بازطراحی ر و
|
||||||
|
- بهبود دندانهها
|
||||||
|
- بهبود ص ط حـ ـحـ مـ م ـمـ ـلا ـلـ ریال کـ گـ
|
||||||
|
- اصلاح و بهبود ضخامت در حالت ضخیم
|
||||||
|
- بهبود فاصله
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۱.۰.۰-آلفا۱۷
|
||||||
|
----------------
|
||||||
|
۴ اسفند ۱۳۹۶
|
||||||
|
|
||||||
|
- اصلاح قوس ن س ص ل در حالت تیتر
|
||||||
|
- بهبود ر و
|
||||||
|
- رفع گردی لبهها در حالت ضخیم
|
||||||
|
- بهبود ضخامت در حالت معمولی
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۱.۰.۰-آلفا۱۶
|
||||||
|
----------------
|
||||||
|
۱ اسفند ۱۳۹۶
|
||||||
|
|
||||||
|
- اصلاح ارقام
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۱.۰.۰-آلفا۱۵
|
||||||
|
----------------
|
||||||
|
۳۰ بهمن ۱۳۹۶
|
||||||
|
|
||||||
|
- بازنگری در حالت ضخیم
|
||||||
|
- یکسانسازی عرض معمولی و ضخیم
|
||||||
|
- بهبود حروف، لیگچرها، علائم، نقاط و اندازهها
|
||||||
|
- بهبود اعراب
|
||||||
|
- بهبود ارقام
|
||||||
|
- اضافه شدن کرنینگ ارقام و «آ + ک کـ گ گـ» «د ـد ذ ـذ + ک کـ گ گـ»
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۱.۰.۰-آلفا۱۴
|
||||||
|
----------------
|
||||||
|
۱۲ بهمن ۱۳۹۶
|
||||||
|
|
||||||
|
- بهبود دندانه بـ ب
|
||||||
|
- بهبود و اصلاح و ـو ر ـر
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۱.۰.۰-آلفا۱۳
|
||||||
|
----------------
|
||||||
|
۶ بهمن ۱۳۹۶
|
||||||
|
|
||||||
|
- تغییر ارتفاع، ضخامتها و دندانهها در حالت ضخیم
|
||||||
|
- بهبود نقاط
|
||||||
|
- اصلاح لا ـلا در ضخیم و تیتر
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۱.۰.۰-آلفا۱۲
|
||||||
|
----------------
|
||||||
|
۲۷ آذر ۱۳۹۶
|
||||||
|
|
||||||
|
- تصحیح ایراد در اندازه سـ ـسـ حالت تیتر
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۱.۰.۰-آلفا۱۱
|
||||||
|
----------------
|
||||||
|
۲۷ آذر ۱۳۹۶
|
||||||
|
|
||||||
|
- بهبود نقاط در هر سه وزن
|
||||||
|
- تغییر متریک فونت برای کاهش ارتفاع
|
||||||
|
- تصحیح شکل ی در حالت تیتر
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۱.۰.۰-آلفا۱۰
|
||||||
|
----------------
|
||||||
|
۲۷ آذر ۱۳۹۶
|
||||||
|
|
||||||
|
- بهبود طراحی اغلب گلیفها
|
||||||
|
- بهبود ارتفاع و فاصله
|
||||||
|
- تصحیح اعراب
|
||||||
|
- تغییر متریک فونت
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۱.۰.۰-آلفا۹
|
||||||
|
----------------
|
||||||
|
۸ بهمن ۱۳۹۵
|
||||||
|
|
||||||
|
- رفع ایراد ـکـ
|
||||||
|
- رفع ایراد X-Height
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۱.۰.۰-آلفا۸
|
||||||
|
----------------
|
||||||
|
۹ آذر ۱۳۹۵
|
||||||
|
|
||||||
|
- رفع ایراد جهت برخی گلیفها
|
||||||
|
- رفع ایراد ورژن
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۱.۰.۰-آلفا۷
|
||||||
|
----------------
|
||||||
|
۸ آذر ۱۳۹۵
|
||||||
|
|
||||||
|
- بهبود حروف و علائم به ویژه در ضخیم و تیتر
|
||||||
|
- بهبود ارقام و ریال
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۱.۰.۰-آلفا۶
|
||||||
|
----------------
|
||||||
|
۷ شهریور ۱۳۹۵
|
||||||
|
|
||||||
|
- افزایش مجدد و قابل توجه ناحیه همپوشانی گلیف ها
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۱.۰.۰-آلفا۵
|
||||||
|
----------------
|
||||||
|
۳۰ مرداد ۱۳۹۵
|
||||||
|
|
||||||
|
- باز طراحی ر و
|
||||||
|
- افزایش ناحیه همپوشانی گلیف ها
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۱.۰.۰-آلفا۳
|
||||||
|
----------------
|
||||||
|
۱۳ مرداد ۱۳۹۵
|
||||||
|
|
||||||
|
- اصلاح ـن
|
||||||
|
- اصلاح فاصله
|
||||||
|
- اصلاح اندازه برخی حروف
|
||||||
|
- تغییر ی
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۱.۰.۰-آلفا۲
|
||||||
|
----------------
|
||||||
|
۱۱ مرداد ۱۳۹۵
|
||||||
|
|
||||||
|
- اضافه شدن حروف لاتین به قلم
|
||||||
|
- اصلاح حرف ف ح ـع ر
|
||||||
|
- اصلاح ـئـ ـپـ ــل ـد
|
||||||
|
- اصلاح اندازه طولی علائم
|
||||||
|
- اصلاح ـمـ
|
||||||
|
- جدا شدن نسخه تیتر از خانواده قلم
|
||||||
|
- اصلاح «» (با تشکر از اکبر خرمی)
|
||||||
|
- اضافه شدن ی دم بریده (با تشکر از اکبر خرمی)
|
||||||
|
- اضافه شدن ـہ ـھ (با تشکر از سعید)
|
||||||
|
|
||||||
|
|
||||||
|
نسخه ۱.۰.۰-آلفا
|
||||||
|
---------------
|
||||||
|
۱ مرداد ۱۳۹۵
|
||||||
|
|
||||||
|
- اولین نسخه
|
||||||
97
frontend/admin-panel/public/fonts/sahel-font-v3.4.0/LICENSE
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
Copyright (c) 2016, Saber Rastikerdar (saber.rastikerdar@gmail.com),
|
||||||
|
|
||||||
|
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||||
|
This license is copied below, and is also available with a FAQ at:
|
||||||
|
http://scripts.sil.org/OFL
|
||||||
|
|
||||||
|
|
||||||
|
-----------------------------------------------------------
|
||||||
|
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||||
|
-----------------------------------------------------------
|
||||||
|
|
||||||
|
PREAMBLE
|
||||||
|
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||||
|
development of collaborative font projects, to support the font creation
|
||||||
|
efforts of academic and linguistic communities, and to provide a free and
|
||||||
|
open framework in which fonts may be shared and improved in partnership
|
||||||
|
with others.
|
||||||
|
|
||||||
|
The OFL allows the licensed fonts to be used, studied, modified and
|
||||||
|
redistributed freely as long as they are not sold by themselves. The
|
||||||
|
fonts, including any derivative works, can be bundled, embedded,
|
||||||
|
redistributed and/or sold with any software provided that any reserved
|
||||||
|
names are not used by derivative works. The fonts and derivatives,
|
||||||
|
however, cannot be released under any other type of license. The
|
||||||
|
requirement for fonts to remain under this license does not apply
|
||||||
|
to any document created using the fonts or their derivatives.
|
||||||
|
|
||||||
|
DEFINITIONS
|
||||||
|
"Font Software" refers to the set of files released by the Copyright
|
||||||
|
Holder(s) under this license and clearly marked as such. This may
|
||||||
|
include source files, build scripts and documentation.
|
||||||
|
|
||||||
|
"Reserved Font Name" refers to any names specified as such after the
|
||||||
|
copyright statement(s).
|
||||||
|
|
||||||
|
"Original Version" refers to the collection of Font Software components as
|
||||||
|
distributed by the Copyright Holder(s).
|
||||||
|
|
||||||
|
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||||
|
or substituting -- in part or in whole -- any of the components of the
|
||||||
|
Original Version, by changing formats or by porting the Font Software to a
|
||||||
|
new environment.
|
||||||
|
|
||||||
|
"Author" refers to any designer, engineer, programmer, technical
|
||||||
|
writer or other person who contributed to the Font Software.
|
||||||
|
|
||||||
|
PERMISSION & CONDITIONS
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||||
|
redistribute, and sell modified and unmodified copies of the Font
|
||||||
|
Software, subject to the following conditions:
|
||||||
|
|
||||||
|
1) Neither the Font Software nor any of its individual components,
|
||||||
|
in Original or Modified Versions, may be sold by itself.
|
||||||
|
|
||||||
|
2) Original or Modified Versions of the Font Software may be bundled,
|
||||||
|
redistributed and/or sold with any software, provided that each copy
|
||||||
|
contains the above copyright notice and this license. These can be
|
||||||
|
included either as stand-alone text files, human-readable headers or
|
||||||
|
in the appropriate machine-readable metadata fields within text or
|
||||||
|
binary files as long as those fields can be easily viewed by the user.
|
||||||
|
|
||||||
|
3) No Modified Version of the Font Software may use the Reserved Font
|
||||||
|
Name(s) unless explicit written permission is granted by the corresponding
|
||||||
|
Copyright Holder. This restriction only applies to the primary font name as
|
||||||
|
presented to the users.
|
||||||
|
|
||||||
|
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||||
|
Software shall not be used to promote, endorse or advertise any
|
||||||
|
Modified Version, except to acknowledge the contribution(s) of the
|
||||||
|
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||||
|
permission.
|
||||||
|
|
||||||
|
5) The Font Software, modified or unmodified, in part or in whole,
|
||||||
|
must be distributed entirely under this license, and must not be
|
||||||
|
distributed under any other license. The requirement for fonts to
|
||||||
|
remain under this license does not apply to any document created
|
||||||
|
using the Font Software.
|
||||||
|
|
||||||
|
TERMINATION
|
||||||
|
This license becomes null and void if any of the above conditions are
|
||||||
|
not met.
|
||||||
|
|
||||||
|
DISCLAIMER
|
||||||
|
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||||
|
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||||
|
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||||
|
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||||
|
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||||
|
|
||||||
|
|
||||||
|
----------------------------------------------
|
||||||
|
Non-Arabic glyphs and data are borrowed from Open Sans font under the Apache License, Version 2.0
|
||||||
133
frontend/admin-panel/public/fonts/sahel-font-v3.4.0/README.md
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
# Sahel-Font
|
||||||
|
A Persian (Farsi) Font with variable version
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
فونت فارسی ساحل
|
||||||
|
[نمایش فونت](http://rastikerdar.github.io/sahel-font/)
|
||||||
|
[صفحه دریافت (دانلود) بسته فونت شامل فایل های ttf,woff,eot](https://github.com/rastikerdar/sahel-font/releases)
|
||||||
|
با تشکر از برنامه [FontForge](https://fontforge.github.io)
|
||||||
|
نسخه وریبل فونت با نام `Sahel-VF` در بسته فونت موجود میباشد.
|
||||||
|
نسخههای بدون حروف لاتین یا تمام ارقام فارسی درون بسته فشرده موجود میباشد.
|
||||||
|
فرآیند تولید بسته نهایی شامل انواع نسخهها و فرمتها توسط ابزار [fontbuilder](https://github.com/rastikerdar/fontbuilder) انجام میشود.
|
||||||
|
|
||||||
|
## Known problems for variable version
|
||||||
|
- mark placement distortion.
|
||||||
|
|
||||||
|
## To Do (variable)
|
||||||
|
- [x] Adding all 3 Weights as masters to variable version.
|
||||||
|
- [ ] Font testing page
|
||||||
|
- [ ] Latin section is empty. It's better to use an opensource variable font with a wide range.
|
||||||
|
- [ ] Testing font in all supported programs.
|
||||||
|
- [ ] Adding other axes.
|
||||||
|
|
||||||
|
## طریقه استفاده در صفحات وب
|
||||||
|
|
||||||
|
<p dir="rtl">
|
||||||
|
کد زیر را در قسمت style یا فایل css وارد نمایید:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
```css
|
||||||
|
@font-face {
|
||||||
|
font-family: Sahel;
|
||||||
|
src: url('Sahel.eot');
|
||||||
|
src: url('Sahel.eot?#iefix') format('embedded-opentype'),
|
||||||
|
url('Sahel.woff2') format('woff2'),
|
||||||
|
url('Sahel.woff') format('woff'),
|
||||||
|
url('Sahel.ttf') format('truetype');
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: Sahel;
|
||||||
|
src: url('Sahel-Bold.eot');
|
||||||
|
src: url('Sahel-Bold.eot?#iefix') format('embedded-opentype'),
|
||||||
|
url('Sahel-Bold.woff2') format('woff2'),
|
||||||
|
url('Sahel-Bold.woff') format('woff'),
|
||||||
|
url('Sahel-Bold.ttf') format('truetype');
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: Sahel;
|
||||||
|
src: url('Sahel-Light.eot');
|
||||||
|
src: url('Sahel-Light.eot?#iefix') format('embedded-opentype'),
|
||||||
|
url('Sahel-Light.woff2') format('woff2'),
|
||||||
|
url('Sahel-Light.woff') format('woff'),
|
||||||
|
url('Sahel-Light.ttf') format('truetype');
|
||||||
|
font-weight: 300;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: Sahel;
|
||||||
|
src: url('Sahel-SemiBold.eot');
|
||||||
|
src: url('Sahel-SemiBold.eot?#iefix') format('embedded-opentype'),
|
||||||
|
url('Sahel-SemiBold.woff2') format('woff2'),
|
||||||
|
url('Sahel-SemiBold.woff') format('woff'),
|
||||||
|
url('Sahel-SemiBold.ttf') format('truetype');
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: Sahel;
|
||||||
|
src: url('Sahel-Black.eot');
|
||||||
|
src: url('Sahel-Black.eot?#iefix') format('embedded-opentype'),
|
||||||
|
url('Sahel-Black.woff2') format('woff2'),
|
||||||
|
url('Sahel-Black.woff') format('woff'),
|
||||||
|
url('Sahel-Black.ttf') format('truetype');
|
||||||
|
font-weight: 900;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## طریقه استفاده از نسخه متغیر variable
|
||||||
|
|
||||||
|
```css
|
||||||
|
@font-face {
|
||||||
|
font-family: Sahel VF;
|
||||||
|
src: url('Sahel-VF.woff2') format('woff2');
|
||||||
|
}
|
||||||
|
|
||||||
|
.foo {
|
||||||
|
font-family: Sahel VF;
|
||||||
|
font-variation-settings: "wght" 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bar {
|
||||||
|
font-family: Sahel VF;
|
||||||
|
font-variation-settings: "wght" 900;
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## Install
|
||||||
|
|
||||||
|
Grab the [latest release](https://github.com/rastikerdar/sahel-font/releases/latest) file.
|
||||||
|
|
||||||
|
Or [RawGit](https://rawgit.com) CDN:
|
||||||
|
|
||||||
|
```html
|
||||||
|
<link href="https://cdn.rawgit.com/rastikerdar/sahel-font/v[X.Y.Z]/dist/font-face.css" rel="stylesheet" type="text/css" />
|
||||||
|
```
|
||||||
|
|
||||||
|
Replace [X.Y.Z] with the latest version (e.g. 3.4.0) and integrate the font into your CSS:
|
||||||
|
|
||||||
|
```
|
||||||
|
font-family: 'Sahel', sans-serif;
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Arch Linux
|
||||||
|
|
||||||
|
Arch user's could use [sahel-fonts](https://aur.archlinux.org/packages/sahel-fonts/) package from [AUR](https://aur.archlinux.org/) repository to install sahel font. Use your favorite [AUR helper](https://wiki.archlinux.org/index.php/AUR_helpers) like pacaur or yaourt for installing package:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
pacaur -S sahel-fonts
|
||||||
|
```
|
||||||
|
|
||||||
|
## Contributors
|
||||||
|
|
||||||
|
- Amin Abedi [@aminabedi68](https://github.com/aminabedi68)
|
||||||
|
|
||||||
|
## License
|
||||||
|
2016 Saber Rastikerdar ([@rastikerdar](https://github.com/rastikerdar)). See the `LICENSE` file.
|
||||||
|
|
||||||