Digital Artistry
Admin Panel Access
or
Only users with Admin role in the database can access this panel.
Back to Site
Visit Site
A
Admin
Dashboard
Welcome back. Here's your store at a glance.
Products
Reviews
Blog Posts
Users
Recent Products
Recent Reviews
Add New Product
Fill in details and upload images to Firebase Storage.
Product Details
Drag & drop images or click to browse
PNG, JPG, WEBP — Multiple allowed — Max 5MB each
Emoji fallback:
Manage Products
Edit or delete existing products. Changes sync instantly to the main site.
All Products (0)
Blog Posts & Updates
Publish updates that appear instantly on the main site.
New Post
Drag & drop or click to browse
Emoji fallback:
Published Posts (0)
Customer Reviews
Add, edit or delete reviews. Syncs to testimonials instantly.
Add New Review
Upload customer photo or click to browse
All Reviews (0)
Free Designs
Upload free downloadable designs (PDF, PNG, SVG). They appear instantly on the main site's "Daily Free Designs" section.
Add New Free Design
Drag & drop preview image or click to browse
PNG, JPG — Max 5MB
Upload the actual design file or click to browse
PDF, PNG, SVG, JPG, ZIP — Max 5MB
Published Free Designs (0)
Offers & Announcements
Create offer banners that appear at the top of the main site. Users can dismiss them once. Each offer can link to a page or URL.
Create New Offer
Active Offers (0)
Settings
Manage Firebase Database rules and site settings.
Firebase Database Rules

Copy these rules into your Firebase Console → Realtime Database → Rules:

{
  "rules": {
    "products": {
      ".read": true,
      ".write": "auth != null && root.child('users').child(auth.uid).child('role').val() === 'admin'"
    },
    "posts": {
      ".read": true,
      ".write": "auth != null && root.child('users').child(auth.uid).child('role').val() === 'admin'"
    },
    "reviews": {
      ".read": true,
      ".write": "auth != null && root.child('users').child(auth.uid).child('role').val() === 'admin'"
    },
    "users": {
      ".read": "auth != null && root.child('users').child(auth.uid).child('role').val() === 'admin'",
      "$uid": {
        ".read": "auth != null && auth.uid === $uid",
        ".write": "auth != null && (auth.uid === $uid || root.child('users').child(auth.uid).child('role').val() === 'admin')"
      }
    },
    "settings": {
      ".read": true,
      ".write": "auth != null && root.child('users').child(auth.uid).child('role').val() === 'admin'"
    }
  }
}

Firebase Storage Rules:

rules_version = '2';
service firebase.storage {
  match /b/{bucket}/o {
    match /products/{allPaths=**} {
      allow read: if true;
      allow write: if request.auth != null;
    }
    match /posts/{allPaths=**} {
      allow read: if true;
      allow write: if request.auth != null;
    }
    match /reviews/{allPaths=**} {
      allow read: if true;
      allow write: if request.auth != null;
    }
    match /users/{userId}/{allPaths=**} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
  }
}
Grant Admin Role

Enter a Firebase User UID to grant them admin access:

Post
Edit Product
Edit Review