54 lines
1.6 KiB
Markdown
54 lines
1.6 KiB
Markdown
# کاتالوگ دیجیتال
|
|
|
|
از PDF یا چند تصویر، یک کاتالوگ ورقزدنی با لینک و QR میسازد. ثبتنام ندارد. کاتالوگها در سایت لیست نمیشوند.
|
|
|
|
جزئیات محصول: [`docs/PROJECT.md`](docs/PROJECT.md)
|
|
|
|
## اجرا
|
|
|
|
نیاز به Node.js ۲۰ یا جدیدتر.
|
|
|
|
```bash
|
|
copy .env.example .env
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
سپس مرورگر را روی [http://localhost:3000](http://localhost:3000) باز کنید.
|
|
|
|
- فرانت روی پورت ۳۰۰۰ — فقط همین را در مرورگر باز کنید
|
|
- API روی پورت ۳۰۱۰ (از طریق `/api` پروکسی میشود)
|
|
|
|
اگر پورت ۳۰۰۰ اشغال باشد Vite جابهجا نمیشود. همه ترمینالهای `npm run dev` را ببندید و یکی را دوباره اجرا کنید.
|
|
|
|
## ساخت برای سرور
|
|
|
|
```bash
|
|
npm run build
|
|
npm start
|
|
```
|
|
|
|
`npm start` هم فرانت ساختهشده و هم API را روی `PORT` (پیشفرض ۳۰۰۰) سرو میکند.
|
|
|
|
استقرار روی سرور مشترک (`ktg.montzar.ir`): راهنمای قدمبهقدم [`deploy/DEPLOY.md`](deploy/DEPLOY.md).
|
|
|
|
## تست
|
|
|
|
```bash
|
|
npm test
|
|
```
|
|
|
|
## متغیرهای محیط
|
|
|
|
در `.env`:
|
|
|
|
```
|
|
PORT=3000
|
|
API_PORT=3001
|
|
PUBLIC_BASE_URL=http://localhost:3000
|
|
STORAGE_DIR=./storage
|
|
DATABASE_PATH=./data/catalogs.sqlite
|
|
```
|
|
|
|
`PUBLIC_BASE_URL` همان آدرسی است که داخل QR نوشته میشود. روی دامنه واقعی آن را به دامنه خودتان عوض کنید.
|