الشفافية كمبدأ
نؤمن بأن الثقة يجب أن تُبنى على الشفافية وليس على الوعود. لهذا السبب، رصد مشروع مفتوح المصدر بالكامل.
ماذا يعني هذا؟
- يمكنك الاطلاع على كل سطر من كود التطبيق
- يمكنك التحقق بنفسك من أننا لا نرسل بياناتك لأي جهة
- يمكنك نسخ المشروع وتشغيله بشكل مستقل على جهازك أو خادمك
- يمكنك المساهمة في تحسين التطبيق
البنية التقنية
التطبيق مبني بالكامل على التقنيات التالية، وجميعها مفتوحة المصدر:
- Next.js — MIT License
- Leaflet + leaflet-draw — BSD 2-Clause License
- OpenStreetMap — ODbL License
- SheetJS (xlsx) — Apache-2.0 License
- shadcn/ui — MIT License
- Tailwind CSS — MIT License
- Lucide React — ISC License
رابط المستودع
كيف تشغله محلياً؟
git clone https://github.com/mo9a7i/majd-maps
cd majd-maps
pnpm install
pnpm dev
ثم افتح http://localhost:3000 في المتصفح.
هيكل الملفات الرئيسية
src/
├── app/ # صفحات Next.js
│ ├── app/page.tsx # صفحة التطبيق الرئيسية
│ └── page.tsx # الصفحة التمهيدية
├── components/
│ ├── Landing/ # مكونات الصفحة التمهيدية
│ └── Map/
│ ├── MapView.tsx # المنسق الرئيسي للخريطة
│ ├── MapCanvas.tsx # رسم Leaflet وإدارة الطبقات
│ ├── MarkerList.tsx # القائمة الجانبية الموحدة مع الفلاتر
│ ├── ActionsCard.tsx # الورقة الجانبية للقائمة
│ ├── AddMarkerDialog.tsx # نموذج إضافة/تعديل نقطة
│ ├── AddShapeDialog.tsx # نموذج إضافة/تعديل شكل
│ └── EmailTemplateDialog.tsx # نافذة قوالب البريد
├── lib/
│ ├── types.ts # تعريفات TypeScript (Marker, Shape, EmailTemplate...)
│ ├── ProjectContext.tsx # الحالة العامة (markers, shapes, emailTemplate)
│ ├── exporters.ts # تصدير XLSX / GeoJSON / KML
│ └── importers.ts # استيراد XLSX / GeoJSON / KML
المساهمة
نرحب بأي مساهمة، سواء كانت تقريراً عن خطأ، أو اقتراح ميزة، أو تحسين في الكود. تواصل معنا عبر قسم Issues في المستودع.
رصد — شفافية كاملة، خصوصية حقيقية.