رفتن به محتوا

توسعه اپلیکیشن وب سفارشی

اپلیکیشن‌های وب سازمانی با FastAPI، React و MongoDB یا PostgreSQL؛ همان پشته‌ای که محصولات خودمان روی آن ساخته شده‌اند

توسعه اپلیکیشن وب سفارشی

بیشتر نرم‌افزار وبی که می‌نویسیم برای خودمان است. FanDesk، Mobile Master، Fidar MES، EnergyFile و پنل مدیریت FanMail همه اول پروژهٔ داخلی بودند و بعد محصول شدند. همان تیم و همان عادت‌های کدنویسی وارد پروژه‌های مشتری هم می‌شود. یعنی وقتی ساخت یک اپلیکیشن وب سفارشی را به فنپینو می‌سپارید، همان پشته‌ای را می‌گیرید که هر روز در محیط عملیاتی خودمان اجرا می‌شود، نه چیزی که فقط برای پروژهٔ شما سرهم شده باشد.

این خدمت برای چه کسانی است

سازمان‌هایی که فرایندشان در نرم‌افزارهای آماده جا نمی‌شود، یا فقط با کلی فایل اکسل کنارش جا می‌شود. نمونه‌های رایج: پرتال داخلی که باید با ERP موجود حرف بزند، گردش‌کاری با تأیید چندمرحله‌ای و ردپای ممیزی، داشبورد مشتری، یا محصولی که می‌خواهید بعداً به‌صورت SaaS بفروشید. برای تیم‌هایی هم مناسب است که نرم‌افزار باید روی سرور خودشان اجرا شود، گاهی در شبکه‌ای که اصلاً اینترنت ندارد.

اگر یک افزونهٔ وردپرس یا یک CRM استاندارد نود درصد کار را انجام می‌دهد، احتمالاً به ما نیاز ندارید. این را همان جلسهٔ اول صادقانه می‌گوییم.

روند اجرای پروژه

  1. جلسهٔ تعریف دامنه و سند مکتوب. دربارهٔ کاربران، داده‌ها و یکی دو فرایند اصلی صحبت می‌کنیم و یک سند کوتاه می‌فرستیم که روشن کند چه چیزی داخل پروژه است و چه چیزی نیست.
  2. اول مدل داده. قبل از هر ظاهرسازی، داده را مدل می‌کنیم و یک صفحه را از پایگاه داده تا مرورگر کامل می‌سازیم تا در همان هفته‌های اول چیز واقعی برای کلیک کردن داشته باشید.
  3. چرخه‌های کوتاه روی نسخهٔ آزمایشی. کار روی یک آدرس staging منتشر می‌شود که خودتان از آن استفاده می‌کنید. پیشرفت را به شکل نرم‌افزار کارکردی می‌بینید و تغییرات روی همان صفحهٔ واقعی بحث می‌شود.
  4. تست و بازبینی. قواعد کسب‌وکار تست واحد دارند و API با پایگاه دادهٔ واقعی تست یکپارچه می‌شود. در Fidar MES این یعنی پایتون تایپ‌دار با mypy در حالت strict و CI که با هر خطا جلوی merge را می‌گیرد.
  5. راه‌اندازی و تحویل. با Docker مستقر می‌کنیم، پشتیبان‌گیری و مانیتورینگ را راه می‌اندازیم و کد، فایل‌های محیط و یک راهنمای عملیاتی کوتاه را تحویل می‌دهیم.

پشته‌ای که واقعاً استفاده می‌کنیم

بک‌اند با پایتون، FastAPI و Pydantic نوشته می‌شود. برای داده، هر جا شکل طبیعی داده سند است MongoDB را انتخاب می‌کنیم (FanDesk، Mobile Master، EnergyFile) و هر جا رابطه و تراکنش اصل ماجراست PostgreSQL را (کل زنجیرهٔ ردیابی جوش تا قطعه در Fidar MES در Postgres است). Redis برای کش و صف کارهای پس‌زمینه با arq به کار می‌رود. فرانت‌اند React و TypeScript است که با Vite ساخته می‌شود، یا Next.js وقتی رندر سمت سرور کمک کند؛ خود همین سایت با Astro ساخته شده. همه‌چیز به‌صورت ایمیج Docker پشت Traefik اجرا می‌شود.

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

نمونه‌کارهایی که می‌توانید ببینید

Fidar MES سامانهٔ اجرای تولید برای ساخت سازه‌های فولادی است. مدل Tekla را به فهرست مواد (BOM) تبدیل می‌کند، هر قطعه را در سالن تولید دنبال می‌کند و شمارهٔ ذوب، صلاحیت جوشکار و نتایج NDT را به هر قطعه وصل می‌کند. FanDesk سامانهٔ تیکتینگ با قواعد SLA است که ساعات کاری و تعطیلات واقعی را در نظر می‌گیرد. موتور همین سامانه میز خدمت فناوری اطلاعات را در پروژهٔ دانشگاه لرستان هم اجرا می‌کند، کنار چهار سامانهٔ دیگر با یک ورود یکپارچه.

مطالعهٔ بیشتر

پرسش‌های متداول

هزینهٔ ساخت یک اپلیکیشن وب سفارشی چقدر است؟

به دامنهٔ کار بستگی دارد، برای همین فهرست قیمت منتشر نمی‌کنیم. بعد از جلسهٔ تعریف دامنه یک برآورد مکتوب متناسب با همان سند می‌گیرید و هر تغییری در سند، قبل از شروع کار روی آن دوباره برآورد می‌شود.

مالکیت کد منبع با ما است؟

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

روی سرورهای خودمان اجرا می‌شود؟

بله. هر چیزی که می‌سازیم به‌صورت کانتینر Docker تحویل می‌شود و روی سخت‌افزار شما یا یک سرور ابری اجرا می‌شود. همین حالا روی سروری بدون دسترسی به اینترنت مستقر می‌کنیم؛ ایمیج‌ها را از طریق SSH منتقل می‌کنیم، نه از registry.

می‌توانید آن را به سامانه‌های فعلی ما وصل کنید؟

معمولاً بله. با ورود یکپارچهٔ ملی، درگاه پیامک، درگاه پرداخت و یک افزونهٔ Tekla یکپارچه‌سازی ساخته‌ایم. اگر سامانهٔ شما API دارد، یا حتی پایگاه داده‌ای که بتوانیم بخوانیم، می‌شود با آن کار کرد.

MongoDB یا PostgreSQL؟

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

بعد از راه‌اندازی چه می‌شود؟

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

ویژگی‌های این سرویس

🔐

نقش‌ها و ردپای ممیزی

دسترسی نقش‌محور که در خود API بررسی می‌شود و ثبت هر تغییر با اینکه چه کسی، چه چیزی و چه زمانی.

🌐

فارسی، انگلیسی، عربی

چیدمان واقعی راست‌به‌چپ و چپ‌به‌راست، تاریخ جلالی در جای لازم، بدون متن هاردکد.

🏢

چندمستأجری در صورت نیاز

جداسازی دادهٔ هر مشتری که در یک نقطه اعمال می‌شود، نه اینکه در هر endpoint به خاطر سپرده شود.

🐳

تحویل به‌صورت کانتینر

ایمیج‌های Docker که روی سرور ما یا سرور شما اجرا می‌شوند، حتی در شبکهٔ بدون اینترنت.

به این خدمت علاقه‌مند هستید؟

فرم زیر را پر کنید و ما ظرف ۲۴ ساعت با شما تماس می‌گیریم.

تماس با ما

آماده تحول کسب‌وکار خود هستید؟

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