بوتکمپ مهندسی بک اند با NestJS

دوره آموزشی تخصصی

بوتکمپ مهندسی بک اند با NestJS

۱۲ دانشجو
1 ویدیو
جدید

مدت دوره

25 دقیقه

تعداد ویدیوها

1 ویدیو

دانشجویان

12 نفر

سطح

پیشرفته

تاریخ انتشار

11 مهر 1405

آخرین بروزرسانی

11 مهر 1405

یه نئوبانک واقعی بساز

امروز هر کسی با چند تا پرامپت یه API می‌نویسه. ولی وقتی پای پول وسط باشه، بازی عوض می‌شه. یه ریال گم بشه، سیستمت غلطه. دو نفر هم‌زمان از یه حساب برداشت کنن، موجودی منفی می‌شه. کاربر دکمه رو دو بار بزنه، دو بار پول کم می‌شه. اینا باگ‌هایی نیستن که با تست دستی پیدا بشن؛ سر ساعت شلوغی و روی پروداکشن خودشون رو نشون می‌دن.

توی این بوت‌کمپ، یه نئوبانک مثل بلوبانک رو از صفر می‌سازیم: کیف پول، شارژ حساب، انتقال بین کاربرا، برداشت، بازگشت وجه و تاریخچه تراکنش. ولی تمرکزمون کد زدن نیست؛ کد زدن رو می‌شه رایگان از اینترنت یاد گرفت. اینجا پشت هر تصمیم می‌ایستیم و می‌گیم چرا این و نه اون.

چرا موجودی رو هیچ‌وقت مستقیم آپدیت نمی‌کنیم و به‌جاش دفتر کل دوطرفه می‌نویسیم. کجا قفل خوش‌بینانه کافیه و کجا نه. چطور یه درخواست تکراری یا کال‌بک دوباره درگاه رو بی‌اثر کنیم. چرا اپ‌های بانکی برای انتقال رمز دوم نمی‌خوان و امضای دستگاه چطور جلوی توکن دزدیده‌شده رو می‌گیره. و اینکه چطور قبل از نوشتن اولین خط کد، معماری درست رو انتخاب کنیم و بر چه اساسی دیتابیس انتخاب کنیم و سیستم رو مقیاس بدیم.

بعدش تستی می‌نویسیم که واقعاً باگ همزمانی رو بگیره، با k6 فشار واقعی روی سیستم میاریم، و آخرش پروژه رو داکرایز می‌کنیم، پشت Traefik می‌ذاریم، با GitHub Actions خط استقرار می‌سازیم و روی یه سرور واقعی بالا میاریمش. هوش مصنوعی هم توی مسیر کنارمونه، ولی به‌عنوان ابزار، نه جایگزین فکر کردن.

شکل برگزاری: از ۱۰ مهر، هر هفته فصل‌های جدید به‌صورت ضبط‌شده منتشر می‌شه و هر وقت خواستی می‌بینیشون. هفته‌ای یه جلسه لایو رفع اشکال هم داریم که ضبطش برای همه در دسترسه. سورس کامل پروژه هم در اختیارت قرار می‌گیره.

این بوت‌کمپ مال توئه اگه: کد می‌زنی ولی معماری پروژه‌هات قاطی‌پاتیه، بلدی API بنویسی ولی نمی‌دونی چطور روی پروداکشن سرپا نگهش داری، یا فرانت‌کاری و می‌خوای کل پروژه رو خودت ببری جلو.

مال تو نیست اگه: می‌خوای از صفر برنامه‌نویسی یاد بگیری. فرض اینه که جاوااسکریپت رو بلدی و حالا می‌خوای مهندس بشی.

آنچه خواهید آموخت

تحلیل نیاز و طراحی معماری یک سیستم مالی، قبل از نوشتن اولین خط کد
معیارهای انتخاب دیتابیس و تصمیم‌گیری درباره مقیاس‌پذیری سیستم
طراحی سیستم برای سناریوهای واقعی، نه فقط مسیر خوش‌بینانه
پیاده‌سازی دفتر کل با حسابداری دوطرفه و محاسبه درست موجودی
انتقال اتمیک بین حساب‌ها بدون از دست رفتن حتی یک ریال
کنترل همزمانی با قفل خوش‌بینانه و بدبینانه، و جلوگیری از بن‌بست
کلید آیدمپوتنسی و بی‌اثر کردن درخواست و کال‌بک تکراری درگاه
تراکنش‌ها و سطوح ایزولیشن در PostgreSQL
طراحی اسکیمای دیتابیس مالی، ایندکس‌گذاری و پیدا کردن کوئری‌های کند
لایه‌بندی و ماژول‌بندی پروژه NestJS بر اساس دامنه
ساخت مونوریپو با Turborepo و اشتراک تایپ بین فرانت و بک‌اند
احراز هویت با OTP، مدیریت نشست و دستگاه، و رفرش‌توکن چرخشی
امضای درخواست با کلید دستگاه (DPoP) و دلیل اینکه اپ‌های بانکی رمز دوم نمی‌خوان
نقش‌ها و دسترسی‌ها با RBAC و ABAC
کش، قفل توزیع‌شده و کارهای پس‌زمینه با Redis و BullMQ
مغایرت‌گیری خودکار و ردپای حسابرسی
نوشتن تستی که واقعاً باگ همزمانی رو بگیره
تست بار با k6 و پیدا کردن گلوگاه سیستم
داکرایز کردن پروژه، ریورس پروکسی با Traefik و مدیریت کانتینر با Portainer
ساخت خط CI/CD با GitHub Actions و استقرار روی سرور واقعی
استفاده از Cursor و Claude Code به‌عنوان ابزار، و ریویو کردن خروجی‌شون

محتوای دوره

1 فصل • 1 قسمت • 25 دقیقه

قسمت یکممعرفی پروژه و دموی نئوبانکقبل از اینکه یه خط کد بزنیم، بیا ببینیم قراره چی بسازیم. توی این قسمت دموی کامل نئوبانک رو می‌بینی: از ورود و احراز هویت با دستگاه، تا کیف پول، شارژ حساب، انتقال وجه و تاریخچه تراکنش‌ها.
رایگان
۲۵ دقیقه

سوالات متداول

نظرات و پرسش‌ها

هنوز نظری ثبت نشده است

اولین نفری باشید که نظر می‌دهد!

۵٬۰۰۰٬۰۰۰ تومان

44٪ تخفیف

۹٬۰۰۰٬۰۰۰ تومان

دوره‌های مرتبط

کدهالیک

کدهالیک پلتفرمی برای یادگیری زبان‌های برنامه‌نویسی است. ما با ارائه دوره‌های کاربردی و پروژه‌محور، شما را در مسیر تبدیل شدن به یک برنامه‌نویس حرفه‌ای همراهی می‌کنیم. از مبتدی تا پیشرفته، با کدهالیک آینده‌ی شغلی خود را بسازید.

ارتباط با ما

mail@codehalic.ir

چیتگر جوزانی غربی خیابان مظفر خیابان زنبق پلاک صفر برج همت یاس

02146021206 - 09100455680

© 1405 کدهالیک™ - تمامی حقوق محفوظ است

نماد اعتماد الکترونیکی