Commit deefac32 authored by Mahmoud Aglan's avatar Mahmoud Aglan

content(proposal): reprice to 500k, 2-4 weeks, add club news, trim tech detail

Commercial terms:
- Price 900,000 -> 500,000 EGP, breakdown rebased to sum exactly
  (230k app + 160k portal/CMS + 60k gate/invites + 50k launch)
- Payments simplified from three milestones to two: 360,000 on signing,
  140,000 on delivery
- Timeline 4-6 weeks -> 2-4 weeks, timeline recompressed from five
  milestones to four
- Early-signing discount recalculated: 5% = 25,000 (was 45,000)
- "غير شاملة ضريبة القيمة المضافة" now stated in the price hero, the
  totals row, under the payment schedule, in the hero stat and footer,
  and bolded in the FAQ

New scope — club news / blog:
- Fourth axis added; news moved out of the deferred list into phase one
- Live prototype gains a news feed, article page and a fifth tab, with
  home showing the two latest items
- Portal gains a news management screen: article list with reach stats,
  editor with category, image drop and publish-notification toggle
- Article artwork is a branded crest placeholder, not stock photography —
  the club supplies real images at launch and inventing them would
  misrepresent what has been approved

Reduced technical detail per request:
- Dropped the per-template column-name lists (six of them) and the three
  import-engine cards, replaced with one plain note
- Removed API/OTP/RTL/iOS-14/Android-8 jargon throughout; rewrote the
  security and extensibility cards in business terms
- Simplified the in-scope list wording

Also makes .tbl scroll rather than clip: a table too wide for its column
silently lost its last cells instead of becoming reachable.
Co-Authored-By: 's avatarClaude Opus 5 (1M context) <noreply@anthropic.com>
parent cf882849
...@@ -376,3 +376,43 @@ img{ display:block; max-width:100%; } ...@@ -376,3 +376,43 @@ img{ display:block; max-width:100%; }
.hd .sub{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .hd .sub{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.row .l b, .row .l span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .row .l b, .row .l span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.due .mid b{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .due .mid b{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
/* ================= NEWS =================
Article artwork is a branded placeholder, not stock photography: the club
supplies real images at launch, and inventing them here would misrepresent
what has been approved. Each tone tints the same crest-backed panel. */
.nimg{
position:relative; height:104px; border-radius:var(--r-m); overflow:hidden;
flex-shrink:0; width:112px; display:grid; place-items:center;
background:linear-gradient(140deg,#123566,#0A1C38);
}
.nimg.tall{ width:auto; height:186px; border-radius:0; }
.nimg.gold{ background:linear-gradient(140deg,#8A6E14,#2A2003); }
.nimg.mint{ background:linear-gradient(140deg,#0E7355,#04241A); }
.nimg.sky { background:linear-gradient(140deg,#1D5E9E,#0A1C38); }
.nimg.rose{ background:linear-gradient(140deg,#9B3244,#2C0F16); }
.nimg .crest{
position:absolute; inset:0; opacity:.30;
background:url(../../assets/club-logo.png) center/58% no-repeat;
filter:grayscale(1) brightness(2.4);
}
.nimg.tall .crest{ background-size:34%; }
.nimg .ph{ position:relative; width:22px; height:22px; color:#fff; opacity:.5; }
.nimg.tall .ph{ width:30px; height:30px; }
.ncard{
display:flex; gap:12px; align-items:stretch; background:var(--surface);
border:1px solid var(--line); border-radius:var(--r-m); overflow:hidden;
margin-bottom:10px; cursor:pointer; transition:border-color .2s;
}
.ncard:active{ border-color:var(--line-2); }
.ncard.lead{ display:block; }
.ncard .nbody{ flex:1; min-width:0; padding:12px 13px; display:flex; flex-direction:column; gap:5px; justify-content:center; }
.ncard.lead .nbody{ padding:14px; }
.ncard .nmeta{ display:flex; align-items:center; gap:8px; font-size:.66rem; color:var(--txt-3); }
.ncard b{ font-family:var(--f-head); font-size:.87rem; line-height:1.5;
display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ncard.lead b{ font-size:1rem; -webkit-line-clamp:3; }
.ncard .nlead{ font-size:.75rem; color:var(--txt-3); line-height:1.7;
display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ncard:not(.lead) .nlead{ display:none; }
...@@ -36,6 +36,8 @@ ...@@ -36,6 +36,8 @@
<symbol id="i-download" viewBox="0 0 24 24"><path d="M12 4.4v11.8"/><path d="m7.6 11.8 4.4 4.4 4.4-4.4"/><path d="M4.6 15v3.4a2 2 0 0 0 2 2h10.8a2 2 0 0 0 2-2V15"/></symbol> <symbol id="i-download" viewBox="0 0 24 24"><path d="M12 4.4v11.8"/><path d="m7.6 11.8 4.4 4.4 4.4-4.4"/><path d="M4.6 15v3.4a2 2 0 0 0 2 2h10.8a2 2 0 0 0 2-2V15"/></symbol>
<symbol id="i-clock" viewBox="0 0 24 24"><circle cx="12" cy="12" r="8.4"/><path d="M12 6.9v5.4l3.4 2"/></symbol> <symbol id="i-clock" viewBox="0 0 24 24"><circle cx="12" cy="12" r="8.4"/><path d="M12 6.9v5.4l3.4 2"/></symbol>
<symbol id="i-refresh" viewBox="0 0 24 24"><path d="M20.1 12a8.1 8.1 0 1 1-2.6-6"/><path d="M20.3 4.3v4.4h-4.4"/></symbol> <symbol id="i-refresh" viewBox="0 0 24 24"><path d="M20.1 12a8.1 8.1 0 1 1-2.6-6"/><path d="M20.3 4.3v4.4h-4.4"/></symbol>
<symbol id="i-news" viewBox="0 0 24 24"><path d="M17.5 20.4H5.2a2 2 0 0 1-2-2V5.6a2 2 0 0 1 2-2h12.3v14.8a2 2 0 0 0 2 2 2 2 0 0 0 2-2V9.4h-4"/><path d="M6.6 7.6h7.4M6.6 11.4h7.4M6.6 15.2h4.6"/></symbol>
<symbol id="i-image" viewBox="0 0 24 24"><rect x="3.2" y="4.6" width="17.6" height="14.8" rx="2.2"/><circle cx="8.6" cy="9.8" r="1.7"/><path d="m3.8 17.2 4.9-4.4a1.8 1.8 0 0 1 2.4 0l4.2 3.8"/><path d="m13.6 13.4 2.2-1.9a1.8 1.8 0 0 1 2.4 0l2.4 2.1"/></symbol>
<symbol id="i-moon" viewBox="0 0 24 24"><path d="M20.5 14.3A8.6 8.6 0 0 1 9.7 3.5a8.6 8.6 0 1 0 10.8 10.8Z"/></symbol> <symbol id="i-moon" viewBox="0 0 24 24"><path d="M20.5 14.3A8.6 8.6 0 0 1 9.7 3.5a8.6 8.6 0 1 0 10.8 10.8Z"/></symbol>
<symbol id="i-swim" viewBox="0 0 24 24"><circle cx="15.6" cy="6.4" r="2"/><path d="M4.6 13.2 9.2 10l4 3.1"/><path d="M2.6 17.9c1.7 0 1.7 1.5 3.5 1.5s1.7-1.5 3.5-1.5 1.7 1.5 3.5 1.5 1.7-1.5 3.5-1.5 1.7 1.5 3.4 1.5"/></symbol> <symbol id="i-swim" viewBox="0 0 24 24"><circle cx="15.6" cy="6.4" r="2"/><path d="M4.6 13.2 9.2 10l4 3.1"/><path d="M2.6 17.9c1.7 0 1.7 1.5 3.5 1.5s1.7-1.5 3.5-1.5 1.7 1.5 3.5 1.5 1.7-1.5 3.5-1.5 1.7 1.5 3.4 1.5"/></symbol>
<symbol id="i-football" viewBox="0 0 24 24"><circle cx="12" cy="12" r="8.4"/><path d="m12 7.6 3.5 2.5-1.3 4.1H9.8l-1.3-4.1Z"/><path d="M12 3.6v4M19.6 9.7l-3.8.4M17 18.9l-2.8-4.7M7 18.9l2.8-4.7M4.4 9.7l3.8.4"/></symbol> <symbol id="i-football" viewBox="0 0 24 24"><circle cx="12" cy="12" r="8.4"/><path d="m12 7.6 3.5 2.5-1.3 4.1H9.8l-1.3-4.1Z"/><path d="M12 3.6v4M19.6 9.7l-3.8.4M17 18.9l-2.8-4.7M7 18.9l2.8-4.7M4.4 9.7l3.8.4"/></symbol>
......
...@@ -72,6 +72,7 @@ ...@@ -72,6 +72,7 @@
const t = [ const t = [
['home', 'i-home', 'الرئيسية'], ['home', 'i-home', 'الرئيسية'],
['activities', 'i-activity', 'الأنشطة'], ['activities', 'i-activity', 'الأنشطة'],
['news', 'i-news', 'الأخبار'],
['qr', 'i-gate', 'الدخول'], ['qr', 'i-gate', 'الدخول'],
['profile', 'i-user', 'حسابي'] ['profile', 'i-user', 'حسابي']
]; ];
...@@ -297,6 +298,16 @@ ...@@ -297,6 +298,16 @@
<b style="font-size:.82rem"><span class="num">${invLeft()}</span> من <span class="num">${invTotal()}</span></b> <b style="font-size:.82rem"><span class="num">${invLeft()}</span> من <span class="num">${invTotal()}</span></b>
</div> </div>
</div> </div>
<div class="card-t" style="margin:18px 0 10px"><h3 style="font-size:.9rem">آخر أخبار النادي</h3>
<span class="more" data-go="#/news">كل الأخبار</span></div>
${S.news.slice(0, 2).map(a => `
<div class="ncard row-style" data-go="#/article/${a.id}">
${newsArt(a.tone)}
<div class="nbody">
<div class="nmeta"><span class="chip info">${a.cat}</span><span>${a.date}</span></div>
<b>${a.title}</b>
</div></div>`).join('')}
</div>${tabbar('home')}` </div>${tabbar('home')}`
}; };
}; };
...@@ -728,6 +739,67 @@ ...@@ -728,6 +739,67 @@
}; };
}; };
/* Placeholder artwork: a branded gradient plus the crest, not stock photography.
The club supplies real images at launch; inventing them here would misrepresent
what has been approved. */
function newsArt(tone, tall) {
return `<div class="nimg ${tone} ${tall ? 'tall' : ''}">
<span class="crest"></span>${ico('i-image', 'ph')}</div>`;
}
SCREENS.news = () => {
let cat = 'الكل';
return {
tab: 'news',
body: `${statusbar()}${header({ title: 'أخبار النادي', sub: 'آخر ما نُشر' })}
<div class="screen-body pad">
<div class="chips" id="cats"></div><div id="list"></div>
</div>${tabbar('news')}`,
mount(root) {
const cats = ['الكل', ...new Set(S.news.map(a => a.cat))];
const cbox = $('#cats', root), list = $('#list', root);
const paint = () => {
cbox.innerHTML = cats.map(c => `<button class="${c === cat ? 'on' : ''}" data-c="${c}">${c}</button>`).join('');
cbox.querySelectorAll('[data-c]').forEach(b => b.onclick = () => { cat = b.dataset.c; paint(); });
const items = S.news.filter(a => cat === 'الكل' || a.cat === cat);
list.innerHTML = items.map((a, i) => {
const lead = i === 0 && cat === 'الكل';
return `<div class="ncard ${lead ? 'lead' : ''}" data-go="#/article/${a.id}">
${newsArt(a.tone, lead)}
<div class="nbody">
<div class="nmeta"><span class="chip info">${a.cat}</span>
<span>${a.date}</span></div>
<b>${a.title}</b>
<span class="nlead">${a.lead}</span>
</div></div>`;
}).join('');
bindAll(list);
};
paint();
}
};
};
SCREENS.article = (id) => {
const a = S.news.find(x => x.id === id);
if (!a) return SCREENS.news();
return {
body: `${statusbar()}${header({ back: true, title: a.cat, sub: a.date })}
<div class="screen-body">
${newsArt(a.tone, true)}
<div class="pad">
<h2 style="font-size:1.15rem;line-height:1.45">${a.title}</h2>
<p style="font-size:.85rem;color:var(--txt-2);margin-top:8px;font-weight:600">${a.lead}</p>
<div style="height:1px;background:var(--line);margin:14px 0"></div>
${a.body.split('\n\n').map(par =>
`<p style="font-size:.85rem;color:var(--txt-2);line-height:1.95;margin-bottom:12px">${par}</p>`).join('')}
<button class="btn btn-ghost" data-toast="نموذج تجريبي — المشاركة غير مفعَّلة">مشاركة الخبر</button>
<div style="height:16px"></div>
</div>
</div>`
};
};
SCREENS.notifications = () => ({ SCREENS.notifications = () => ({
body: `${statusbar()}${header({ back: true, title: 'الإشعارات', body: `${statusbar()}${header({ back: true, title: 'الإشعارات',
sub: unreadCount() ? `${unreadCount()} غير مقروء` : 'لا جديد' })} sub: unreadCount() ? `${unreadCount()} غير مقروء` : 'لا جديد' })}
......
...@@ -64,6 +64,24 @@ window.DB = { ...@@ -64,6 +64,24 @@ window.DB = {
{ gate:'البوابة الرئيسية — ومعه ضيف', when:'أمس 16:58' } { gate:'البوابة الرئيسية — ومعه ضيف', when:'أمس 16:58' }
], ],
/* Club blog. Images are described by a tone key rather than a file: the
prototype paints a branded placeholder, so the demo never ships stock
photos the club has not approved. */
news: [
{ id:'a1', cat:'بطولات', tone:'gold', date:'11 مارس 2026', title:'فريق السباحة يحصد ٧ ميداليات في بطولة الجمهورية',
lead:'حقق فريق النادي للسباحة نتائج هي الأفضل منذ خمس سنوات في بطولة الجمهورية للناشئين.',
body:'اختتمت أمس منافسات بطولة الجمهورية للناشئين، وحصد فريق نادي الصيد المصري سبع ميداليات: ثلاث ذهبيات وميداليتين فضيتين وبرونزيتين، ليحتل المركز الثاني في الترتيب العام.\n\nوجّه مجلس الإدارة الشكر إلى الجهاز الفني بقيادة كابتن هشام صلاح، وإلى أولياء الأمور على دعمهم المتواصل. وتبدأ استعدادات الفريق للبطولة العربية مطلع الشهر القادم.', pinned:true },
{ id:'a2', cat:'فعاليات', tone:'mint', date:'9 مارس 2026', title:'فتح باب التسجيل في معسكر الصيف للأطفال',
lead:'يبدأ المعسكر أول يوليو ويستمر ستة أسابيع، ويشمل السباحة وكرة القدم والتنس.',
body:'أعلنت إدارة الأنشطة الرياضية فتح باب التسجيل في معسكر الصيف للأطفال من سن ٦ إلى ١٤ سنة.\n\nيشمل المعسكر تدريبات يومية في السباحة وكرة القدم والتنس، بالإضافة إلى أنشطة ترفيهية ووجبة غداء. الأماكن محدودة والتسجيل من التطبيق مباشرة عبر قسم الأنشطة.' },
{ id:'a3', cat:'إعلانات', tone:'sky', date:'6 مارس 2026', title:'صيانة حمام السباحة الأولمبي الأسبوع القادم',
lead:'يغلق الحمام الأولمبي من الاثنين إلى الأربعاء لأعمال الصيانة الدورية.',
body:'تُجرى أعمال الصيانة الدورية لحمام السباحة الأولمبي خلال الفترة من الاثنين ١٠ مارس إلى الأربعاء ١٢ مارس.\n\nتُنقل حصص السباحة خلال هذه الأيام إلى الحمام المغطى، وستصل رسالة بالمواعيد الجديدة لكل مجموعة. نعتذر عن أي إزعاج.' },
{ id:'a4', cat:'أخبار المجلس', tone:'rose', date:'2 مارس 2026', title:'مجلس الإدارة يعتمد خطة تطوير الملاعب',
lead:'اعتمد المجلس في اجتماعه الأخير خطة تطوير ملاعب التنس وإنشاء صالة جديدة متعددة الأغراض.',
body:'اعتمد مجلس إدارة النادي خطة تطوير المنشآت الرياضية للعام الجاري، وتشمل إعادة تأهيل ملاعب التنس الأربعة وإنشاء صالة متعددة الأغراض.\n\nمن المقرر أن تبدأ الأعمال مطلع الشهر القادم وتنتهي قبل بداية الموسم الصيفي.' }
],
notifications: [ notifications: [
{ id:'n1', title:'قسط مستحق منذ يومين', body:'قسط تجديد العضوية ٢ من ٣ بقيمة 1,500 ج.م.', when:'اليوم 09:10', kind:'due', unread:true }, { id:'n1', title:'قسط مستحق منذ يومين', body:'قسط تجديد العضوية ٢ من ٣ بقيمة 1,500 ج.م.', when:'اليوم 09:10', kind:'due', unread:true },
{ id:'n2', title:'حصة تعويضية', body:'أُضيفت حصة سباحة الجمعة 14/03 الساعة 10:00.', when:'أمس 18:40', kind:'sched', unread:true }, { id:'n2', title:'حصة تعويضية', body:'أُضيفت حصة سباحة الجمعة 14/03 الساعة 10:00.', when:'أمس 18:40', kind:'sched', unread:true },
......
...@@ -301,7 +301,7 @@ h2.title{ font-size:clamp(1.7rem,3.4vw,2.5rem); color:var(--navy); margin-bottom ...@@ -301,7 +301,7 @@ h2.title{ font-size:clamp(1.7rem,3.4vw,2.5rem); color:var(--navy); margin-bottom
.kpi .d.up{ color:var(--mint); } .kpi .d.up{ color:var(--mint); }
.kpi .d.dn{ color:var(--rose); } .kpi .d.dn{ color:var(--rose); }
.tbl{ background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden; } .tbl{ background:#fff; border:1px solid var(--line); border-radius:12px; overflow-x:auto; overflow-y:hidden; }
.tbl table{ font-size:.78rem; } .tbl table{ font-size:.78rem; }
.tbl th{ .tbl th{
background:var(--paper-2); text-align:start; padding:10px 14px; font-weight:700; background:var(--paper-2); text-align:start; padding:10px 14px; font-weight:700;
...@@ -571,3 +571,11 @@ footer > *{ position:relative; z-index:1; } ...@@ -571,3 +571,11 @@ footer > *{ position:relative; z-index:1; }
@media (max-width:1020px){ @media (max-width:1020px){
.proto-tools{ justify-content:center; } .proto-tools{ justify-content:center; }
} }
/* .tbl clips rather than scrolls and its cells are nowrap, so a long Arabic
headline in a narrow column loses the status badge off the edge. Let the
title column wrap in the news table only. */
.news-tbl td:first-child{ white-space:normal; min-width:150px; line-height:1.55; }
@media (max-width:1020px){
#portal .grid[style*="1.3fr"]{ grid-template-columns:1fr !important; }
}
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<title>نادي الصيد المصري — تطبيق الأعضاء وبوابة البيانات | عرض فني ومالي</title> <title>نادي الصيد المصري — تطبيق الأعضاء وبوابة الإدارة | عرض فني ومالي</title>
<meta name="description" content="تطبيق موبايل للأعضاء يحل أزمة تحصيل الاشتراكات والتجديدات وفواتير الأنشطة الرياضية ودخول البوابة بـ QR — مدعوم ببوابة إدارة ترفع البيانات من ملفات Excel جاهزة."> <meta name="description" content="تطبيق موبايل لأعضاء نادي الصيد المصري: تحصيل الاشتراكات والتجديدات وفواتير الأنشطة، ودخول النادي بكود، وأخبار النادي — تسنده بوابة ويب لإدارة الأعضاء والمحتوى.">
<meta name="theme-color" content="#07142B"> <meta name="theme-color" content="#07142B">
<link rel="icon" href="assets/club-logo.png"> <link rel="icon" href="assets/club-logo.png">
<link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.googleapis.com">
...@@ -47,6 +47,8 @@ ...@@ -47,6 +47,8 @@
<symbol id="i-plus" viewBox="0 0 24 24"><circle cx="12" cy="12" r="8.4"/><path d="M12 8.3v7.4M8.3 12h7.4"/></symbol> <symbol id="i-plus" viewBox="0 0 24 24"><circle cx="12" cy="12" r="8.4"/><path d="M12 8.3v7.4M8.3 12h7.4"/></symbol>
<symbol id="i-layers" viewBox="0 0 24 24"><path d="m12 3.4 8.4 4.3L12 12 3.6 7.7Z"/><path d="m3.6 12 8.4 4.3L20.4 12"/><path d="m3.6 16.3 8.4 4.3 8.4-4.3"/></symbol> <symbol id="i-layers" viewBox="0 0 24 24"><path d="m12 3.4 8.4 4.3L12 12 3.6 7.7Z"/><path d="m3.6 12 8.4 4.3L20.4 12"/><path d="m3.6 16.3 8.4 4.3 8.4-4.3"/></symbol>
<symbol id="i-note" viewBox="0 0 24 24"><path d="m12 3.6 2.6 5.8 5.8 2.6-5.8 2.6L12 20.4l-2.6-5.8L3.6 12l5.8-2.6Z"/></symbol> <symbol id="i-note" viewBox="0 0 24 24"><path d="m12 3.6 2.6 5.8 5.8 2.6-5.8 2.6L12 20.4l-2.6-5.8L3.6 12l5.8-2.6Z"/></symbol>
<symbol id="i-news" viewBox="0 0 24 24"><path d="M17.5 20.4H5.2a2 2 0 0 1-2-2V5.6a2 2 0 0 1 2-2h12.3v14.8a2 2 0 0 0 2 2 2 2 0 0 0 2-2V9.4h-4"/><path d="M6.6 7.6h7.4M6.6 11.4h7.4M6.6 15.2h4.6"/></symbol>
<symbol id="i-image" viewBox="0 0 24 24"><rect x="3.2" y="4.6" width="17.6" height="14.8" rx="2.2"/><circle cx="8.6" cy="9.8" r="1.7"/><path d="m3.8 17.2 4.9-4.4a1.8 1.8 0 0 1 2.4 0l4.2 3.8"/><path d="m13.6 13.4 2.2-1.9a1.8 1.8 0 0 1 2.4 0l2.4 2.1"/></symbol>
<symbol id="i-flag-eg" viewBox="0 0 24 24"><rect x="2.5" y="6.5" width="19" height="3.7" fill="#CE1126" stroke="none"/><rect x="2.5" y="10.2" width="19" height="3.6" fill="#F5F5F5" stroke="none"/><rect x="2.5" y="13.8" width="19" height="3.7" fill="#0B0B0B" stroke="none"/><rect x="2.5" y="6.5" width="19" height="11" rx="1.4" fill="none" stroke="currentColor" stroke-opacity=".45" stroke-width="1"/></symbol> <symbol id="i-flag-eg" viewBox="0 0 24 24"><rect x="2.5" y="6.5" width="19" height="3.7" fill="#CE1126" stroke="none"/><rect x="2.5" y="10.2" width="19" height="3.6" fill="#F5F5F5" stroke="none"/><rect x="2.5" y="13.8" width="19" height="3.7" fill="#0B0B0B" stroke="none"/><rect x="2.5" y="6.5" width="19" height="11" rx="1.4" fill="none" stroke="currentColor" stroke-opacity=".45" stroke-width="1"/></symbol>
<symbol id="i-check" viewBox="0 0 24 24"><path d="m5 12.5 4.6 4.5L19 7.5"/></symbol><symbol id="i-x" viewBox="0 0 24 24"><path d="M6.5 6.5l11 11M17.5 6.5l-11 11"/></symbol><symbol id="i-arrow" viewBox="0 0 24 24"><path d="M19 12H5"/><path d="m11 6-6 6 6 6"/></symbol></defs></svg> <symbol id="i-check" viewBox="0 0 24 24"><path d="m5 12.5 4.6 4.5L19 7.5"/></symbol><symbol id="i-x" viewBox="0 0 24 24"><path d="M6.5 6.5l11 11M17.5 6.5l-11 11"/></symbol><symbol id="i-arrow" viewBox="0 0 24 24"><path d="M19 12H5"/><path d="m11 6-6 6 6 6"/></symbol></defs></svg>
...@@ -76,22 +78,22 @@ ...@@ -76,22 +78,22 @@
<section class="hero" id="top"> <section class="hero" id="top">
<div class="hero-in"> <div class="hero-in">
<img src="assets/club-logo.png" alt="نادي الصيد المصري" class="hero-logo"> <img src="assets/club-logo.png" alt="نادي الصيد المصري" class="hero-logo">
<div class="hero-tag">المرحلة الأولى &mdash; تطبيق الأعضاء وبوابة البيانات</div> <div class="hero-tag">المرحلة الأولى &mdash; تطبيق الأعضاء وبوابة الإدارة والمحتوى</div>
<h1>تطبيق الأعضاء<br>ومتابعة <em>التحصيلات</em></h1> <h1>تطبيق الأعضاء<br>ومتابعة <em>التحصيلات</em></h1>
<p class="hero-sub"> <p class="hero-sub">
تطبيق موبايل لأعضاء نادي الصيد المصري، يعرض على العضو ما عليه من مستحقات ويتيح له سدادها إلكترونيًا، تطبيق موبايل لأعضاء نادي الصيد المصري، يعرض على العضو ما عليه من مستحقات ويتيح له سدادها إلكترونيًا،
والاشتراك في الأنشطة الرياضية، ودخول النادي بكود QR. تسنده بوابة إدارية ترفع عليها إدارة النادي والاشتراك في الأنشطة الرياضية، ودخول النادي بكود QR، ومتابعة أخبار النادي أولًا بأول.
بياناتها من ملفات Excel جاهزة، دون الحاجة إلى نظام ERP كامل. تسنده بوابة ويب تدير منها إدارة النادي الأعضاء والاشتراكات والدعوات وتنشر عليها الأخبار بالصور.
</p> </p>
<div class="btn-row"> <div class="btn-row">
<a href="#app" class="btn btn-gold">شاهدوا نموذج التطبيق ↓</a> <a href="#app" class="btn btn-gold">شاهدوا نموذج التطبيق ↓</a>
<a href="#portal" class="btn btn-ghost">شاهدوا بوابة الإدارة</a> <a href="#portal" class="btn btn-ghost">شاهدوا بوابة الإدارة</a>
</div> </div>
<div class="hero-stats"> <div class="hero-stats">
<div class="hero-stat"><b class="num">3</b><span>محاور فقط في المرحلة الأولى</span></div> <div class="hero-stat"><b class="num">4</b><span>محاور في المرحلة الأولى</span></div>
<div class="hero-stat"><b class="num">4 &ndash; 6</b><span>أسابيع حتى الإطلاق</span></div> <div class="hero-stat"><b class="num">2 &ndash; 4</b><span>أسابيع حتى الإطلاق</span></div>
<div class="hero-stat"><b class="num">6</b><span>ملفات Excel لتشغيل النظام</span></div> <div class="hero-stat"><b>تطبيق + بوابة</b><span>موبايل وويب معًا</span></div>
<div class="hero-stat"><b class="num">900,000</b><span>جنيه &mdash; شامل كل شيء</span></div> <div class="hero-stat"><b class="num">500,000</b><span>جنيه &mdash; غير شامل ض.ق.م</span></div>
</div> </div>
<div class="hero-foot"> <div class="hero-foot">
<span>مقدَّم إلى: مجلس إدارة نادي الصيد المصري</span> <span>مقدَّم إلى: مجلس إدارة نادي الصيد المصري</span>
...@@ -148,7 +150,7 @@ ...@@ -148,7 +150,7 @@
<div class="note reveal" style="margin-top:34px;"> <div class="note reveal" style="margin-top:34px;">
<strong>منهج العرض:</strong> <strong>منهج العرض:</strong>
بدلًا من انتظار مشروع ERP كامل بميزانية بالملايين ومدة تنفيذ طويلة، نبدأ بنطاق محدود يعالج أكبر خسارة قائمة: بدلًا من انتظار مشروع ERP كامل بميزانية بالملايين ومدة تنفيذ طويلة، نبدأ بنطاق محدود يعالج أكبر خسارة قائمة:
تطبيق موبايل للأعضاء وبوابة بيانات مبسّطة. يبدأ التشغيل خلال ستة أسابيع على الأكثر، ويبدأ التحصيل من الشهر الأول للإطلاق، تطبيق موبايل للأعضاء وبوابة ويب للإدارة. يبدأ التشغيل خلال أربعة أسابيع على الأكثر، ويبدأ التحصيل من الشهر الأول للإطلاق،
ويبقى ما عدا ذلك قرارًا مفتوحًا لمرحلة تالية. ويبقى ما عدا ذلك قرارًا مفتوحًا لمرحلة تالية.
</div> </div>
</div> </div>
...@@ -159,19 +161,20 @@ ...@@ -159,19 +161,20 @@
<div class="wrap"> <div class="wrap">
<div class="reveal"> <div class="reveal">
<div class="eyebrow">حدود المشروع</div> <div class="eyebrow">حدود المشروع</div>
<h2 class="title">نطاق المرحلة الأولى: ثلاثة محاور</h2> <h2 class="title">نطاق المرحلة الأولى: أربعة محاور</h2>
<p class="lede"> <p class="lede">
حصر النطاق في ثلاثة محاور هو ما يجعل التنفيذ ممكنًا في أربعة إلى ستة أسابيع وبميزانية 900,000 جنيه. حصر النطاق في أربعة محاور هو ما يجعل التنفيذ ممكنًا في أسبوعين إلى أربعة أسابيع
وبميزانية 500,000 جنيه غير شاملة ضريبة القيمة المضافة.
وما يقع خارج هذه المحاور مؤجَّل صراحةً إلى مرحلة ثانية تُسعَّر على حدة. وما يقع خارج هذه المحاور مؤجَّل صراحةً إلى مرحلة ثانية تُسعَّر على حدة.
</p> </p>
</div> </div>
<div class="grid g3 reveal" style="margin-top:36px;"> <div class="grid g4 reveal" style="margin-top:36px;">
<div class="card"> <div class="card">
<div class="card-ico"><svg class="ico"><use href="#i-members"/></svg></div> <div class="card-ico"><svg class="ico"><use href="#i-members"/></svg></div>
<h4>١ &mdash; العضوية والاشتراكات</h4> <h4>١ &mdash; العضوية والاشتراكات</h4>
<p> <p>
تجديد العضوية السنوي وأقساطه. يرى العضو رصيده ومستحقاته شهرًا بشهر، تجديد العضوية السنوي وأقساطه. يرى العضو مستحقاته شهرًا بشهر،
ويسدد إلكترونيًا كاملًا أو قسطًا، ويستلم إيصالًا فوريًا في التطبيق. ويسدد إلكترونيًا كاملًا أو قسطًا، ويستلم إيصالًا فوريًا في التطبيق.
</p> </p>
</div> </div>
...@@ -179,38 +182,46 @@ ...@@ -179,38 +182,46 @@
<div class="card-ico mint"><svg class="ico"><use href="#i-activity"/></svg></div> <div class="card-ico mint"><svg class="ico"><use href="#i-activity"/></svg></div>
<h4>٢ &mdash; الأنشطة الرياضية</h4> <h4>٢ &mdash; الأنشطة الرياضية</h4>
<p> <p>
كتالوج معلن بأسعار كل نشاط، اشتراك مباشر من التطبيق، فاتورة شهرية، كتالوج معلن بأسعار كل نشاط، واشتراك مباشر من التطبيق، وفاتورة شهرية،
وجدول تدريب لكل مشترك يرفعه المدرب من قالب جاهز. وجدول تدريب يظهر لكل مشترك.
</p> </p>
</div> </div>
<div class="card"> <div class="card">
<div class="card-ico sky"><svg class="ico"><use href="#i-gate"/></svg></div> <div class="card-ico sky"><svg class="ico"><use href="#i-gate"/></svg></div>
<h4>٣ &mdash; البوابة والدعوات</h4> <h4>٣ &mdash; الدخول والدعوات</h4>
<p> <p>
كود QR شخصي متجدد لدخول العضو، رصيد دعوات شهري حسب نوع العضوية، كود دخول شخصي متجدد لكل عضو، ورصيد دعوات شهري حسب نوع العضوية،
وشراء دعوات إضافية من التطبيق عند نفادها. وشراء دعوات إضافية من التطبيق عند نفادها.
</p> </p>
</div> </div>
<div class="card">
<div class="card-ico rose"><svg class="ico"><use href="#i-news"/></svg></div>
<h4>٤ &mdash; أخبار النادي</h4>
<p>
قسم أخبار داخل التطبيق تنشر عليه الإدارة الأخبار والفعاليات والبطولات
بالصور، ويصل الإشعار للعضو فور النشر.
</p>
</div>
</div> </div>
<div class="grid g2 reveal" style="margin-top:44px; align-items:start;"> <div class="grid g2 reveal" style="margin-top:44px; align-items:start;">
<div> <div>
<h3 style="color:var(--navy); font-size:1.1rem; margin-bottom:12px;">داخل نطاق المرحلة الأولى</h3> <h3 style="color:var(--navy); font-size:1.1rem; margin-bottom:12px;">داخل نطاق المرحلة الأولى</h3>
<ul class="scope-list"> <ul class="scope-list">
<li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>تطبيق موبايل أصلي للأعضاء &mdash; iOS و Android، عربي بالكامل RTL</span></li> <li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>تطبيق موبايل للأعضاء على iPhone و Android بواجهة عربية</span></li>
<li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>دخول برقم الموبايل + كود تحقق OTP (بدون كلمات مرور)</span></li> <li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>دخول العضو برقم موبايله بكود تحقق &mdash; بلا كلمات مرور</span></li>
<li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>بطاقة عضوية رقمية وحالة سريان الاشتراك</span></li> <li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>بطاقة عضوية رقمية توضح سريان الاشتراك</span></li>
<li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>كشف المستحقات: تجديد سنوي، أقساط، غرامات، فواتير أنشطة</span></li> <li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>كشف المستحقات: تجديد سنوي وأقساط وغرامات وفواتير أنشطة</span></li>
<li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>سداد إلكتروني بالبطاقة والمحافظ الإلكترونية + إيصال فوري</span></li> <li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>سداد إلكتروني بالبطاقة والمحفظة مع إيصال فوري</span></li>
<li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>كتالوج الأنشطة الرياضية بالأسعار والفئات السنية والسعة</span></li> <li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>كتالوج الأنشطة بالأسعار والفئات السنية والأماكن المتاحة</span></li>
<li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>الاشتراك في نشاط وربطه بأحد الأبناء</span></li> <li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>الاشتراك في نشاط وربطه بأحد الأبناء</span></li>
<li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>جدول التدريب الأسبوعي لكل مشترك</span></li> <li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>جدول التدريب الأسبوعي لكل مشترك</span></li>
<li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>QR دخول متجدد + شاشة مسح على البوابة</span></li> <li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>كود دخول متجدد وشاشة مسح على بوابات النادي</span></li>
<li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>رصيد الدعوات، إصدار دعوة، وشراء دعوات إضافية</span></li> <li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>رصيد الدعوات وإصدارها وشراء دعوات إضافية</span></li>
<li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>إشعارات تذكير بالاستحقاق قبل موعده وبعده</span></li> <li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>قسم أخبار النادي بالصور داخل التطبيق</span></li>
<li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>بوابة إدارة ويب: رفع البيانات، الأعضاء، المستحقات، التسعير، التقارير</span></li> <li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>إشعارات بالمستحقات وبالأخبار الجديدة فور نشرها</span></li>
<li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>ستة قوالب Excel/CSV جاهزة لرفع كل بيانات النادي</span></li> <li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>بوابة ويب لإدارة الأعضاء والمستحقات والتسعير والدعوات والأخبار</span></li>
<li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>النشر على App Store و Google Play باسم النادي</span></li> <li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>نشر التطبيق على App Store و Google Play باسم النادي</span></li>
</ul> </ul>
</div> </div>
<div> <div>
...@@ -221,7 +232,6 @@ ...@@ -221,7 +232,6 @@
<li><span class="tick later"><svg class="ico"><use href="#i-arrow"/></svg></span><span>المطاعم والكافيتريات والطلب من التطبيق</span></li> <li><span class="tick later"><svg class="ico"><use href="#i-arrow"/></svg></span><span>المطاعم والكافيتريات والطلب من التطبيق</span></li>
<li><span class="tick later"><svg class="ico"><use href="#i-arrow"/></svg></span><span>القرى والشاليهات والحجوزات الموسمية</span></li> <li><span class="tick later"><svg class="ico"><use href="#i-arrow"/></svg></span><span>القرى والشاليهات والحجوزات الموسمية</span></li>
<li><span class="tick later"><svg class="ico"><use href="#i-arrow"/></svg></span><span>الشكاوى والطلبات والدعم الفني</span></li> <li><span class="tick later"><svg class="ico"><use href="#i-arrow"/></svg></span><span>الشكاوى والطلبات والدعم الفني</span></li>
<li><span class="tick later"><svg class="ico"><use href="#i-arrow"/></svg></span><span>الأخبار والفعاليات والبطولات</span></li>
<li><span class="tick later"><svg class="ico"><use href="#i-arrow"/></svg></span><span>العيادة الطبية والكشف الرياضي</span></li> <li><span class="tick later"><svg class="ico"><use href="#i-arrow"/></svg></span><span>العيادة الطبية والكشف الرياضي</span></li>
<li><span class="tick later"><svg class="ico"><use href="#i-arrow"/></svg></span><span>الإنجازات وتقييم اللاعبين</span></li> <li><span class="tick later"><svg class="ico"><use href="#i-arrow"/></svg></span><span>الإنجازات وتقييم اللاعبين</span></li>
<li><span class="tick no"><svg class="ico"><use href="#i-x"/></svg></span><span>نظام ERP محاسبي كامل (دفتر عام وميزانيات وأصول)</span></li> <li><span class="tick no"><svg class="ico"><use href="#i-x"/></svg></span><span>نظام ERP محاسبي كامل (دفتر عام وميزانيات وأصول)</span></li>
...@@ -258,15 +268,16 @@ ...@@ -258,15 +268,16 @@
<button class="pn-item" data-route="activities"><span class="n">٦</span> الأنشطة الرياضية</button> <button class="pn-item" data-route="activities"><span class="n">٦</span> الأنشطة الرياضية</button>
<button class="pn-item" data-route="activity/SW-01"><span class="n">٧</span> تفاصيل نشاط والاشتراك</button> <button class="pn-item" data-route="activity/SW-01"><span class="n">٧</span> تفاصيل نشاط والاشتراك</button>
<button class="pn-item" data-route="schedule"><span class="n">٨</span> جدول التدريب</button> <button class="pn-item" data-route="schedule"><span class="n">٨</span> جدول التدريب</button>
<button class="pn-item" data-route="receipts"><span class="n">٩</span> الإيصالات</button> <button class="pn-item" data-route="news"><span class="n">٩</span> أخبار النادي</button>
<button class="pn-item" data-route="notifications"><span class="n">١٠</span> الإشعارات</button> <button class="pn-item" data-route="article/a1"><span class="n">١٠</span> صفحة الخبر</button>
<button class="pn-item" data-route="profile"><span class="n">١١</span> حسابي والإعدادات</button> <button class="pn-item" data-route="receipts"><span class="n">١١</span> الإيصالات</button>
<button class="pn-item" data-route="login"><span class="n">١٢</span> الدخول والتحقق</button> <button class="pn-item" data-route="notifications"><span class="n">١٢</span> الإشعارات</button>
<button class="pn-item" data-route="profile"><span class="n">١٣</span> حسابي والإعدادات</button>
<button class="pn-item" data-route="login"><span class="n">١٤</span> الدخول والتحقق</button>
<div class="pn-desc"> <div class="pn-desc">
هذا نموذج يعمل فعليًا لا صور ثابتة: اضغطوا داخل الشاشة نفسها للتنقل والسداد هذا نموذج يعمل فعليًا لا صور ثابتة: اضغطوا داخل الشاشة نفسها للتنقل والسداد
والاشتراك في نشاط وإصدار دعوة، وستتغير الأرصدة والمستحقات أمامكم. والاشتراك في نشاط وإصدار دعوة وقراءة خبر، وستتغير الأرصدة والمستحقات أمامكم.
تطبيق أصلي (Native) لنظامي iOS و Android بواجهة عربية من اليمين لليسار، التطبيق يعمل على أجهزة iPhone و Android بواجهة عربية بالكامل.
يعمل على الأجهزة من إصدار iOS 14 و Android 8 فأحدث.
</div> </div>
</div> </div>
...@@ -294,11 +305,11 @@ ...@@ -294,11 +305,11 @@
<div class="wrap"> <div class="wrap">
<div class="reveal"> <div class="reveal">
<div class="eyebrow">نموذج تفاعلي للبوابة</div> <div class="eyebrow">نموذج تفاعلي للبوابة</div>
<h2 class="title">بوابة الإدارة على الويب</h2> <h2 class="title">بوابة الإدارة والمحتوى على الويب</h2>
<p class="lede"> <p class="lede">
البوابة هي مصدر البيانات الذي يغذّي التطبيق، ولا تتطلب تدريبًا طويلًا ولا موظفًا متخصصًا: من البوابة تدير الإدارة الأعضاء والاشتراكات والمستحقات وسياسة الدعوات،
تحمّلون القالب وتملأونه وترفعونه، ويتولى النظام التحقق والاعتماد. وتنشر أخبار النادي بالصور فتظهر في التطبيق فورًا.
وبعد الرفع الأول تُدار البيانات من الشاشات مباشرة. لا تتطلب تدريبًا طويلًا ولا موظفًا متخصصًا: ترفعون ملفاتكم مرة واحدة، ثم تُدار كل شيء من الشاشات مباشرة.
</p> </p>
</div> </div>
...@@ -309,6 +320,7 @@ ...@@ -309,6 +320,7 @@
<button class="pn-item" style="width:auto;" data-pscr="catalog"><span class="n">٤</span> تسعير الأنشطة</button> <button class="pn-item" style="width:auto;" data-pscr="catalog"><span class="n">٤</span> تسعير الأنشطة</button>
<button class="pn-item" style="width:auto;" data-pscr="invites"><span class="n">٥</span> سياسة الدعوات</button> <button class="pn-item" style="width:auto;" data-pscr="invites"><span class="n">٥</span> سياسة الدعوات</button>
<button class="pn-item" style="width:auto;" data-pscr="sched"><span class="n">٦</span> جداول المدربين</button> <button class="pn-item" style="width:auto;" data-pscr="sched"><span class="n">٦</span> جداول المدربين</button>
<button class="pn-item" style="width:auto;" data-pscr="news"><span class="n">٧</span> أخبار النادي</button>
</div> </div>
<div class="browser reveal" style="margin-top:18px;"> <div class="browser reveal" style="margin-top:18px;">
...@@ -327,6 +339,7 @@ ...@@ -327,6 +339,7 @@
<div class="si" data-jump="catalog"><i><svg class="ico"><use href="#i-activity"/></svg></i> تسعير الأنشطة</div> <div class="si" data-jump="catalog"><i><svg class="ico"><use href="#i-activity"/></svg></i> تسعير الأنشطة</div>
<div class="si" data-jump="invites"><i><svg class="ico"><use href="#i-mail"/></svg></i> سياسة الدعوات</div> <div class="si" data-jump="invites"><i><svg class="ico"><use href="#i-mail"/></svg></i> سياسة الدعوات</div>
<div class="si" data-jump="sched"><i><svg class="ico"><use href="#i-clock"/></svg></i> جداول المدربين</div> <div class="si" data-jump="sched"><i><svg class="ico"><use href="#i-clock"/></svg></i> جداول المدربين</div>
<div class="si" data-jump="news"><i><svg class="ico"><use href="#i-news"/></svg></i> أخبار النادي</div>
<div class="si"><i><svg class="ico"><use href="#i-receipt"/></svg></i> الإيصالات</div> <div class="si"><i><svg class="ico"><use href="#i-receipt"/></svg></i> الإيصالات</div>
<div class="si"><i><svg class="ico"><use href="#i-bell"/></svg></i> الإشعارات</div> <div class="si"><i><svg class="ico"><use href="#i-bell"/></svg></i> الإشعارات</div>
<div class="si"><i><svg class="ico"><use href="#i-settings"/></svg></i> الإعدادات</div> <div class="si"><i><svg class="ico"><use href="#i-settings"/></svg></i> الإعدادات</div>
...@@ -620,6 +633,60 @@ ...@@ -620,6 +633,60 @@
</div> </div>
</div> </div>
<!-- P7 NEWS / CMS -->
<div class="pscr" data-pscr="news" style="display:none;">
<div class="ptop">
<div><h3>أخبار النادي</h3><p>ما يُنشر هنا يظهر في التطبيق فورًا ويصل الأعضاء إشعار به</p></div>
<span class="pbtn gold">+ خبر جديد</span>
</div>
<div class="grid" style="grid-template-columns:1.3fr 1fr;gap:18px;align-items:start;">
<div class="tbl news-tbl">
<table>
<thead><tr><th>العنوان</th><th>التصنيف</th><th>التاريخ</th><th>الحالة</th></tr></thead>
<tbody>
<tr><td>فريق السباحة يحصد ٧ ميداليات</td><td>بطولات</td><td class="num">2026/03/11</td><td><span class="badge ok">منشور</span></td></tr>
<tr><td>فتح باب التسجيل في معسكر الصيف</td><td>فعاليات</td><td class="num">2026/03/09</td><td><span class="badge ok">منشور</span></td></tr>
<tr><td>صيانة حمام السباحة الأولمبي</td><td>إعلانات</td><td class="num">2026/03/06</td><td><span class="badge ok">منشور</span></td></tr>
<tr><td>مجلس الإدارة يعتمد خطة تطوير الملاعب</td><td>أخبار المجلس</td><td class="num">2026/03/02</td><td><span class="badge ok">منشور</span></td></tr>
<tr><td>نتائج بطولة الاسكواش الودية</td><td>بطولات</td><td></td><td><span class="badge warn">مسودة</span></td></tr>
</tbody>
</table>
<div style="padding:14px;border-top:1px solid var(--line);">
<div class="grid g3" style="gap:10px;">
<div class="kpi" style="border:none;padding:0;"><div class="k">منشور هذا الشهر</div><div class="v num">4</div></div>
<div class="kpi" style="border:none;padding:0;"><div class="k">قرأها أعضاء</div><div class="v num">1,932</div></div>
<div class="kpi" style="border:none;padding:0;"><div class="k">متوسط القراءة</div><div class="v num">63%</div></div>
</div>
</div>
</div>
<div style="background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;">
<h4 style="color:var(--navy);font-size:.94rem;margin-bottom:14px;">تحرير: فريق السباحة يحصد ٧ ميداليات</h4>
<div class="field"><label>عنوان الخبر</label><input value="فريق السباحة يحصد ٧ ميداليات في بطولة الجمهورية"></div>
<div class="grid g2" style="gap:10px;">
<div class="field"><label>التصنيف</label>
<select><option>بطولات</option><option>فعاليات</option><option>إعلانات</option><option>أخبار المجلس</option></select></div>
<div class="field"><label>تاريخ النشر</label><input value="2026/03/11"></div>
</div>
<div class="field"><label>مقدمة قصيرة</label>
<input value="نتائج هي الأفضل منذ خمس سنوات في بطولة الجمهورية"></div>
<div class="drop" style="margin-bottom:12px;padding:18px;">
<div class="ic"><svg class="ico"><use href="#i-image"/></svg></div>
<h4>اسحب صور الخبر هنا</h4>
<p>JPG أو PNG &mdash; عدد غير محدود</p>
</div>
<div class="field"><label>إشعار الأعضاء عند النشر</label>
<select><option>نعم &mdash; إشعار لكل الأعضاء</option><option>لا</option></select>
<div class="hint">يصل الإشعار خلال ثوانٍ من الضغط على «نشر».</div></div>
<div style="display:flex;gap:8px;">
<span class="pbtn">نشر الآن</span>
<span class="pbtn ghost">حفظ كمسودة</span>
</div>
</div>
</div>
</div>
</main> </main>
</div> </div>
</div> </div>
...@@ -637,11 +704,12 @@ ...@@ -637,11 +704,12 @@
<section id="templates"> <section id="templates">
<div class="wrap"> <div class="wrap">
<div class="reveal"> <div class="reveal">
<div class="eyebrow">قوالب البيانات</div> <div class="eyebrow">تجهيز البيانات</div>
<h2 class="title">ستة ملفات Excel يقوم عليها تشغيل النظام</h2> <h2 class="title">ستة ملفات Excel يقوم عليها تشغيل النظام</h2>
<p class="lede"> <p class="lede">
لا يتطلب التشغيل إدخال بيانات يدويًا ولا ربطًا بأنظمة قائمة. نسلّم القوالب التالية جاهزة، لا يتطلب التشغيل إدخال بيانات يدويًا ولا ربطًا بأنظمة قائمة. نسلّم القوالب التالية جاهزة،
تُملأ بالبيانات المتاحة لدى النادي ثم تُرفع على البوابة. والقوالب المعروضة أدناه هي القوالب الفعلية، ويمكن تحميلها الآن. تُملأ بالبيانات المتاحة لدى النادي ثم تُرفع على البوابة، ويتولى النظام الباقي.
والقوالب أدناه هي القوالب الفعلية ويمكن تحميلها الآن.
</p> </p>
</div> </div>
...@@ -649,51 +717,46 @@ ...@@ -649,51 +717,46 @@
<div class="tmpl"> <div class="tmpl">
<div class="tmpl-h"><div class="fi">CSV</div><div><h4>١ &mdash; الأعضاء</h4><p>القاعدة التي يقوم عليها كل شيء</p></div></div> <div class="tmpl-h"><div class="fi">CSV</div><div><h4>١ &mdash; الأعضاء</h4><p>القاعدة التي يقوم عليها كل شيء</p></div></div>
<div class="tmpl-b"> <div class="tmpl-b">
<div class="cols"><span>كود العضوية</span><span>الاسم</span><span>الرقم القومي</span><span>الموبايل</span><span>نوع العضوية</span><span>الحالة</span><span>تاريخ الانضمام</span><span>تاريخ الانتهاء</span></div>
<a class="dl" href="templates/01_members.csv" download><svg class="ico"><use href="#i-download"/></svg> تحميل القالب</a> <a class="dl" href="templates/01_members.csv" download><svg class="ico"><use href="#i-download"/></svg> تحميل القالب</a>
</div> </div>
</div> </div>
<div class="tmpl"> <div class="tmpl">
<div class="tmpl-h"><div class="fi">CSV</div><div><h4>٢ &mdash; المستحقات</h4><p>التجديدات والأقساط والغرامات</p></div></div> <div class="tmpl-h"><div class="fi">CSV</div><div><h4>٢ &mdash; المستحقات</h4><p>التجديدات والأقساط والغرامات</p></div></div>
<div class="tmpl-b"> <div class="tmpl-b">
<div class="cols"><span>كود العضوية</span><span>نوع المستحق</span><span>الوصف</span><span>عن شهر</span><span>المبلغ</span><span>تاريخ الاستحقاق</span><span>الحالة</span></div>
<a class="dl" href="templates/02_dues.csv" download><svg class="ico"><use href="#i-download"/></svg> تحميل القالب</a> <a class="dl" href="templates/02_dues.csv" download><svg class="ico"><use href="#i-download"/></svg> تحميل القالب</a>
</div> </div>
</div> </div>
<div class="tmpl"> <div class="tmpl">
<div class="tmpl-h"><div class="fi">CSV</div><div><h4>٣ &mdash; كتالوج الأنشطة</h4><p>ما يظهر للعضو بالأسعار</p></div></div> <div class="tmpl-h"><div class="fi">CSV</div><div><h4>٣ &mdash; كتالوج الأنشطة</h4><p>ما يظهر للعضو بالأسعار</p></div></div>
<div class="tmpl-b"> <div class="tmpl-b">
<div class="cols"><span>كود النشاط</span><span>الاسم</span><span>الفئة السنية</span><span>حصص/شهر</span><span>الاشتراك الشهري</span><span>رسوم الانضمام</span><span>السعة</span><span>المدرب</span></div>
<a class="dl" href="templates/03_sports_catalog.csv" download><svg class="ico"><use href="#i-download"/></svg> تحميل القالب</a> <a class="dl" href="templates/03_sports_catalog.csv" download><svg class="ico"><use href="#i-download"/></svg> تحميل القالب</a>
</div> </div>
</div> </div>
<div class="tmpl"> <div class="tmpl">
<div class="tmpl-h"><div class="fi">CSV</div><div><h4>٤ &mdash; المشتركون في الأنشطة</h4><p>الاشتراكات القائمة حاليًا</p></div></div> <div class="tmpl-h"><div class="fi">CSV</div><div><h4>٤ &mdash; المشتركون في الأنشطة</h4><p>الاشتراكات القائمة حاليًا</p></div></div>
<div class="tmpl-b"> <div class="tmpl-b">
<div class="cols"><span>كود العضوية</span><span>اسم اللاعب</span><span>كود النشاط</span><span>المجموعة</span><span>تاريخ البدء</span><span>الاشتراك</span><span>الحالة</span></div>
<a class="dl" href="templates/04_activity_subscriptions.csv" download><svg class="ico"><use href="#i-download"/></svg> تحميل القالب</a> <a class="dl" href="templates/04_activity_subscriptions.csv" download><svg class="ico"><use href="#i-download"/></svg> تحميل القالب</a>
</div> </div>
</div> </div>
<div class="tmpl"> <div class="tmpl">
<div class="tmpl-h"><div class="fi">CSV</div><div><h4>٥ &mdash; سياسة الدعوات</h4><p>سطر واحد لكل نوع عضوية</p></div></div> <div class="tmpl-h"><div class="fi">CSV</div><div><h4>٥ &mdash; سياسة الدعوات</h4><p>سطر واحد لكل نوع عضوية</p></div></div>
<div class="tmpl-b"> <div class="tmpl-b">
<div class="cols"><span>نوع العضوية</span><span>دعوات مجانية</span><span>سعر الإضافية</span><span>حد الشراء</span><span>دعوة طفل</span><span>الصلاحية</span></div>
<a class="dl" href="templates/05_invitations_policy.csv" download><svg class="ico"><use href="#i-download"/></svg> تحميل القالب</a> <a class="dl" href="templates/05_invitations_policy.csv" download><svg class="ico"><use href="#i-download"/></svg> تحميل القالب</a>
</div> </div>
</div> </div>
<div class="tmpl"> <div class="tmpl">
<div class="tmpl-h"><div class="fi">CSV</div><div><h4>٦ &mdash; جداول التدريب</h4><p>يملأه كل مدرب لمجموعته</p></div></div> <div class="tmpl-h"><div class="fi">CSV</div><div><h4>٦ &mdash; جداول التدريب</h4><p>يملأه كل مدرب لمجموعته</p></div></div>
<div class="tmpl-b"> <div class="tmpl-b">
<div class="cols"><span>كود النشاط</span><span>المجموعة</span><span>اليوم</span><span>من</span><span>إلى</span><span>المكان</span><span>المدرب</span><span>ملاحظات</span></div>
<a class="dl" href="templates/06_training_schedule.csv" download><svg class="ico"><use href="#i-download"/></svg> تحميل القالب</a> <a class="dl" href="templates/06_training_schedule.csv" download><svg class="ico"><use href="#i-download"/></svg> تحميل القالب</a>
</div> </div>
</div> </div>
</div> </div>
<div class="grid g3 reveal" style="margin-top:30px;"> <div class="note reveal" style="margin-top:26px;">
<div class="pain gain"><h4>تعرّف تلقائي على الأعمدة</h4><p>لا يهم ترتيب الأعمدة ولا صياغة عناوينها. النظام يطابقها تلقائيًا ويعرض عليكم المطابقة للمراجعة.</p></div> <strong>بياناتكم كما هي:</strong>
<div class="pain gain"><h4>تحقق قبل الاعتماد</h4><p>أرقام موبايل ناقصة وأكواد مكررة وتواريخ غير صالحة &mdash; كلها تُكتشف قبل دخول أي صف إلى قاعدة البيانات.</p></div> لا يهم ترتيب الأعمدة في ملفاتكم ولا صياغة عناوينها، ولا يهم إن كانت ناقصة.
<div class="pain gain"><h4>رفع متكرر بلا تكرار</h4><p>رفع الملف مرة أخرى يُحدِّث الموجود ويضيف الجديد بمفتاح كود العضوية &mdash; ولا يُنشئ نسخًا مكررة.</p></div> يستوعب النظام الاختلاف عند الرفع، وينبّهكم إلى أي صف يحتاج مراجعة قبل اعتماده،
ولن نطلب منكم إعادة إدخال أي بيانات يدويًا.
</div> </div>
</div> </div>
</section> </section>
...@@ -722,16 +785,16 @@ ...@@ -722,16 +785,16 @@
<div class="grid g3 reveal" style="margin-top:22px;"> <div class="grid g3 reveal" style="margin-top:22px;">
<div class="card" style="background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);"> <div class="card" style="background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);">
<div class="card-ico sky"><svg class="ico"><use href="#i-shield"/></svg></div><h4>أمان البيانات</h4> <div class="card-ico sky"><svg class="ico"><use href="#i-shield"/></svg></div><h4>أمان الحسابات</h4>
<p style="color:#A9BBD4;">تشفير كامل للاتصال، دخول العضو بـ OTP بلا كلمات مرور، صلاحيات محددة لموظفي البوابة، وسجل مراجعة لكل تعديل.</p> <p style="color:#A9BBD4;">يدخل العضو بكود يصل إلى موبايله وحده، ولكل موظف صلاحيات محددة، وسجل يوضح من عدّل ماذا ومتى.</p>
</div> </div>
<div class="card" style="background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);"> <div class="card" style="background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);">
<div class="card-ico mint"><svg class="ico"><use href="#i-database"/></svg></div><h4>ملكية البيانات</h4> <div class="card-ico mint"><svg class="ico"><use href="#i-database"/></svg></div><h4>ملكية البيانات</h4>
<p style="color:#A9BBD4;">بيانات النادي ملك النادي. تصدير كامل بصيغة Excel في أي وقت وبضغطة واحدة، بلا احتجاز ولا رسوم خروج.</p> <p style="color:#A9BBD4;">بيانات النادي ملك النادي. تصدير كامل بصيغة Excel في أي وقت وبضغطة واحدة، بلا احتجاز ولا رسوم خروج.</p>
</div> </div>
<div class="card" style="background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);"> <div class="card" style="background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);">
<div class="card-ico"><svg class="ico"><use href="#i-plug"/></svg></div><h4>قابلية التوسع</h4> <div class="card-ico"><svg class="ico"><use href="#i-layers"/></svg></div><h4>قابلية التوسع</h4>
<p style="color:#A9BBD4;">النظام مبني بواجهة برمجية (API) موثقة، فأي نظام محاسبي أو ERP مستقبلي يتصل به مباشرة دون إعادة بناء.</p> <p style="color:#A9BBD4;">ما يُسلَّم اليوم أساس تُبنى عليه إضافات المرحلة الثانية دون هدم ولا إعادة بناء ولا هدر لما دُفع.</p>
</div> </div>
</div> </div>
</div> </div>
...@@ -742,22 +805,23 @@ ...@@ -742,22 +805,23 @@
<div class="wrap"> <div class="wrap">
<div class="reveal"> <div class="reveal">
<div class="eyebrow">خطة التنفيذ</div> <div class="eyebrow">خطة التنفيذ</div>
<h2 class="title">خطة التنفيذ في أربعة إلى ستة أسابيع</h2> <h2 class="title">خطة التنفيذ في أسبوعين إلى أربعة</h2>
<p class="lede">جدول بتسليمات محددة في نهاية كل مرحلة، ومراجعة مشتركة مع إدارة النادي قبل الانتقال إلى المرحلة التالية. المدة أربعة أسابيع إذا توافرت البيانات والحسابات في الأسبوع الأول، وستة أسابيع في الحد الأقصى.</p> <p class="lede">
جدول بتسليمات محددة في نهاية كل مرحلة، ومراجعة مشتركة مع إدارة النادي قبل الانتقال إلى التالية.
أسبوعان إذا وصلت البيانات والحسابات مبكرًا، وأربعة أسابيع في الحد الأقصى.
</p>
</div> </div>
<div class="grid g2 reveal" style="margin-top:34px;align-items:start;gap:40px;"> <div class="grid g2 reveal" style="margin-top:34px;align-items:start;gap:40px;">
<div class="tl"> <div class="tl">
<div class="tl-i"><div class="tl-w">الأسبوع ١</div><h4>التحليل وتخطيط إدخال البيانات</h4> <div class="tl-i"><div class="tl-w">الأسبوع ١</div><h4>التجهيز وبوابة الإدارة</h4>
<p>ورشة عمل مع إدارة العضويات والأنشطة، وتثبيت أنواع العضوية وبنود المستحقات وسياسة الدعوات وقائمة الأنشطة. <strong>تسليم: القوالب الستة النهائية وخطة إدخال البيانات معتمدة</strong> &mdash; ويفتح النادي في الوقت نفسه الحسابات والخدمات المطلوبة (بوابة الدفع وحسابا المتجرين والاستضافة ومزوّد الرسائل).</p></div> <p>جلسة عمل مع إدارة العضويات والأنشطة لتثبيت أنواع العضوية وبنود المستحقات وسياسة الدعوات وقائمة الأنشطة. <strong>تسليم: بوابة عاملة ترفع عليها الإدارة بياناتها الحقيقية.</strong></p></div>
<div class="tl-i"><div class="tl-w">الأسبوع ٢</div><h4>بناء بوابة الإدارة</h4> <div class="tl-i"><div class="tl-w">الأسبوع ٢</div><h4>تطبيق العضو: العضوية والسداد</h4>
<p>محرك رفع البيانات والتحقق، وشاشات الأعضاء والمستحقات، وتسعير الأنشطة، وسياسة الدعوات، ولوحة التحصيل. <strong>تسليم: بوابة عاملة ترفع عليها الإدارة بياناتها الحقيقية.</strong></p></div> <p>دخول العضو، وبطاقة العضوية، وكشف المستحقات، والسداد الإلكتروني والإيصالات، مع ربط بوابة الدفع واختبارها بمعاملات حقيقية.</p></div>
<div class="tl-i"><div class="tl-w">الأسبوع ٣ &mdash; ٤</div><h4>بناء تطبيق الموبايل</h4> <div class="tl-i"><div class="tl-w">الأسبوع ٣</div><h4>الأنشطة والدخول والأخبار</h4>
<p>الدخول بـ OTP، وبطاقة العضوية، والمستحقات والسداد، والأنشطة والاشتراك، وجدول التدريب، والإشعارات، مع ربط بوابة الدفع واختبار المعاملات الحقيقية.</p></div> <p>كتالوج الأنشطة والاشتراك وجداول التدريب، وكود الدخول المتجدد وشاشة المسح على البوابات، ورصيد الدعوات وشراؤها، وقسم الأخبار بالصور.</p></div>
<div class="tl-i"><div class="tl-w">الأسبوع ٥</div><h4>البوابة والدعوات والاختبار</h4> <div class="tl-i" style="padding-bottom:0;"><div class="tl-w">الأسبوع ٤</div><h4>التجربة والتدريب والإطلاق</h4>
<p>كود QR المتجدد، وشاشة المسح على بوابات النادي، ومحرك رصيد الدعوات وشرائها وربطه بحالة السداد، ثم تشغيل تجريبي مغلق مع خمسين عضوًا وثلاثة مدربين واختبار الحمل والأمان.</p></div> <p>تشغيل تجريبي مغلق مع مجموعة من الأعضاء وتصحيح ما يظهر، ثم تدريب موظفي البوابة، ونشر التطبيق على App Store و Google Play باسم النادي، وبدء التشغيل الفعلي.</p></div>
<div class="tl-i" style="padding-bottom:0;"><div class="tl-w">الأسبوع ٦</div><h4>التدريب والإطلاق</h4>
<p>يوما تدريب لموظفي البوابة، ومادة تعريفية للأعضاء، ونشر التطبيق على App Store و Google Play باسم النادي، وبدء التشغيل الفعلي.</p></div>
</div> </div>
<div> <div>
...@@ -770,15 +834,17 @@ ...@@ -770,15 +834,17 @@
<li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>سياسة الدعوات المعتمدة من المجلس</span></li> <li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>سياسة الدعوات المعتمدة من المجلس</span></li>
<li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>حساب تاجر لدى بوابة دفع باسم النادي (نرشدكم في فتحه)</span></li> <li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>حساب تاجر لدى بوابة دفع باسم النادي (نرشدكم في فتحه)</span></li>
<li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>حسابا مطوّر باسم النادي على App Store و Google Play</span></li> <li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>حسابا مطوّر باسم النادي على App Store و Google Play</span></li>
<li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>حساب استضافة سحابية وحساب مزوّد رسائل SMS لأكواد التحقق</span></li> <li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>حساب استضافة وحساب مزوّد رسائل نصية لأكواد الدخول</span></li>
<li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>أخبار النادي وصورها لبدء تشغيل قسم الأخبار</span></li>
<li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>مسؤول تواصل واحد من النادي طوال المشروع</span></li> <li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>مسؤول تواصل واحد من النادي طوال المشروع</span></li>
</ul> </ul>
</div> </div>
<div class="note"> <div class="note">
<strong>ملاحظة مهمة حول البيانات:</strong> <strong>نبدأ التنفيذ فور التوقيع &mdash; لا ننتظر بياناتكم:</strong>
لم نستلم بعد ملف الأعضاء، ولهذا صُمِّم النظام ليقبل بياناتكم <em>كما هي</em> عبر القوالب، بناء التطبيق والبوابة يبدأ من اليوم الأول ببيانات تجريبية، فلا يتوقف العمل على وصول
لا أن يفرض عليكم هيكلًا جاهزًا. أي اختلاف في أعمدة ملفكم يُستوعب في مرحلة المطابقة ملف الأعضاء أو فتح الحسابات. ما يتوقف عليه هو <em>موعد الإطلاق</em> وحده:
دون تكلفة إضافية ودون تأخير الجدول. كلما وصلت البيانات والحسابات مبكرًا اقتربت المدة من أسبوعين، وكلما تأخرت اقتربت من أربعة.
والنظام مصمَّم ليقبل بياناتكم كما هي دون تكلفة إضافية.
</div> </div>
</div> </div>
</div> </div>
...@@ -797,12 +863,15 @@ ...@@ -797,12 +863,15 @@
<div style="position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:24px;"> <div style="position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:24px;">
<div> <div>
<div style="font-size:.86rem;color:#B9CCE6;margin-bottom:6px;">إجمالي قيمة المشروع &mdash; المرحلة الأولى</div> <div style="font-size:.86rem;color:#B9CCE6;margin-bottom:6px;">إجمالي قيمة المشروع &mdash; المرحلة الأولى</div>
<div class="amt num">900,000</div> <div class="amt num">500,000</div>
<div class="cur">جنيه مصري &mdash; شامل التطبيق والبوابة والنشر والتدريب</div> <div class="cur">جنيه مصري &mdash; شامل التطبيق والبوابة والنشر والتدريب</div>
<div style="font-size:.82rem;color:var(--gold-2);margin-top:8px;font-weight:700;">
الأسعار غير شاملة ضريبة القيمة المضافة
</div>
</div> </div>
<div style="text-align:center;border-inline-start:1px solid rgba(255,255,255,.15);padding-inline-start:26px;"> <div style="text-align:center;border-inline-start:1px solid rgba(255,255,255,.15);padding-inline-start:26px;">
<div style="font-size:.8rem;color:#B9CCE6;">مدة التنفيذ</div> <div style="font-size:.8rem;color:#B9CCE6;">مدة التنفيذ</div>
<div style="font-family:var(--f-head);font-size:1.9rem;font-weight:900;color:#fff;"><span class="num">4 &ndash; 6</span> أسابيع</div> <div style="font-family:var(--f-head);font-size:1.9rem;font-weight:900;color:#fff;"><span class="num">2 &ndash; 4</span> أسابيع</div>
<div style="font-size:.76rem;color:#93AECF;">من التوقيع إلى <b style="color:var(--gold-2);">النشر على المتجرين</b></div> <div style="font-size:.76rem;color:#93AECF;">من التوقيع إلى <b style="color:var(--gold-2);">النشر على المتجرين</b></div>
</div> </div>
</div> </div>
...@@ -811,13 +880,13 @@ ...@@ -811,13 +880,13 @@
<div class="grid g2 reveal" style="margin-top:34px;align-items:start;gap:34px;"> <div class="grid g2 reveal" style="margin-top:34px;align-items:start;gap:34px;">
<div> <div>
<h3 style="color:var(--navy);font-size:1.12rem;margin-bottom:10px;">تفصيل القيمة</h3> <h3 style="color:var(--navy);font-size:1.12rem;margin-bottom:10px;">تفصيل القيمة</h3>
<div class="pline"><div class="pn"><b>تطبيق الموبايل للأعضاء</b><span>iOS + Android أصلي &mdash; ١٢ شاشة &mdash; عربي RTL</span></div><div class="pv"><span class="num">400,000</span></div></div> <div class="pline"><div class="pn"><b>تطبيق الموبايل للأعضاء</b><span>iPhone و Android بواجهة عربية</span></div><div class="pv"><span class="num">230,000</span></div></div>
<div class="pline"><div class="pn"><b>بوابة الإدارة ومحرك رفع البيانات</b><span>٦ قوالب وتحقق ومطابقة و٩ شاشات إدارية</span></div><div class="pv"><span class="num">290,000</span></div></div> <div class="pline"><div class="pn"><b>بوابة الإدارة والمحتوى</b><span>الأعضاء والمستحقات والتسعير والأخبار</span></div><div class="pv"><span class="num">160,000</span></div></div>
<div class="pline"><div class="pn"><b>نظام البوابة والدعوات</b><span>QR متجدد وشاشة مسح ومحرك رصيد وبيع الدعوات</span></div><div class="pv"><span class="num">110,000</span></div></div> <div class="pline"><div class="pn"><b>نظام الدخول والدعوات</b><span>كود متجدد وشاشة مسح ورصيد الدعوات</span></div><div class="pv"><span class="num">60,000</span></div></div>
<div class="pline"><div class="pn"><b>الربط والنشر والتدريب</b><span>بوابة الدفع ونشر المتجرين وتدريب الموظفين والإطلاق</span></div><div class="pv"><span class="num">100,000</span></div></div> <div class="pline"><div class="pn"><b>الربط والنشر والتدريب</b><span>بوابة الدفع ونشر المتجرين وتدريب الموظفين</span></div><div class="pv"><span class="num">50,000</span></div></div>
<div class="pline" style="border-top:2px solid var(--navy);margin-top:6px;padding-top:16px;"> <div class="pline" style="border-top:2px solid var(--navy);margin-top:6px;padding-top:16px;">
<div class="pn"><b style="font-size:1.05rem;">الإجمالي</b><span>غير شامل ضريبة القيمة المضافة</span></div> <div class="pn"><b style="font-size:1.05rem;">الإجمالي</b><span>غير شامل ضريبة القيمة المضافة</span></div>
<div class="pv" style="font-size:1.3rem;color:var(--gold);"><span class="num">900,000</span> ج.م</div> <div class="pv" style="font-size:1.3rem;color:var(--gold);"><span class="num">500,000</span> ج.م</div>
</div> </div>
</div> </div>
...@@ -825,25 +894,21 @@ ...@@ -825,25 +894,21 @@
<h3 style="color:var(--navy);font-size:1.12rem;margin-bottom:10px;">جدول الدفعات</h3> <h3 style="color:var(--navy);font-size:1.12rem;margin-bottom:10px;">جدول الدفعات</h3>
<div style="display:grid;gap:12px;"> <div style="display:grid;gap:12px;">
<div class="pay-step" style="text-align:start;display:flex;align-items:center;gap:20px;flex-wrap:wrap;"> <div class="pay-step" style="text-align:start;display:flex;align-items:center;gap:20px;flex-wrap:wrap;">
<div class="pc num" style="min-width:70px;">40%</div> <div class="pc" style="min-width:132px;"><span class="num">360,000</span></div>
<div style="flex:1;min-width:190px;"> <div style="flex:1;min-width:190px;">
<div class="pa"><span class="num">360,000</span> ج.م</div> <div class="pa">الدفعة الأولى &mdash; عند توقيع العقد</div>
<div class="pw">عند توقيع العقد</div> <div class="pw">يبدأ التنفيذ فور سدادها، دون انتظار بيانات النادي أو فتح الحسابات</div>
</div> </div>
</div> </div>
<div class="pay-step" style="text-align:start;display:flex;align-items:center;gap:20px;flex-wrap:wrap;"> <div class="pay-step" style="text-align:start;display:flex;align-items:center;gap:20px;flex-wrap:wrap;">
<div class="pc num" style="min-width:70px;">25%</div> <div class="pc" style="min-width:132px;"><span class="num">140,000</span></div>
<div style="flex:1;min-width:190px;"> <div style="flex:1;min-width:190px;">
<div class="pa"><span class="num">225,000</span> ج.م</div> <div class="pa">الدفعة الثانية &mdash; عند التسليم</div>
<div class="pw">عند اعتماد خطة إدخال البيانات وفتح النادي للحسابات والخدمات المطلوبة (بوابة الدفع وحسابا المتجرين والاستضافة ومزوّد الرسائل)</div> <div class="pw">التطبيق منشورًا على المتجرين والبوابة عاملة والكود المصدري مسلَّمًا</div>
</div>
</div> </div>
<div class="pay-step" style="text-align:start;display:flex;align-items:center;gap:20px;flex-wrap:wrap;">
<div class="pc num" style="min-width:70px;">35%</div>
<div style="flex:1;min-width:190px;">
<div class="pa"><span class="num">315,000</span> ج.م</div>
<div class="pw">عند اكتمال التسليم: التطبيق منشورًا على المتجرين والبوابة عاملة والكود المصدري مسلَّمًا</div>
</div> </div>
<div style="font-size:.8rem;color:var(--txt-3);text-align:center;padding-top:2px;">
دفعتان فقط بالجنيه المصري &mdash; غير شاملة ضريبة القيمة المضافة
</div> </div>
</div> </div>
...@@ -856,7 +921,7 @@ ...@@ -856,7 +921,7 @@
<li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>يوما تدريب حضوري + أدلة استخدام بالعربية</span></li> <li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>يوما تدريب حضوري + أدلة استخدام بالعربية</span></li>
<li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>تصحيح أي خلل يظهر في التشغيل التجريبي قبل الإطلاق</span></li> <li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>تصحيح أي خلل يظهر في التشغيل التجريبي قبل الإطلاق</span></li>
<li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>تصدير كامل لبياناتكم في أي وقت</span></li> <li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>تصدير كامل لبياناتكم في أي وقت</span></li>
<li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>واجهة برمجية (API) موثقة للربط المستقبلي</span></li> <li><span class="tick"><svg class="ico"><use href="#i-check"/></svg></span><span>قسم الأخبار وعدد غير محدود من المنشورات والصور</span></li>
</ul> </ul>
<div style="margin-top:14px;padding-top:14px;border-top:1px dashed var(--line-2);font-size:.82rem;color:var(--txt-2);line-height:1.85;"> <div style="margin-top:14px;padding-top:14px;border-top:1px dashed var(--line-2);font-size:.82rem;color:var(--txt-2);line-height:1.85;">
<b style="color:var(--navy);">غير مشمول:</b> هذا العرض للتنفيذ والتسليم فقط. الدعم الفني والصيانة والاستضافة والتطوير بعد الإطلاق غير مشمولة، وتُسعَّر على حدة إن طلبها النادي لاحقًا. <b style="color:var(--navy);">غير مشمول:</b> هذا العرض للتنفيذ والتسليم فقط. الدعم الفني والصيانة والاستضافة والتطوير بعد الإطلاق غير مشمولة، وتُسعَّر على حدة إن طلبها النادي لاحقًا.
...@@ -869,9 +934,9 @@ ...@@ -869,9 +934,9 @@
<div class="card"><div class="card-ico mint"><svg class="ico"><use href="#i-refresh"/></svg></div><h4>عائد الاستثمار</h4> <div class="card"><div class="card-ico mint"><svg class="ico"><use href="#i-refresh"/></svg></div><h4>عائد الاستثمار</h4>
<p>يكفي أن ترتفع نسبة التحصيل في موعده ٢٠٪ عمّا هي عليه اليوم، حتى تتجاوز الزيادةُ السنوية في المُحصَّل قيمةَ المشروع كاملةً خلال أقل من شهرين من التشغيل.</p></div> <p>يكفي أن ترتفع نسبة التحصيل في موعده ٢٠٪ عمّا هي عليه اليوم، حتى تتجاوز الزيادةُ السنوية في المُحصَّل قيمةَ المشروع كاملةً خلال أقل من شهرين من التشغيل.</p></div>
<div class="card"><div class="card-ico"><svg class="ico"><use href="#i-plus"/></svg></div><h4>خصم التوقيع المبكر</h4> <div class="card"><div class="card-ico"><svg class="ico"><use href="#i-plus"/></svg></div><h4>خصم التوقيع المبكر</h4>
<p>عند التوقيع خلال ٣٠ يومًا من تاريخ العرض: خصم <b class="num">5%</b> من الإجمالي &mdash; أي <span class="num">45,000</span> ج.م تُخصم من الدفعة الأخيرة.</p></div> <p>عند التوقيع خلال ٣٠ يومًا من تاريخ العرض: خصم <b class="num">5%</b> من الإجمالي &mdash; أي <span class="num">25,000</span> ج.م تُخصم من الدفعة الثانية.</p></div>
<div class="card"><div class="card-ico sky"><svg class="ico"><use href="#i-layers"/></svg></div><h4>المرحلة الثانية</h4> <div class="card"><div class="card-ico sky"><svg class="ico"><use href="#i-layers"/></svg></div><h4>المرحلة الثانية</h4>
<p>الحجوزات والمحفظة والمطاعم والقرى والشكاوى والأخبار &mdash; تُسعَّر على حدة عند طلبها، وتُبنى فوق النظام نفسه دون هدم ولا إعادة بناء.</p></div> <p>الحجوزات والمحفظة والمطاعم والقرى والشكاوى &mdash; تُسعَّر على حدة عند طلبها، وتُبنى فوق النظام نفسه دون هدم ولا إعادة بناء.</p></div>
</div> </div>
</div> </div>
</section> </section>
...@@ -888,16 +953,20 @@ ...@@ -888,16 +953,20 @@
<p>هذا هو الوضع الطبيعي، وقد صُمِّم النظام له. القوالب تقبل الحقول الإلزامية فقط (كود العضوية والاسم ورقم الموبايل)، وكل ما عداها اختياري يُستكمل لاحقًا من شاشات البوابة. ومرحلة المطابقة تستوعب أي تسمية أعمدة لديكم. لن نطلب منكم إعادة إدخال أي بيانات يدويًا.</p></details> <p>هذا هو الوضع الطبيعي، وقد صُمِّم النظام له. القوالب تقبل الحقول الإلزامية فقط (كود العضوية والاسم ورقم الموبايل)، وكل ما عداها اختياري يُستكمل لاحقًا من شاشات البوابة. ومرحلة المطابقة تستوعب أي تسمية أعمدة لديكم. لن نطلب منكم إعادة إدخال أي بيانات يدويًا.</p></details>
<details class="faq"><summary>هل نحتاج موظفًا متخصصًا لتشغيل البوابة؟</summary> <details class="faq"><summary>هل نحتاج موظفًا متخصصًا لتشغيل البوابة؟</summary>
<p>لا. البوابة مصمَّمة لموظف إداري عادي يجيد استخدام Excel. التدريب يومان، والعمل اليومي المعتاد لا يتجاوز رفع ملف المستحقات الشهري ومتابعة لوحة التحصيل.</p></details> <p>لا. البوابة مصمَّمة لموظف إداري عادي يجيد استخدام Excel. التدريب يومان، والعمل اليومي المعتاد لا يتجاوز رفع ملف المستحقات الشهري ومتابعة لوحة التحصيل.</p></details>
<details class="faq"><summary>متى يبدأ العمل، ومتى نستلم؟</summary>
<p>يبدأ التنفيذ فور توقيع العقد وسداد الدفعة الأولى، ولا ننتظر وصول ملف الأعضاء ولا فتح الحسابات &mdash; نبني بالبيانات التجريبية ونستبدلها ببياناتكم فور وصولها. المدة أسبوعان إذا وصلت البيانات والحسابات مبكرًا، وأربعة أسابيع في الحد الأقصى. وما يؤخر الإطلاق هو تأخر هذه المدخلات وحدها.</p></details>
<details class="faq"><summary>من يملك التطبيق والبيانات؟</summary> <details class="faq"><summary>من يملك التطبيق والبيانات؟</summary>
<p>النادي. التطبيق يُنشر على المتجرين باسم نادي الصيد المصري وتحت حساباته، والبيانات ملك النادي بالكامل مع حق تصديرها في أي وقت. نسلّم الكود المصدري للنادي عند سداد الدفعة الأخيرة.</p></details> <p>النادي. التطبيق يُنشر على المتجرين باسم نادي الصيد المصري وتحت حساباته، والبيانات ملك النادي بالكامل مع حق تصديرها في أي وقت. نسلّم الكود المصدري للنادي عند سداد الدفعة الثانية.</p></details>
<details class="faq"><summary>هل يشمل العرض الدعم الفني والصيانة بعد الإطلاق؟</summary> <details class="faq"><summary>هل يشمل العرض الدعم الفني والصيانة بعد الإطلاق؟</summary>
<p>لا. هذا عرض تنفيذ وتسليم: نبني النظام وننشره ونسلّمه بكوده المصدري، وينتهي التزامنا التعاقدي عند الإطلاق. الاستضافة تكون على حساب النادي منذ اليوم الأول، وأي دعم فني أو صيانة أو تطوير لاحق يُتفق عليه ويُسعَّر على حدة وقت طلبه. اخترنا هذه الصيغة لأنها تُبقي التكلفة قيمةً واحدة معلومة بلا التزامات سنوية مفتوحة.</p></details> <p>لا. هذا عرض تنفيذ وتسليم: نبني النظام وننشره ونسلّمه بكوده المصدري، وينتهي التزامنا التعاقدي عند الإطلاق. الاستضافة تكون على حساب النادي منذ اليوم الأول، وأي دعم فني أو صيانة أو تطوير لاحق يُتفق عليه ويُسعَّر على حدة وقت طلبه. اخترنا هذه الصيغة لأنها تُبقي التكلفة قيمةً واحدة معلومة بلا التزامات سنوية مفتوحة.</p></details>
<details class="faq"><summary>هل رسوم بوابة الدفع مشمولة؟</summary> <details class="faq"><summary>هل رسوم بوابة الدفع مشمولة؟</summary>
<p>رسوم الربط البرمجي مشمولة. أما عمولة المعاملات (عادة ١.٥٪ &mdash; ٢.٥٪ حسب البوابة والوسيلة) فهي علاقة مباشرة بين النادي وبوابة الدفع، ويمكن للنادي تحميلها على العضو أو استيعابها &mdash; والنظام يدعم الحالتين.</p></details> <p>رسوم الربط البرمجي مشمولة. أما عمولة المعاملات (عادة ١.٥٪ &mdash; ٢.٥٪ حسب البوابة والوسيلة) فهي علاقة مباشرة بين النادي وبوابة الدفع، ويمكن للنادي تحميلها على العضو أو استيعابها &mdash; والنظام يدعم الحالتين.</p></details>
<details class="faq"><summary>من يرفع أخبار النادي، وهل نحتاج مصمِّمًا؟</summary>
<p>يرفعها موظف الإدارة من البوابة مباشرة: عنوان ونص وصور، ثم نشر. لا حاجة إلى مصمِّم ولا إلى أي معرفة تقنية، ويصل الإشعار لأعضاء التطبيق فور النشر. عدد المنشورات والصور غير محدود.</p></details>
<details class="faq"><summary>ماذا لو أردنا المرحلة الثانية لاحقًا؟</summary> <details class="faq"><summary>ماذا لو أردنا المرحلة الثانية لاحقًا؟</summary>
<p>النظام مبني على واجهة برمجية موثقة وقاعدة بيانات مفتوحة لكم، فأي إضافة مستقبلية &mdash; حجوزات، محفظة، مطاعم، أو ربط بنظام ERP كامل &mdash; تُبنى فوق ما سُلِّم دون إعادة بناء ودون هدر ما دُفع.</p></details> <p>قاعدة البيانات مفتوحة لكم والنظام مبني ليُضاف إليه، فأي إضافة مستقبلية &mdash; حجوزات أو محفظة أو مطاعم أو ربط بنظام محاسبي كامل &mdash; تُبنى فوق ما سُلِّم دون إعادة بناء ودون هدر ما دُفع.</p></details>
<details class="faq"><summary>ما مدة صلاحية هذا العرض؟</summary> <details class="faq"><summary>ما مدة صلاحية هذا العرض؟</summary>
<p><span class="num">30</span> يومًا من تاريخ تقديمه. الأسعار بالجنيه المصري وغير شاملة ضريبة القيمة المضافة، وتخضع للمراجعة بعد انتهاء المدة.</p></details> <p><span class="num">30</span> يومًا من تاريخ تقديمه. <strong>الأسعار بالجنيه المصري وغير شاملة ضريبة القيمة المضافة</strong>، وتخضع للمراجعة بعد انتهاء المدة.</p></details>
</div> </div>
</div> </div>
</section> </section>
...@@ -906,9 +975,9 @@ ...@@ -906,9 +975,9 @@
<img src="assets/al-arcade-white.png" alt="AL-Arcade"> <img src="assets/al-arcade-white.png" alt="AL-Arcade">
<div style="font-family:var(--f-head);font-weight:800;color:#fff;font-size:1.05rem;">شركة الأركيد &mdash; AL-Arcade</div> <div style="font-family:var(--f-head);font-weight:800;color:#fff;font-size:1.05rem;">شركة الأركيد &mdash; AL-Arcade</div>
<p style="font-size:.85rem;max-width:520px;margin:10px auto 0;line-height:1.9;"> <p style="font-size:.85rem;max-width:520px;margin:10px auto 0;line-height:1.9;">
عرض فني ومالي مقدَّم إلى مجلس إدارة نادي الصيد المصري &mdash; المرحلة الأولى: تطبيق الأعضاء وبوابة البيانات. عرض فني ومالي مقدَّم إلى مجلس إدارة نادي الصيد المصري &mdash; المرحلة الأولى: تطبيق الأعضاء وبوابة الإدارة والمحتوى.
</p> </p>
<div class="fl"><span>900,000 ج.م</span><span>4 &ndash; 6 أسابيع</span><span>iOS + Android</span><span>تسليم كامل بالكود المصدري</span></div> <div class="fl"><span>500,000 ج.م غير شاملة ض.ق.م</span><span>2 &ndash; 4 أسابيع</span><span>دفعتان</span><span>تسليم كامل بالكود المصدري</span></div>
<small>وثيقة سرية &mdash; لا تُتداول خارج مجلس الإدارة &mdash; 2026</small> <small>وثيقة سرية &mdash; لا تُتداول خارج مجلس الإدارة &mdash; 2026</small>
</footer> </footer>
......
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
var NOTES = { var NOTES = {
login: { t:'الدخول برقم الموبايل', login: { t:'الدخول برقم الموبايل',
p:'يدخل العضو برقم موبايله المسجَّل في بيانات النادي، دون إنشاء حساب أو كلمة مرور، ودون تفعيل يدوي من أي موظف.', p:'يدخل العضو برقم موبايله المسجَّل في بيانات النادي، دون إنشاء حساب أو كلمة مرور، ودون تفعيل يدوي من أي موظف.',
b:['التعرف الفوري على العضو من ملف الأعضاء المرفوع','كود تحقق OTP صالح لدقيقتين','جهاز واحد نشط لكل عضوية لمنع تداول الحساب'] }, b:['التعرف الفوري على العضو من ملف الأعضاء المرفوع','كود تحقق صالح لدقيقتين','جهاز واحد نشط لكل عضوية لمنع تداول الحساب'] },
home: { t:'الشاشة الرئيسية', home: { t:'الشاشة الرئيسية',
p:'تعرض حالة العضوية وإجمالي المستحق وطريقة السداد في موضع واحد، وتغني البطاقة الرقمية عن الكارنيه الورقي.', p:'تعرض حالة العضوية وإجمالي المستحق وطريقة السداد في موضع واحد، وتغني البطاقة الرقمية عن الكارنيه الورقي.',
b:['حالة العضوية وتاريخ سريانها','إجمالي المستحق مع تنبيه التأخير','اشتراكات الأبناء ورصيد الدعوات'] }, b:['حالة العضوية وتاريخ سريانها','إجمالي المستحق مع تنبيه التأخير','اشتراكات الأبناء ورصيد الدعوات'] },
...@@ -74,6 +74,12 @@ ...@@ -74,6 +74,12 @@
schedule: { t:'جداول التدريب', schedule: { t:'جداول التدريب',
p:'يرفع المدرب جدول مجموعته من قالب موحَّد، فيظهر لكل مشترك في تطبيقه، ويصل تنبيه فوري عند أي إلغاء أو حصة تعويضية.', p:'يرفع المدرب جدول مجموعته من قالب موحَّد، فيظهر لكل مشترك في تطبيقه، ويصل تنبيه فوري عند أي إلغاء أو حصة تعويضية.',
b:['جدول أسبوعي لكل لاعب على حدة','ملاحظات المدرب على الحصة','إشعار فوري بالتغييرات والحصص التعويضية'] }, b:['جدول أسبوعي لكل لاعب على حدة','ملاحظات المدرب على الحصة','إشعار فوري بالتغييرات والحصص التعويضية'] },
news: { t:'أخبار النادي',
p:'قسم أخبار داخل التطبيق تنشر عليه الإدارة الأخبار والفعاليات والبطولات بالصور، ويصل الإشعار للعضو فور النشر.',
b:['نشر من البوابة: عنوان ونص وصور','تصنيف الأخبار (بطولات، فعاليات، إعلانات)','إشعار فوري للأعضاء عند النشر'] },
article: { t:'صفحة الخبر',
p:'الخبر كاملًا بصوره داخل التطبيق دون فتح متصفح. الصور المعروضة في النموذج نائبة عن صور النادي الحقيقية التي تُرفع عند التشغيل.',
b:['عرض كامل بالصور داخل التطبيق','عدد غير محدود من المنشورات والصور','مشاركة الخبر خارج التطبيق'] },
receipts: { t:'الإيصالات', receipts: { t:'الإيصالات',
p:'كل عملية سداد تُنشئ إيصالًا فوريًا داخل التطبيق. جرّبوا السداد من شاشة المستحقات وسيظهر الإيصال هنا.', p:'كل عملية سداد تُنشئ إيصالًا فوريًا داخل التطبيق. جرّبوا السداد من شاشة المستحقات وسيظهر الإيصال هنا.',
b:['إيصال فوري بعد كل عملية','أرشيف كامل بوسيلة الدفع والتاريخ','قابل للتحميل بصيغة PDF'] }, b:['إيصال فوري بعد كل عملية','أرشيف كامل بوسيلة الدفع والتاريخ','قابل للتحميل بصيغة PDF'] },
...@@ -144,7 +150,8 @@ ...@@ -144,7 +150,8 @@
members: 'https://portal.sayd-club.eg/members', members: 'https://portal.sayd-club.eg/members',
catalog: 'https://portal.sayd-club.eg/activities/pricing', catalog: 'https://portal.sayd-club.eg/activities/pricing',
invites: 'https://portal.sayd-club.eg/invitations/policy', invites: 'https://portal.sayd-club.eg/invitations/policy',
sched: 'https://portal.sayd-club.eg/schedules' sched: 'https://portal.sayd-club.eg/schedules',
news: 'https://portal.sayd-club.eg/news'
}; };
var burl = document.getElementById('burl'); var burl = document.getElementById('burl');
var pBtns = document.querySelectorAll('.pn-item[data-pscr]'); var pBtns = document.querySelectorAll('.pn-item[data-pscr]');
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment