Cloudinary
Unsigned preset only. Product pages are now lightweight CDN links instead of embedded base64 images.

Firebase activation
The provided web config is public and safe to embed. The current project has no enabled database yet, so the adapter runs in local mode until you create one.
Current data
Only the opened page's paths are fetched; changed records are pushed one by one.
What is ready in code
No Firebase SDK is loaded. REST + EventSource keep the pages small and fast.
Console steps & endpoints
Firebase testing returned CONFIGURATION_NOT_FOUND for Anonymous Auth and 404 for Firestore/RTDB. Create a database first.
1) Firebase console → Build → Realtime Database → Create database
2) Copy its URL, paste above, choose "Realtime Database", Save & reload
3) Firestore rules:
{ "rules": { "emkan": { "v1": { ".read": true, ".write": true } } } }
RTDB REST: https://zeeshan-project-385b3-default-rtdb.firebaseio.com/emkan/v1/applications.json
Firestore: https://firestore.googleapis.com/v1/projects/zeeshan-project-385b3/databases/(default)/documents/emkan/v1/applications
Anonymous: https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=AIzaSyCM8AV5QbPnRaOzaEMNMTvgjtbOcizv4RI
Backend root: emkan/v1 · live stream: EventSource on the opened path · local fallback: BroadcastChannel('emkan-sync')Firestore text & store seed
Publish all website text keys and the 51-product catalog into Firestore after the rules are live. Firestore rules are supplied separately.
Upload a proof to Cloudinary
This uses the same unsigned endpoint as payment.html and admin.html.
