fintech · backend · web · real-time
آنگلد — پلتفرم معاملهی زندهی طلا
پلتفرم معاملهی بلادرنگ طلا به تومان: موتور معاملاتی Go با سفارش لحظهای و شرطی، حد سود و ضرر، بستن خودکار و کیف پول، با پخش زنده به وباپ Next.js 16 از طریق WebSocket.
- نقش
- تنها توسعهدهنده — بکاند، موتور معاملات، وب و پنل ادمین
- بازه زمانی
- فروردین ۱۴۰۳ – اکنون
- کارفرما
- Ongold
- وضعیت
- فعال
- Go
- Gin
- PostgreSQL
- Redis
- WebSocket
- Next.js
- TypeScript
- React
- JWT
- Apache
1
توسعهدهنده
Real-time
بهروزرسانی قیمت
Spot · Pending · SL/TP
نوع سفارش
مسئله
آنگلد به پلتفرمی نیاز داشت که کاربران بتوانند طلا را به تومان و بهصورت لحظهای خرید و فروش کنند؛ با همان ابزارهایی که معاملهگران از پلتفرمهای فارکس انتظار دارند: سفارش شرطی، حد ضرر و حد سود، چند لات و محافظت خودکار وقتی پرتفوی به زیان بحرانی میرسد. پای پول در میان است، پس درستی در شرایط همزمانی از همهچیز مهمتر بود.
چه چیزی ساختم
تنها توسعهدهندهی پروژه بودم و همهچیز را از ابتدا تا انتها ساختم:
- بکاند: یک سرویس یکپارچه با Go و فریمورک Gin و اسکیمای PostgreSQL برای کاربران، کیف پول، سفارشها، تراکنشها و معرفیها.
- موتور معاملات: اجرای لحظهای و شرطی، حد سود و ضرر، بستن خودکار پرتفوی و پوزیشنهای چند لات.
- لایهی بلادرنگ: سرور WebSocket که قیمت و وضعیت سفارش را به همهی کاربران متصل میفرستد.
- کیف پول و معرفی: واریز، برداشت، مدیریت موجودی و محاسبهی پورسانت معرفی.
- وباپ: Next.js 16 و TypeScript، کاملاً واکنشگرا.
- پنل ادمین: داشبورد React برای مدیریت کاربران و سفارشها.
معماری
Price feed ──► Go service ──► Redis (latest prices, locks)
│ │
├── PostgreSQL ◄──────┘ orders · wallets · transactions
│
└── WebSocket hub ──► Next.js web app / adminهمزمانی و پول
هر تغییر روی سفارش، قبل از دست زدن به PostgreSQL یک قفل کوتاهمدت Redis روی پرتفوی کاربر میگیرد و بهروزرسانی کیف پول و وضعیت سفارش در یک تراکنش پایگاه داده انجام میشود. این ترکیب جلوی اجرای دوبارهی سفارش و موجودی منفی را میگیرد؛ حتی وقتی تغییر قیمت، اقدام کاربر و بستن خودکار همزمان رخ میدهند.
نتیجه
- فعال در محیط واقعی، مستقر روی لینوکس پشت Apache، همراه با نگهداری و پایش مداوم.
- قیمت و وضعیت سفارش زنده برای همهی کاربران، بدون polling.
- کدبیسی که یک مهندس بهتنهایی میتواند آن را بفهمد و توسعه دهد.
ثبت سفارش شرطی با حد ضرر و حد سود.
داشبورد ادمین React برای کاربران و سفارشها.
پیگاس — پلتفرم اطلاعات ساختوساز
2020هفت نسل پلتفرم در پنج سال: از React Native و PHP تا Next.js، Directus، لایههای نقشهی GIS و هستهی Go و Redis برای یک محصول اشتراکی اطلاعات املاک.
- Next.jsTailwind CSSGoRedis
چتر فایننس — داشبورد بلادرنگ بازار
2023قیمت زندهی طلا، ارز، رمزارز، سهام، کالا و فارکس؛ بکاند Node.js و MongoDB، پخش زنده با WebSocket، اپهای Flutter و نمودارهای TradingView.
- Node.jsExpressMongoDBSocket.io
فرز — اپلیکیشنهای تحویل درخواستی
پلتفرم تحویل دوطرفه با اپهای جداگانهی مشتری و پیک، رهگیری لحظهای و چت درونبرنامهای؛ بازنویسی از React Native به Flutter.
- FlutterReact NativeDartPHP