پرش به محتوای اصلی

آماده همکاری در پروژه‌های چالش‌برانگیز و بین‌المللی

گودرز جعفری

مهندس نرم‌افزار و فعال نرم‌افزار آزاد

طراحی و پیاده‌سازی محصولات دیجیتال سریع، دسترس‌پذیر و مهندسی‌شده، و ترویج آزادی نرم‌افزار. متمرکز بر معماری وب مدرن، پایپ‌لاین‌های داده و اجتماع نرم‌افزار آزاد.

سال تجربه تخصصی
+۱۰
بهینه‌سازی و سرعت
۱۰۰٪
سیستم‌های خودکار
۲۴/۷

ترمینال تعاملی

goudarz@arch:~

cat profile.json

{
  "id": "goudarz-jafari",
  "name": "Goudarz Jafari",
  "native": "گودرز جعفری",
  "focus": [
    "Web Architecture",
    "Data Pipelines",
    "Free Software"
  ],
  "remote": true,
  "coffee": "Double Espresso"
}
یک دستور را امتحان کنید:

معرفی کوتاه

نام کامل
گودرز جعفری (Goudarz Jafari)
نقش
مهندس نرم‌افزار و فعال نرم‌افزار آزاد
شغل فعلی
مهندس نرم‌افزار در نوآوران جوان
مجوز
مشاور رسمی نصر، رسته مهندسی نرم‌افزار
اجتماع
مدیر و مترجم بخش فارسی بنیاد موزیلا
لاگ شیراز
عضو و راهبر گروه کاربران گنو/لینوکس شیراز
حوزه تمرکز
معماری وب، پایپ‌لاین داده، نرم‌افزار آزاد، نقشه‌های باز
موقعیت
بین‌المللی / ریموت
زبان‌ها
فارسی (زبان مادری)، انگلیسی

تکنولوژی‌ها و مهارت‌های کلیدی

  • Rust
  • Ruby / Ruby on Rails
  • Python
  • TypeScript
  • PHP / WordPress
  • Astro
  • Next.js
  • Jekyll / Hugo
  • PostgreSQL / SQLite
  • Docker
  • تست‌نویسی خودکار
  • Linux / SysAdmin
  • Git & CI/CD
  • معماری داده
  • GIS / OpenStreetMap
  • Tailwind CSS

نرم‌افزار آزاد

نرم‌افزار باید به کاربرانش احترام بگذارد. من نرم‌افزار آزاد می‌سازم و از آن دفاع می‌کنم: برنامه‌هایی که چهار آزادی بنیادین را به همه می‌دهند.

  1. اجرا

    آزادی اجرای برنامه به هر شکل و برای هر هدفی.

  2. مطالعه

    آزادی مطالعه نحوه کار برنامه و تغییر آن.

  3. اشتراک

    آزادی توزیع نسخه‌ها برای کمک به دیگران.

  4. بهبود

    آزادی توزیع نسخه‌های تغییریافته برای اجتماع.

سوابق کاری

مهندس نرم‌افزار @ نوآوران جوان

شیراز، ایران

طراحی و توسعه سامانه‌های نرم‌افزاری و سرویس‌های API با تمرکز بر معماری پایدار، توسعه‌پذیر و مقیاس‌پذیر، و ساخت سرویس‌های مقاوم به شکست (Production-Hardened) که در شرایط خطا هم کار می‌کنند.

Ruby on Rails

  • ساخت و نگهداری برنامه‌ها و APIهای JSON با Ruby on Rails: معماری MVC، Active Record، Service Objectها و مرزبندی تمیز دامنه.
  • کارهای پس‌زمینه و زمان‌بندی‌شده با Active Job و Sidekiq، Caching با Redis و ارسال ایمیل‌های تراکنشی.
  • توسعه آزمون‌محور (TDD) با RSpec و Minitest (تست‌های Unit، Request و System)، Factoryها و پوشش تست در CI.
  • Migrationهای پایگاه داده، Eager Loading برای جلوگیری از مشکل N+1 و بهینه‌سازی Queryها و Indexها.
  • کیفیت کد و نگهداری: RuboCop، Code Review، مدیریت وابستگی‌ها با Bundler، وصله‌های امنیتی و ارتقای نسخه Ruby و Rails.

Rust

  • سرویس‌های بک‌اند سریع و امن از نظر حافظه با Tokio و Axum، با تکیه بر مدل مالکیت Rust برای جلوگیری از Data Race.
  • مدیریت صریح خطا با Result و خطاهای Typed، Typeهای قوی دامنه و سریال‌سازی با Serde.
  • دسترسی به پایگاه داده با SQLx و SQLite/PostgreSQL و ساخت کلاینت REST API با reqwest.
  • ساخت ابزارهای خط فرمان و ترمینال با clap و انتشار آن‌ها از طریق CI.
  • تست و امنیت زنجیره تأمین: تست‌های Unit، Integration و Property-based، Clippy، rustfmt، cargo-audit و cargo-deny.

بک‌اند و معماری

  • توسعه بک‌اند با Rust، Ruby و TypeScript/JavaScript و طراحی سرویس‌های مبتنی بر REST API.
  • طراحی معماری نرم‌افزار، مدل‌سازی دامنه و منطق کسب‌وکار (Business Logic)، مدیریت کاربران، احراز هویت و سطوح دسترسی.
  • طراحی و پیاده‌سازی سامانه‌های مبتنی بر PostgreSQL: مدل‌سازی داده، Migration، Indexing و بهینه‌سازی Queryها.
  • طراحی سامانه‌های SaaS، تجارت الکترونیک، CRM، پرداخت، سفارش و خدمات دیجیتال.

یکپارچه‌سازی و پرداخت

  • اتصال سامانه‌ها به APIها و سرویس‌های شخص ثالث، از جمله پیامک و لجستیک.
  • یکپارچه‌سازی درگاه‌های پرداخت ایرانی و بین‌المللی: درگاه‌های مبتنی بر شاپرک، Stripe، PayPal و Paddle.

استقرار و پایداری

  • طراحی سرویس‌های مقاوم به شکست با در نظر گرفتن امنیت، پایداری، مقیاس‌پذیری، Caching و Load Balancing.
  • طراحی فرآیندهای Build، Test، Deployment و Release برای محیط‌های Development، Testing و Production با Git، GitHub، GitLab CI، Branching و Code Review.
  • Docker و Containerization، مدیریت Configuration و Environment Variables، Monitoring، Logging، مدیریت خطا، Debugging و بهینه‌سازی کارایی روی گنو/لینوکس.

ابزار، فرانت‌اند و سکوها

  • توسعه ابزارهای تخصصی CLI، TUI، Web Crawler و Data Processing با Rust برای خودکارسازی فرآیندهای فنی.
  • توسعه فرانت‌اند و وب مدرن با Astro، Next.js و TypeScript: رابط‌های Responsive، PWA، کراس‌پلتفرم، چندزبانه و دوسویه (BiDi).
  • کار با PHP و WordPress، Magento و OpenCart، و انجمن‌سازهای Discourse و Forem: توسعه افزونه، بهینه‌سازی و یکپارچه‌سازی.

گزیده پروژه‌ها

  • Rust · SMTP · SQLiteدر حال توسعه

    Spoolbox (در زبانه جدید باز می‌شود)

    ابزار تست ایمیل و SMTP برای توسعه‌دهندگان، نوشته‌شده با Rust. ایمیل‌هایی را که برنامه شما می‌فرستد دریافت می‌کند، هر پیام را بایت‌به‌بایت در SQLite همراه با ایندکس MIME و جستجوی متن کامل ذخیره می‌کند و فقط وقتی پیام امن روی دیسک نوشته شد آن را تأیید می‌کند، تا هیچ پیام پذیرفته‌شده‌ای از دست نرود.

  • Rust · SMS API · MIT

    کاوه‌نگار برای Rust ‏(kavenegar-rs) (در زبانه جدید باز می‌شود)

    کتابخانه غیرهمزمان (async) زبان Rust برای وب‌سرویس پیامک، رمز یک‌بارمصرف (OTP) و تماس صوتی کاوه‌نگار: پوشش هر ۳۲ متد مستندات REST، کدهای وضعیت type-safe که با اضافه شدن کد جدید از طرف کاوه‌نگار نمی‌شکنند، گرفتن خطاهای رایج پیش از مصرف درخواست، TLS با rustls بدون نیاز به OpenSSL سیستم، و جلوگیری از نشت کلید API در پیام‌های خطا.

  • راهنما · ۱۴ زبان

    تقویم شمسی برای توسعه‌دهندگان (در زبانه جدید باز می‌شود)

    راهنمای دوزبانه و آزموده برای افزودن تقویم هجری شمسی به نرم‌افزار: قاعده نجومی کبیسه، الگوریتم کامل، کد بدون وابستگی در ۱۴ زبان، ۸٬۵۱۰ داده آزمون و ارزیابی ۲۳ کتابخانه؛ بررسی‌شده برای تک‌تک روزهای ۱۱۷۸ تا ۳۰۰۰ هجری شمسی.

  • Userscript · Waze

    تبدیل تاریخ میلادی به شمسی در ویز (WME) (در زبانه جدید باز می‌شود)

    اسکریپت کاربری برای ویرایشگر نقشه ویز (Waze Map Editor) که تاریخ‌های میلادی را هم‌زمان با نمایش به شمسی تبدیل می‌کند: تبدیل منطقه زمانی لس‌آنجلس به تهران با در نظر گرفتن ساعت تابستانی، پیمایش Shadow DOM و پایش زنده با MutationObserver، پنج قالب نمایش و تنظیمات دوزبانه.

  • وب‌سایت · AGPL-3.0

    تاکسلی (Tuxly) (در زبانه جدید باز می‌شود)

    تاکسلی خانه فارسی نرم‌افزار آزاد و متن‌باز است: اخبار روز، معرفی توزیع‌ها و میزکارها، آموزش و تقویم رویدادهای اجتماع متن‌باز. کد خود سایت هم آزاد است و با مجوز AGPL-3.0 منتشر شده است.

بومی‌سازی و اجتماع‌های متن‌باز

نرم‌افزار آزاد برای همه مردم جهان است و همه باید بتوانند به‌راحتی و به زبان خودشان از آن استفاده کنند. برای همین، نرم‌افزارهای آزاد را به فارسی ترجمه می‌کنم، ترجمه‌ها را بازبینی و هماهنگ می‌کنم و مشکلات راست‌به‌چپ و دوسویه (BiDi) را گزارش می‌دهم یا خودم برطرف می‌کنم.

اسکریپت‌ها و ابزارهای کوچک

ابزارهای کوچک و کاربردی که یک مشکل واقعی را برای من و دیگران حل کرده‌اند.

  • Redirector · ۲۰۲۱

    رفع مشکل پلیر Adobe Connect در سامانه وادانا (در زبانه جدید باز می‌شود)

    کلاس‌های مجازی سامانه وادانای دانشگاه آزاد روی Adobe Connect برگزار می‌شد و صفحه پلیر، دانشجو را به Flash Player منسوخ یا نرم‌افزار دسکتاپ می‌فرستاد. این قاعده برای افزونه Redirector لینک get-player را بازنویسی می‌کند تا هر کلاس مستقیم در کلاینت HTML5 خود Adobe Connect و داخل مرورگر باز شود. کافی است فایل JSON را در Redirector وارد کنید.

    get-player → /room/?html-view=true
  • Apps Script · ۲۰۲۳

    تاریخ شمسی در گوگل شیت (در زبانه جدید باز می‌شود)

    یک تابع Apps Script که فرمول ‎=JALALI()‎ را به Google Sheets اضافه می‌کند. هر تاریخ میلادی را با تقویم داخلی fa-IR به شمسی تبدیل می‌کند و با ارقام لاتین برمی‌گرداند (مثلاً 1402/8/1). کافی است کد را در Extensions ← Apps Script قرار دهید و ذخیره کنید.

    =JALALI(TODAY())
  • PHP · WordPress · ۲۰۲۶

    عیب‌یابی اتصال وردپرس به WordPress.org (در زبانه جدید باز می‌شود)

    اسکریپت مستقل PHP برای خطای معروف «Unexpected error» هنگام نصب افزونه، که در هاست‌های اشتراکی داخل ایران به‌خاطر محدودیت اتصال به سرورهای وردپرس رایج است. فایل را در ریشه سایت آپلود و در مرورگر باز کنید: محیط PHP، DNS، HTTP API وردپرس، REST API، درخواست Loopback، cURL، fsockopen و IPv6 را بررسی می‌کند و دقیقاً نشان می‌دهد کدام اتصال برقرار نیست. بعد از تست، فایل را حذف کنید.

    wp-org-connectivity-diagnostic.php

مشارکت در داده‌های جغرافیایی و نقشه‌های باز

مشارکت مستمر در OpenStreetMap (OSM) و Google Maps در زمینه ثبت و تدقیق داده‌های مکانی، ترسیم معابر و عوارض شهری. تسلط بر ابزارهای ویرایش نقشه، اکوسیستم داده‌های مکانی باز، تگ‌گذاری استاندارد (Tagging Schema)، تحلیل لایه‌های وکتور و ساختارهای GIS.

  • OpenStreetMap
  • Google Maps
  • JOSM / iD Editor
  • GIS & Spatial Data
  • GeoJSON / Overpass API
  • OSM Tagging Standards

مشاور رسمی

سازمان نظام صنفی رایانه‌ای کشور (نصر)

  • رسته تخصصی: مهندسی نرم‌افزار
  • صادرکننده: سازمان نظام صنفی رایانه‌ای استان فارس
  • کد عضویت ۷۱۰۳۰۶۹۱
استعلام عضویت (در زبانه جدید باز می‌شود)

شروع یک همکاری تازه

از طریق ایمیل، تلفن یا شبکه‌های تخصصی با من در ارتباط باشید.