partner.gharseapp.com, admin.gharseapp.com, gamification system, vouchers, daily check-in
GHAR SE — PHASE 2 COMPLETE BUILD PROMPT partner.gharseapp.com | admin.gharseapp.com | Gamification | Version 7.0 | June 2026 Give this entire document to OpenCode / DeepSeek / any AI developer. Zero additional instructions needed. 1. PHASE 2 CONTEXT & SCOPE Phase 1 built the public website (gharseapp.com). Phase 2 completes the three core portals: Partner Portal (partner.gharseapp.com), Admin Panel (admin.gharseapp.com), and adds the Gamification system across web + app. Same backend API (api.gharseapp.com) — NO backend changes needed unless endpoint is missing. Design system is identical to Phase 1 (same colors, fonts, components). Existing Infrastructure (DO NOT CHANGE): (cid:127) API: api.gharseapp.com (Node.js/Express, PM2 x6, port 3000) (cid:127) Database: PostgreSQL gharse_db (100+ tables, all migrations done) (cid:127) Auth: JWT + HttpOnly cookies, OTP via email (Brevo), no SMS (cid:127) Storage: Cloudflare R2 (images auto-compressed via Sharp to WebP) (cid:127) Real-time: Socket.io + Firebase RTDB (ride tracking, chat) (cid:127) Queue: BullMQ + Redis (16 scheduled workers) (cid:127) Maps: Leaflet.js + OpenStreetMap ONLY — NO Google Maps API (cid:127) Payments: Manual QR/proof upload only — NO payment gateway yet 2. DESIGN SYSTEM (SAME AS PHASE 1 — MANDATORY) Colors: (cid:127) Primary Orange: #FF6B35 — buttons, CTAs, active states (cid:127) Background Dark: #0D0D0D — main page background (cid:127) Surface Dark: #1A1A1A — cards, panels, sections (cid:127) Surface Mid: #242424 — input fields, hover states (cid:127) Text Primary: #FFFFFF | Text Secondary: #AAAAAA | Text Muted: #666666 (cid:127) Success: #22C55E | Warning: #F59E0B | Error: #EF4444 (cid:127) Orange Gradient: linear-gradient(135deg, #FF6B35 0%, #FF4500 100%) Typography: Google Fonts: 'Plus Jakarta Sans' (main) + 'Noto Nastaliq Urdu' (Urdu text, direction: rtl) Font sizes: h1=48px, h2=36px, h3=28px, body=16px, small=14px Components: (cid:127) Border radius: buttons=12px, cards=16px, inputs=12px, mod