ایرشیت (Airsheet) یک پلتفرم بدونکد ایرانی است که با آن میتوان بدون نوشتن حتی یک خط کد، یک نرمافزار مبتنی بر پایگاه داده ساخت: جدول تعریف کرد، فرم ساخت، گزارش گرفت، دسترسیها را مدیریت کرد و فرایندهای سازمانی را خودکار کرد. من، حسام ضیایی (محمدحسام ضیائی پارسا)، بهعنوان توسعهدهنده روی طراحی و پیادهسازی این پلتفرم کار کردهام؛ هم در لایهی رابط کاربری و هم در لایهی سرور.
ایرشیت چه کاری انجام میدهد؟
هر کاربر در ایرشیت یک یا چند پایگاه (فضای کاری) دارد. هر پایگاه از جدولها تشکیل شده و هر جدول، فیلدها (ستونها) و نماها (شیوههای نمایش) دارد. دادهها بهشکل رکورد ذخیره میشوند و ساختار هر جدول را خود کاربر تعیین میکند، نه یک اسکیمای از پیشتعریفشده.
- حدود ۳۵ نوع فیلد: متن، عدد، تاریخ، انتخابی، پیوست، ارتباط بین جدولها، lookup، rollup، count، فرمول و بیشتر.
- ۹ نوع نما: جدولی، کانبان، تقویم، نقشه، گانت، برد، پیوت و نماهای دیگر؛ هر کدام با فیلتر، گروهبندی، مرتبسازی و رنگبندی شرطی.
- صفحهساز شبیه Notion با نزدیک به ۵۰ نوع بلاک برای ساختن داشبورد، فرم عمومی یا سایت داخلی روی دادههای همان پایگاه.
- نقشها و دسترسی مهمان: کنترل دسترسی در سطح جدول، فیلد و حتی رکورد، بهعلاوهی دسترسی محدود برای کاربران بیرون از سازمان.
- خودکارسازی: واکنش به ایجاد و ویرایش رکورد یا زمانبندی؛ ارسال پیامک و ایمیل، فراخوانی API خارجی و اقدامهای مبتنی بر هوش مصنوعی.
- پیکربندی سرویسهای هر پایگاه: پیامک، درگاه پرداخت، ورود یکپارچه (SSO) و هوش مصنوعی.
رابط کاربری کاملاً دوزبانه است؛ فارسی (راستبهچپ) زبان اصلی محصول است و انگلیسی در کنار آن پشتیبانی میشود.
نقش من در پروژه
کار من در ایرشیت توسعهی محصول بوده است، از رابط کاربری تا سرویسهای سمت سرور:
- پیادهسازی بخشهای رابط کاربری با Vue 3 و Quasar: ویرایشگر جدول، نماها، صفحهساز و تنظیمات پایگاه، با تمرکز روی چیدمان راستبهچپ و واکنشگرایی.
- توسعهی سرویسهای سمت سرور با Node.js و TypeScript روی GraphQL و REST، با ذخیرهسازی داده در MongoDB.
- کار روی منطق ذخیرهسازی پویا: هر جدول ساختار خودش را دارد و رکوردها باید بدون اسکیمای ثابت، سریع خوانده و فیلتر شوند.
- طراحی و پیادهسازی بخشهایی از موتور خودکارسازی، ارزیابی فیلترها و دسترسیهای سطح رکورد.
چالشهای فنی
دادهی بدون اسکیما، با سرعت قابل قبول
در یک پلتفرم بدونکد، ساختار داده را کاربر میسازد. یعنی سرور باید بتواند جدولی با ده فیلد یا صد فیلد، با هر ترکیبی از نوعها، ذخیره کند و همچنان فیلتر و مرتبسازی سریع داشته باشد. حل این مسئله بیشتر از هر چیز به طراحی درست مدل داده و شاخصها در MongoDB برمیگشت.
رابط کاربری راستبهچپ برای ابزاری پیچیده
بیشتر ابزارهای مشابه برای زبانهای چپبهراست طراحی شدهاند. در ایرشیت جدول، گانت، تقویم و صفحهساز باید در فارسی طبیعی به نظر برسند و در انگلیسی هم درست کار کنند. همین تجربه است که در مشاوره طراحی سایت برای پروژههای دوزبانه به کار میبرم.
دسترسی در سه سطح
یک سازمان میخواهد بعضی همکاران فقط بعضی جدولها را ببینند، بعضی فیلدها فقطخواندنی باشند و مشتری بیرونی فقط رکوردهای خودش را ببیند. پیادهسازی این سه سطح بهشکلی که هم امن باشد و هم برای کاربر قابلفهم، یکی از جالبترین بخشهای کار بود.
تکنولوژیها
Vue 3، Quasar Framework، Node.js، TypeScript، GraphQL، REST API و MongoDB.
همکاری روی پروژهای مشابه
اگر به دنبال ساخت یک اپلیکیشن تحت وب، پنل مدیریت یا سامانهی داخلی برای کسبوکار خود هستید، تجربهی ساخت ایرشیت دقیقاً همان چیزی است که در پروژهی شما به کار میآید. از صفحهی مشاوره شروع کنید یا مستقیم پیام بدهید. برای آشنایی بیشتر با من، درباره من را بخوانید.
