NewLife یک اکوسیستم واسط (Escrow) برای خرید و فروش امن داراییهای دیجیتال (اکانت، آیتم، لایسنس و خدمات بوستینگ) است. هدف ما حذف کلاهبرداری در معاملات گیمرها با استفاده از مکانیزم "پرداخت امن" و سیستم قضاوت جمعی (Jury System) است.
ما این پلتفرم را با رویکرد High Performance (عملکرد بالا) و Low Resource Usage (مصرف کم منابع) مهندسی کردهایم تا روی هر نوع زیرساختی با بالاترین سرعت اجرا شود.
توضیح: یک نمای درختی رنگارنگ که تمام ویژگیهای کلیدی پروژه NewLife را در یک نگاه نشان میدهد. عالی برای ارائههای مدیریتی.
- 🛡️ سیستم واسط امن (Secure Escrow): پول خریدار نزد پلتفرم قفل میشود و تنها پس از تایید صحت اکانت/آیتم، به فروشنده پرداخت میشود.
- ⚖️ هیئت منصفه کامیونیتی (Community Jury): سیستم حل اختلاف غیرمتمرکز که در آن کاربران برتر (Jury) با بررسی مستندات، در مورد اختلافات قضاوت میکنند.
- ⚡ سرعت فوقالعاده: استفاده از معماری تولید فایلهای استاتیک (Static JSON) برای کاهش فشار روی دیتابیس.
- 💰 اقتصاد شفاف: تقسیم سود مشخص بین فروشنده، پلتفرم و هیئت منصفه.
برای تضمین سرعت بالا و پایداری، از معماری API-First بدون وابستگی به فریمورکهای سنگین استفاده شده است:
| بخش | تکنولوژی | توضیحات |
|---|---|---|
| Frontend | HTML5, CSS3, Vanilla JS | بدون فریمورک سنگین، استفاده از Fetch API و DOM Manipulation مستقیم. |
| Backend | PHP 8.x (Pure) | کدنویسی Native برای حداکثر سرعت و مدیریت دقیق منابع. |
| Database | MySQL / MariaDB | طراحی بهینه ایندکسها برای جستجوی سریع. |
| Architecture | RESTful JSON API | تفکیک کامل فرانت و بک؛ بکاند فقط JSON تولید میکند. |
| Caching | File-Based & LocalStorage | کشسازی سمت سرور (JSON) و سمت کلاینت. |
صفحات پربازدید مثل "ویترین" یا "لیست محصولات" نباید در هر بازدید دیتابیس را درگیر کنند.
- روش: یک اسکریپت Cron Job در بکاند اجرا میشود که دیتای سنگین را پردازش کرده و در فایلهای
jsonذخیره میکند. - نتیجه: کاربر نهایی فایل استاتیک را میخواند (فشار روی دیتابیس = 0).
- Lazy Loading: تصاویر اکانتها و بازیها تنها زمانی لود میشوند که کاربر اسکرول کند.
- Skeleton Loading: نمایش اسکلت ساختار صفحه قبل از دریافت دیتا برای القای حس سرعت.
- Client-Side Caching: ذخیره دستهبندیها و متادیتاها در
localStorageمرورگر.
هسته اصلی امنیت معامله، "ماشین وضعیت" (State Machine) سفارشات است:
| کد وضعیت | نام وضعیت | توضیحات |
|---|---|---|
0 |
Pending Payment | سفارش ثبت شده، منتظر پرداخت خریدار. |
1 |
Secured (Escrow) | پول نزد NewLife قفل شده، منتظر تحویل فروشنده. |
2 |
Delivered | فروشنده تحویل داده، منتظر تایید خریدار. |
3 |
Completed | تایید خریدار و تسویه حساب با فروشنده. |
9 |
Dispute | اختلاف؛ ارجاع به سیستم Jury/ادمین. |
CREATE TABLE products (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT NOT NULL,
category_id INT INDEX,
title VARCHAR(100),
price DECIMAL(15, 0),
data_json JSON, -- مشخصات متغیر اکانت
status TINYINT DEFAULT 1
);
/NewLife
│
├── /public # ریشه وبسایت (Web Root)
│ ├── /assets
│ │ ├── /css # استایلها (Tailwind/Custom)
│ │ ├── /js # منطق فرانت (App Core)
│ │ └── /img # تصاویر (Lazy loaded)
│ ├── /api # نقطه اتصال فرانت به بک
│ │ ├── get_products.php
│ │ └── order_action.php
│ └── index.html # قالب اصلی (SPA feel)
│
├── /backend # منطق اصلی (غیر قابل دسترسی مستقیم)
│ ├── /config # اتصال دیتابیس
│ ├── /core # کلاسهای اصلی (Security, DB)
│ └── /cron # اسکریپتهای تولید کش
│
└── /storage # محل ذخیره فایلهای کش JSON
└── showcase_data.json