بکاندFocalPay2026
FocalPay Inventory Service
جدا کردن مدیریت موجودی از یک سرویس بزرگتر و ساختن سرویسی مستقل برایش، از برنامهی مهاجرت و معماری تا سازوکارهایی که درستی کار را تضمین میکنند
- Java
- Spring Boot
- MongoDB
- Kafka
- +8

توسعهدهندهی فولاستک و سرپرست تیم
API، یکپارچهسازی و پلتفرم وب برای محصولاتی که باید درست کار کنند.
کارهای برگزیده
سیستمهایی طراحی میکنم و میسازم که در محیط واقعی کار میکنند، در فینتک، SaaS، هویت و پلتفرمهای صنعتی. بیشتر روی بکاند تمرکز دارم و پیشینهی پژوهشی در مهندسی کامپیوتر هم دارم.
اسلاید 1 از 21 - FocalPay Inventory Service
بکاندFocalPay2026
جدا کردن مدیریت موجودی از یک سرویس بزرگتر و ساختن سرویسی مستقل برایش، از برنامهی مهاجرت و معماری تا سازوکارهایی که درستی کار را تضمین میکنند

بیشتر روی بخشهایی از محصول کار میکنم که کاربر نمیبیند: API، یکپارچهسازی با سیستمهای دیگر، احراز هویت و کارایی. این بخشها به چشم نمیآیند، ولی اگر خوب کار نکنند کاربر زود متوجه میشود.
سال ۲۰۱۲، وقتی دانشجوی کارشناسی بودم، در یک شرکت کوچک مشغول کار شدم. کارم ویرایش سایتهای جوملا و وردپرس با PHP، CSS و HTML بود و علاقهام به توسعهی وب از همانجا شروع شد.
کمکم سراغ پروژههای پیچیدهتر و تیمهای بزرگتر رفتم. آن سالها یاد گرفتم با مهلتهای تنگ کار کنم و کیفیت را فدا نکنم. با زبانها و فریمورکهای زیادی هم کار کردم و همین کمک کرد بفهمم هر مسئله واقعاً چه ابزاری لازم دارد.
portfolio v3.27.2 - ترمینال تعاملی
برای دیدن فهرست دستورها help را بزنید، یا برای شروع info را وارد کنید.
info
نام : امین نورالله
شناختهشده به : balrug
مدرک : کارشناسی ارشد مهندسی کامپیوتر (IUST)
حرفه : توسعهدهندهی فولاستک و سرپرست تیم
زبانها : c#, ts, js, java, c++
بکاند : .net core, spring boot, node.js, nestjs
فرانتاند : angular, vue.js, react
داده : sql server, mongodb, redis, apache ignite
هویت : identityserver, oauth 2.1, openid connect
تجربه : 14+ سال
مقالات : 13 مقالهی منتشرشده
سرگرمی : پروژههای شخصی
دستوری وارد کنید یا برای تکمیل، Tab را بزنید
الان بیشتر وقتم روی بکاند میگذرد: طراحی و توسعهی سرویسها و API، یکپارچهسازی، تست، دیباگ و کمک به همکارها. با .NET و C#، جاوااسکریپت (ES6+) و TypeScript، جاوا و دیتابیسهای SQL و NoSQL کار میکنم و در سریعتر کردن دسترسی به داده و روانتر کردن کار سیستم تجربهی زیادی دارم.
کنار کار اصلی، سه سال هم در IUST پژوهشگر بودم و با دانشگاه گرنوبل آلپ همکاری داشتیم. در امنیت سختافزار و سیستمهای بیدرنگ مقاله منتشر کردم. پژوهش عادتم را عوض کرد: الان کمتر حدس میزنم و زودتر میروم سراغ اندازهگیری.
سرویسها و یکپارچهسازیها را طوری طراحی میکنم که مرزها و قراردادهایشان روشن باشد. نفر بعدی که سراغ کد میآید (که معمولاً خودم هستم، دو سال بعد) باید بتواند یک چیز را عوض کند بدون اینکه چهار جای دیگر خراب شود.
وقتی ساعتی سی میلیون درخواست میآید، جایی برای حدس زدن نمیماند. اول پروفایل میگیرم، بعد تردهای زامبی را پیدا میکنم، بعد کوئریها را درست میکنم و آخر سر سراغ بهینه کردن خود کد میروم. این ترتیب را تجربه یادم داده.
چند سرور هویت روی OpenID Connect و OAuth 2.1 برای اپهای موبایل، وب و دسکتاپ ساختهام. نتیجهای که گرفتم این است که احراز هویت باید یک صاحب مشخص داشته باشد و یک بار در سطح پلتفرم حل شود. اگر هر تیم خودش از اول پیادهاش کند، دیر یا زود یک جایش میلنگد.
در Cashier Probe صندوق فروش را با پایانهی پرداخت، دستگاه پول نقد، اسکنر و چاپگر واقعی تست میکنیم، بدون mock. تجربهام این است که تستی که از دردسرهای دنیای واقعی فرار کند همیشه پاس میشود، حتی روزی که production از کار افتاده.
سه سال کار پژوهشی یادم داد هیچ توضیحی را، هر قدر هم قانعکننده باشد، تا عددی کنارش نباشد قبول نکنم. همین عادت الان موقع دیباگ کردن در production خیلی به کارم میآید.
اولین بار که در Fara-control سرپرست تیم شدم، فهمیدم بیشتر بحثهای فنی سر محدودیتهایی است که کسی به زبان نیاورده. کافی است یک نفر آنها را بگوید تا بحث تمام شود.
وقتی کارایی قابل پیشبینی و امنیت حافظه مهم باشد سراغش میروم. تا الان دو پروژه با آن نوشتهام: یک شبیهساز شبکهی روی تراشه با ۱۸ crate و یک ابزار پاکسازی دیسک بدون هیچ وابستگی خارجی.
بخش تازهی کارم در FocalPay: اپهایی که با سیستم صندوق و سختافزار فروشگاه، مثل پایانهی پرداخت، چاپگر و اسکنر، کار میکنند.
مدلهایی آموزش میدهم که دستکاری داده و تقلب را در اسناد حسابداری پیدا کنند، همان ناهنجاریهایی که در بازبینی دستی معمولاً از چشم میافتند.
دارم یک مارکتپلیس کامل را از صفر میسازم، با یک لایهی هوش مصنوعی در بخش لجستیک که از همان زیرساخت کار بیشتری بکشد.
همیشه با آدمهایی از کشورهای مختلف کار کردهام، از سوئد و فرانسه تا ایران، و این بخش از کارم را خیلی دوست دارم.




ارشد مهندسی کامپیوتر خواندم، سه سال در IUST پژوهشگر بودم (با همکاری دانشگاه گرنوبل آلپ) و سیزده مقاله منتشر کردم؛ بیشترشان دربارهی امنیت سختافزار، زمانبندی بیدرنگ و سختافزار مرتبسازی.
مدرک
Iran University of Science and Technology
ارشد مهندسی کامپیوتر را در IUST با معدل ۴٫۰ و رتبهی اول کلاس تمام کردم. در همین دوره به معماری کامپیوتر و سیستمهای بیدرنگ علاقهمند شدم و بقیهی کارهای پژوهشیام از همینجا شروع شد.
پژوهش
IUST
بعد از فارغالتحصیلی در IUST ماندم و بهعنوان پژوهشگر با دانشگاه گرنوبل آلپ فرانسه کار کردم. بیشتر روی امنیت سختافزار کار میکردیم. در یک پروژه بررسی کردیم کدام بخشهای کد سطحبالا روی تراشههای RISC-V در برابر حملهی clock-glitching آسیبپذیرند، و در پروژهی دیگری دنبال بلوکهای حساس در کد C/C++ و اسمبلی خروجی کامپایلر بودیم.
هر چیزی که اینجا میبینید یا در یک پروژهی واقعی به کار رفته یا در یک پژوهش منتشرشده. چیزی را فقط به خاطر دیدن یک آموزش اضافه نکردهام. نمودار پایین هم نشان میدهد از ۲۰۱۱ تا الان هر سال بیشتر وقتم را روی چه چیزی گذاشتهام.
اینها زبانهاییاند که راحت بینشان جابهجا میشوم. C# و TypeScript زبانهای اصلیام هستند، C++ از دوران پژوهش مانده و Rust تازهترینشان است که برای ابزارهای سیستمی و شبیهسازی از آن استفاده میکنم.
بیشتر کارم اینجاست: سرویسها، قرارداد API، یکپارچهسازی و بخشهایی که باید زیر بار سنگین سرپا بمانند.
Angular انتخاب اولم است، ولی با Vue و React هم پروژهی واقعی تحویل دادهام. به نظرم ساختار درست از خود فریمورک مهمتر است.
انتخابم به نوع دسترسی به داده بستگی دارد: SQL Server و PostgreSQL برای دادهی رابطهای اصلی، MongoDB برای آرشیو و Redis برای هر چیزی که باید فوری در دسترس باشد.
دو سرور هویت در production ساختهام، روی OpenID Connect و OAuth 2.1، که به اپهای موبایل، وب و دسکتاپ با یک مدل نشست مشترک سرویس میدهند.
سهم هر زبان از وقتم، از ۲۰۱۱ تا ۲۰۲۶. C++ و C# مال سالهای پژوهش و نرمافزار دسکتاپاند، جاوااسکریپت با کار وب بالا میرود و جاوا از ۲۰۲۲ با Spring Boot میآید و در ۲۰۲۵ و ۲۰۲۶ اول میشود.
| سال | C# | JavaScript / TypeScript | C++ | Java |
|---|---|---|---|---|
| 2011 | 60 | 0 | 10 | 0 |
| 2012 | 60 | 0 | 20 | 0 |
| 2013 | 0 | 0 | 40 | 25 |
| 2014 | 0 | 30 | 30 | 25 |
| 2015 | 0 | 45 | 30 | 0 |
| 2016 | 40 | 35 | 5 | 0 |
| 2017 | 60 | 0 | 30 | 0 |
| 2018 | 50 | 30 | 10 | 0 |
| 2019 | 40 | 40 | 0 | 0 |
| 2020 | 30 | 50 | 10 | 0 |
| 2021 | 40 | 50 | 0 | 0 |
| 2022 | 35 | 40 | 0 | 10 |
| 2023 | 30 | 30 | 0 | 30 |
| 2024 | 20 | 30 | 0 | 30 |
| 2025 | 15 | 40 | 0 | 45 |
| 2026 | 0 | 40 | 0 | 60 |
FocalPay
در تیم Backend Engineering شرکت FocalPay کار میکنم. FocalPay برای فروشگاهها صندوق فروش، پرداخت و مدیریت پشتصحنهی فروشگاه (back-office) را فراهم میکند. این روزها بیشتر روی اندروید و سختافزارهای کنار صندوق کار میکنم.
CyberDesign
روی سرویسها و APIهای بکاند پلتفرم صندوق و پرداخت FocalPay کار میکردم: یک Order API با Java و Spring Boot، سرویسی با Node.js برای اتصال به پلتفرم تجارت الکترونیک Centra و تست در همهی لایهها.
Mofid Securities
کارگزاری مفید بزرگترین سهم بازار بورس ایران را دارد. در تیم مفید آنلاین و در دو زیرتیم کار کردم و سختترین بخش کار بکاندی بود که ساعتی حدود سی میلیون درخواست میگرفت.
Cntxts Inc.
در پروژهی Vicinia (نقشه و مسیریابی داخل ساختمان) توسعهدهندهی فولاستک بودم و بعداً سرپرست فرانتاند شدم. بکاند با Java Spring Boot بود و فرانتاند با Angular، برای مسیریابی، اخبار، تبلیغات، رویدادها و اطلاعیهها.
SarveenTech
این کار را پارهوقت و کنار کارهای دیگرم انجام میدادم. اول روی بخش امنیت بکاند Sarveen Farm (یک سیستم مدیریت مزرعه) کار کردم و بعد نگهداری همهی سرویسهای Sarveen با من شد، از جمله یک سرور هویت روی IdentityServer4 و Skoruba Identity Server Admin.
Fara-control I.P
نرمافزار چندلایهی .NET برای پایش پستهای برق و شبکهی توزیع (Simpal نسخهی ۱ و ۲) و بعد FaraWAMS، یک پلتفرم بیدرنگ برای پایش شبکهی برق و SCADA. آخر کار سرپرست تیم توسعهی FaraWAMS هم شدم.
Iran University of Science and Technology
پژوهشگر دانشگاه علم و صنعت ایران (IUST) بودم و با دانشگاه گرنوبل آلپ همکاری داشتیم. روی امنیت سختافزار، زمانبندی بیدرنگ و سختافزار مرتبسازی کار کردم و سیزده مقاله منتشر کردم.
Independent projectsمتنوع
پروژههای وب برای آدمها و شرکتهای مختلف، مثل FNN، Noonnet، یک سیستم مدیریت رستوران و Neuro20EP. بیشتر با React و Node.js، و هر جا محاسبات سنگین میشد با .NET.
ارشد مهندسی کامپیوتر را در IUST با معدل ۴٫۰ و رتبهی اول کلاس خواندم. در همین دوره بود که معماری کامپیوتر و سیستمهای بیدرنگ شد حوزهی پژوهشیام.
Ultrasonic co. (Topsonics)تجهیزات علمی دقیق
همهچیز از اینجا شروع شد. رابط گرافیکی برای یک هموژنایزر اولتراسونیک و یک چاپگر سهبعدی ساختم و کمی هم کار وب کردم که بعدها شد کار اصلیام.

مسیر شغلی3 دقیقه مطالعه
گراف مشارکت گیتهاب بخشی از رزومهی شماست، ولی روزی که از organization شرکت حذف میشوید بیسروصدا خالی میشود. جلوگیری از آن یک دقیقه وقت میگیرد، به شرطی که قبل از رفتن انجامش بدهید.

CSS4 دقیقه مطالعه
بدون یک خط جاوااسکریپت میشود عناصر قبل و بعد از عنصری را که ماوس رویش است استایل داد. فقط :has() و ترکیبگر همنیای عمومی لازم است.

Angular4 دقیقه مطالعه
در مصاحبههای زیادی برای Angular بودهام و تقریباً همیشه همان چند ضعف تکرار میشود. اینها همان چیزهاییاند که یک توسعهدهندهی معمولی را از یک توسعهدهندهی قوی جدا میکنند.

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

پژوهش هوش مصنوعیشخصی
پژوهشی دربارهی امتیازدهی ریسک تقلب در اسناد حسابداری، با کنترلهای داخلی بهعنوان ویژگی مدل و یک LLM که هر هشدار را توضیح میدهد


بکاندFocalPay
جدا کردن مدیریت موجودی از یک سرویس بزرگتر و ساختن سرویسی مستقل برایش، از برنامهی مهاجرت و معماری تا سازوکارهایی که درستی کار را تضمین میکنند

تستFocalPay
تست end-to-end روی صندوق فروش واقعی با پایانه، دستگاه پول نقد، اسکنر و چاپگر، بدون هیچ mock


فولاستکFocalPay
مارکتپلیس عمدهفروشی B2B برای فروشگاههای مواد غذایی در کشورهای نوردیک، با موتوری که به هر فروشگاه میگوید چه چیزی را دوباره سفارش بدهد

سختافزارشخصی
جانشین PAT-Noxim که از صفر با Rust نوشته شده: شبیهساز شبکهی روی تراشه که هر اجرایش دقیقاً تکرارپذیر است و میشود از نتایجش کوئری گرفت

فولاستکشخصی
API لجستیک چندمستأجری که پیک و مسیر را برنامهریزی میکند، هر تحویل را دنبال میکند و از همهاش گزارش میدهد

بازیشخصی
مار و پله و منچ برای اندروید و iOS، آفلاین در برابر هوش مصنوعی یا آنلاین و بیدرنگ
فرانتاندCntxts Inc.
نقشهی تعاملی و چندمستأجری پردیس: جستجو، مسیریابی پیاده، طبقات داخلی، شاتلها و پارکینگ روی هر دستگاهی
فولاستکCyberdesign co.
بکاند NestJS و پنل مدیریت React که از دادهی محصولات فروشگاه، مسیریابی داخل فروشگاه برای مشتری میسازد

بازیشخصی
بازی استراتژی بیدرنگ امپراتوریسازی که به شکل Mini App داخل تلگرام اجرا میشود


تستFocalPay co.
تست API و دیتابیس با سرویسهای موقت Docker-in-Docker، طوری که نوشتن تست سریعتر شود

بکاندMofid Securities
بازنویسی کد، بهینه کردن stored procedureها و تحویل محصول با استانداردهای روز، آن هم با مهلت کم

کتابخانهCntxts Inc.
Google Maps با نمای دوبعدی و ۲٫۵ بعدی ساختمان، پینهای بهتر و مسیریابی، که بقیهی اپها بدون کد اضافه از آن استفاده میکنند
فولاستکCntxts Inc.
پنل مدیریت پشت کیوسکها: مسیریابی داخلی، سرویسهای اطلاعاتی و ضدسرقت تجهیزات
بکاندCntxts Inc.
بهروزرسانی وابستگیها، نگهداری مداوم و APIهای جدید برای قابلیتهای تازه
هویتFara-control I.P
یک مدل نشست مشترک برای اپهای موبایل، وب و دسکتاپ، روی OpenID Connect و OAuth 2.1








هویتSarveenTech
احراز هویت و سطح دسترسی کامل، با ورود یکپارچه برای همهی کلاینتها
بکاندASI Green Techs co.
سرویس تمیز Express.js که API آن از اولین کامیت مستند شد

دسکتاپکار سفارشی
تحلیل بیدرنگ بیش از سی بازار سهام با یادگیری عمیق

فولاستککار سفارشی
سفارش، منو و کارکنان در یک سیستم Express.js و MongoDB که بهصورت فریلنس ساختم

دسکتاپFara-control I.P
ابزار بررسی دادههای آرشیوی که پایهی Simpal v2 و FaraWAMS شد

فولاستکFara-control I.P
ابزار بررسی بیدرنگ شبکهی برق: سری زمانی، نمودار XY، دیاگرام جریان و نقشهی حرارتی

دسکتاپNikAva co.
نرمافزار سلامت که سیگنال هشت کانال مغزی را برای متخصص مغز و اعصاب قابل خواندن میکند
بکاندکار سفارشی
یکی از اولین برنامههایم با Express.js، جایی که یاد گرفتم API را قبل از نوشتن مستند کنم
جایی که کار میکنم را دوست دارم و فعلاً قصد رفتن ندارم. ولی اگر میخواهید کسی نگاهی به سیستم یا تصمیم فنیتان بیندازد، یا ایدهای دارید که دوست دارید دربارهاش حرف بزنیم، پیام بدهید. همهی پیامها را خودم میخوانم.
© 2026 امین نورالله
v3.27.246 projects · 13 papers · 151 technologies