Halatap
منصة لإنشاء ومشاركة وتصدير بطاقات العمل الحديثة من لوحة تحكم واحدة، إلى البريد الإلكتروني، ورمز QR، وvCard، و Apple Wallet.
Next.js 16
React 19
TypeScript
Convex
Tailwind CSS 4
Radix UI
Resend

نظرة عامة
يستبدل Halatap بطاقة العمل الورقية بأخرى رقمية يمكنك بالفعل إبقاؤها محدثة. يحصل كل مستخدم على لوحة تحكم لبناء البطاقات من مجموعة من القوالب، ثم يشاركها حسب ما يتطلبه الموقف: رابط عام، أو رمز QR، أو بريد إلكتروني، أو ملف جهة اتصال قابل للتنزيل، أو بطاقة تُحفظ مباشرة في Apple Wallet. إنه تطبيق متكامل البنية (Full-stack) مبني على Next.js و Convex، مع حسابات آمنة، وبيانات في الوقت الفعلي، ودعم لكل من اللغتين الإنجليزية والعربية.
المشكلة
لقد عفا الزمن على البطاقات الورقية. تصبح المعلومات قديمة بمجرد تغير المسمى الوظيفي أو رقم الهاتف، كما يسهل فقدانها، ولا توجد إلا بتنسيق مادي واحد. المشاركة رقمياً ليست أفضل من الناحية العملية، لأنها تنتهي مشتتة عبر الروابط وملفات PDF ورموز QR وتطبيقات المراسلة دون مصدر واحد للحقيقة. وعلاوة على ذلك، يحتاج المستخدمون الدوليون إلى بطاقات بأكثر من لغة، وتحتاج الفرق إلى طريقة لإنشاء العديد من البطاقات في وقت واحد بدلاً من إنشاء واحدة تلو الأخرى. انطلق Halatap لدمج كل ذلك في نظام واحد.
دوري ومنهجية العمل
كان هذا مشروعاً جماعياً، وقد ساهمت في تطوير الواجهة الأمامية والعديد من الميزات الشاملة إلى جانب مطورين آخرين. امتد العمل ليشمل تجربة بناء البطاقة ولوحة التحكم، ومسارات المشاركة، وعمليات التكامل التي تجعل البطاقة مفيدة خارج التطبيق: بطاقات المحفظة، وتصدير vCard، والتسليم عبر البريد الإلكتروني. كان النهج المتبع طوال الوقت هو الحفاظ على هيكلية المنتج قابلة للتركيب (Modular). يغذي نظام قوالب واحد كلاً من معاينة المحرر والبطاقة العامة، ويخدم مخطط بطاقة واحد كلاً من إنشاء بطاقة فردية والاستيراد المجمع، لذلك أعادت الميزات استخدام نفس الأسس بدلاً من التشعب.
الحزمة التقنية
الميزات الرئيسية
معرض الصور


التحديات والحلول
كان لابد من أن يكون التحكم في الوصول مرناً دون أن يصبح معقداً. تحتاج البطاقات العامة والخاصة إلى قواعد مختلفة، لذلك تمت نمذجة المشاركة باستخدام جدول مشاركات مخصص مرتبط بالبطاقة والمستلم. لا يُسمح بالوصول العام إلا عندما يتم تحديد البطاقة صراحةً كعامة، ويكون التحقق داخل استعلام البطاقة نفسه بدلاً من تشتيته عبر واجهة المستخدم.
تم بناء المصادقة بدلاً من الاستعانة بمصادر خارجية بالكامل، مما يعني القيام بذلك بعناية. يتم تجزئة كلمات المرور باستخدام PBKDF2 المزود بـ salt من خلال Web Crypto API بدلاً من تخزينها بصيغة نصية، وتكون رموز إعادة التعيين مرتبطة بوقت وتُميز كمستخدمة بمجرد إنفاقها. كانت الميزة الأكثر تعقيداً هي إنشاء بطاقة Apple Wallet. فهي تتطلب توقيعاً مستنداً إلى الشهادات، والأصول المجمعة الصحيحة، وحمولة QR مضمنة، وحقولاً مترجمة ومنسقة، وكلها يتم إنتاجها عند الطلب وإرجاعها بنوع المحتوى الصحيح. كان دعم كل من المستخدمين الأفراد والفرق يتلخص في إعادة استخدام مخطط بطاقة واحد عبر مسار إنشاء طبيعي ومسار استيراد CSV منفصل.
النتيجة
ينتهي المطاف بـ Halatap إلى القيام بما يجب أن تقوم به بطاقة العمل الرقمية: هوية واحدة قابلة للتحرير تنتقل عبر الويب، والبريد الإلكتروني، ورمز QR، وملفات جهات الاتصال، و Apple Wallet، بلغتين، لكل من الأفراد والفرق. وتدفع ميزات بطاقة المحفظة والاستيراد المجمع على وجه الخصوص المنتج إلى ما هو أبعد من منتج "صفحة الملف الشخصي" النموذجي إلى شيء يناسب المشاركة متعددة القنوات في العالم الحقيقي.
هل تواجه تحدياً تقنياً مشابهاً في منتجك؟
شاركني الوضع الحالي للمنتج، والنتيجة المطلوبة، والمعوقات القائمة. وسأعتمد على ذلك في تحديد محطة تسليم أولى منطقية وعملية.
وظّف مطور Full-Stack