
Edareto
پلتفرم مدیریت منابع انسانی مولتیتنانت در محیط واقعی با بیش از ۲۰۰ کاربر روزانه. ساختهشده از صفر با NestJS، Next.js و MongoDB — اتوماسیون کامل مرخصی، حقوق، مساعده و وظایف که پیش از این ساعتها کار دستی HR را میبرد.
چالشها و موانع معماری
یک سازمان ۲۰۰ نفره، تمام فرآیندهای منابع انسانی را با تلفن، فرمهای کاغذی و اکسل دستی اداره میکرد. درخواست مرخصی نیاز به مراجعه حضوری به واحد اداری داشت، فیش حقوقی هر ماه چاپ و توزیع میشد و هیچ سیستمی برای رصد وضعیت تیم یا پیگیری وظایف وجود نداشت. خطاهای انسانی رایج بود و مدیران هیچ دید لحظهای از تیم خود نداشتند.
راهحلهای فنی و پیادهسازی
طراحی و توسعه کامل یک پلتفرم HR از صفر با معماری مولتیتنانت — هر سازمان در سطح دیتابیس کاملاً ایزوله. پیادهسازی گردش کار ۴ مرحلهای تأیید مرخصی (کارمند ← مدیر مستقیم ← HR ← ادمین)، تولید خودکار فیش حقوقی با خروجی PDF، سیستم Push Notification با Firebase، درخواست مساعده با زنجیره تأیید، و مرکز مدیریت وظایف. نتیجه: کاهش ۴۰٪ مراجعات حضوری، حذف کامل اسناد کاغذی، و دید لحظهای مدیران به وضعیت تیم.

سیستم هوشمند درخواست مرخصی
فرم راهنمای ۴ مرحلهای ثبت مرخصی با تقویم شمسی. تعطیلات آخر هفته و رسمی بهطور خودکار از مدت مرخصی کسر میشوند. کارمند پیش از ثبت، مانده موجودی خود را لحظهای میبیند.

گردش کار تأیید چندمرحلهای
هر درخواست مرخصی از یک زنجیره تأیید ساختاریافته عبور میکند: مدیر مستقیم، HR و ادمین. مدیران پیش از تصمیمگیری، وضعیت تیم، تعارض مرخصیها و وظایف باز کارمند را یکجا میبینند.

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

سیستم درخواست مساعده
کارمندان میتوانند درخواست مساعده را با مبلغ و دلیل مستقیماً از پلتفرم ثبت کنند. درخواست از مسیر تأیید مدیر عبور کرده و به حقوق ماهانه کارمند لینک میشود — حذف کامل درخواستهای شفاهی یا کاغذی.

مرکز مدیریت وظایف
مدیران میتوانند وظایف را با مهلت و اولویت به کارمندان اختصاص دهند. وظایف از مراحل «در حال بازبینی» تا «انجام شده» حرکت میکنند. یکپارچه با سیستم تأیید مرخصی — مدیران وظایف باز را قبل از تأیید غیاب میبینند.
تاثیرات تجاری و بهینهسازی
نگاه عمیق به معماری و پروتکلهای امنیتی
// لایه معماری سیستم
بکاند — NestJS (Node.js) • معماری ماژولار: AuthModule، TenantModule، EmployeeModule، LeaveModule، PayrollModule، AdvanceModule، TaskModule، NotificationModule • مولتیتنانسی: شناسه سازمان در JWT payload، استخراج توسط middleware سراسری و تزریق در تمام کوئریهای MongoDB — نشت داده بین سازمانها غیرممکن • موتور مرخصی: محاسبه تقویم جلالی، روزهای کاری، حذف تعطیلات رسمی و تشخیص مرخصیهای همزمان • موتور حقوق: محاسبه درآمد ناخالص، تمام کسورات قانونی، اضافهکاری/کسر کار و تولید داده فیش حقوقی • اعلانها: Firebase Admin SDK — ارسال هشدار لحظهای هنگام تأیید/رد مرخصی، تخصیص وظیفه و صدور فیش حقوقی دیتابیس — MongoDB • فضای نام جداگانه برای هر سازمان • ایندکس روی tenantId + employeeId برای تمام کوئریهای پرتکرار فرانتاند — Next.js App Router • Server Components برای fetch داده، Client Components برای فرمهای تعاملی • فرم چندمرحلهای مرخصی (۴ مرحله) با تقویم شمسی • تولید PDF فیش حقوقی با jsPDF در مرورگر` }
// پروتکلهای امنیتی OWASP
احراز هویت (OWASP A07) • توکن JWT با انقضای ۱۵ دقیقه + چرخش Refresh Token (۷ روز) در HttpOnly Secure Cookie — XSS قادر به سرقت توکن نیست • هش رمز عبور با Bcrypt (cost factor 12) • محدودسازی تلاشهای ناموفق ورود با backoff نمایی کنترل دسترسی (OWASP A01) • RBAC چهار سطحی: کارمند، مدیر، HR، ادمین — اجرا با NestJS Guards روی هر endpoint • میدلور جداسازی تنانت قبل از هر کوئری دیتابیس — کاربر سازمان A فیزیکاً نمیتواند داده سازمان B را بخواند اعتبارسنجی ورودی (OWASP A03) • class-validator + class-transformer روی تمام DTOها • اجبار نوع در سطح schema مانگوس • اعتبارسنجی بازه تاریخ مرخصی (عدم امکان ثبت بیش از ۳ روز گذشته) زیرساخت • HTTPS اجباری، HSTS فعال • Rate Limiting روی /auth/* (5 درخواست در دقیقه) • تمام secretها در environment variable — بدون hardcode` },



تکنولوژیهای کلیدی هسته

04 / 04
Neshateman.com
معمار ارشد فولاستک
پلتفرم تجارت الکترونیک با سیستم مشارکت در فروش چندسطحی پلهای و موتور محاسبه اتمیک کمیسیونها.