Skip to Content
FeaturesDeveloper Studio

Developer Studio

Overview

Siyahfy Studio (studio.siyahfy.com) is a browser-based IDE purpose-built for creating Siyahfy storefront themes. Developers register for a Studio account, build themes using React/TypeScript, preview them in real time, and submit them to the Theme Marketplace for review. The Studio includes a code editor, file explorer, terminal, schema validator, and live preview — all inside the browser.

How It Works

IDE Features

The Studio IDE provides a VS Code-like development experience:

FeatureDescription
Code EditorMonaco-based editor with syntax highlighting, autocomplete, and error detection
File ExplorerNavigate sections/, widgets/, templates/, config/, and assets/ directories
Live PreviewReal-time rendering of theme sections as you code
TerminalBuild output and error logs
Schema PanelVisual display of parsed JSDoc schema for the active section
Problems PanelCompilation errors and warnings

Theme File Structure

sections/ -- Theme sections (HeroBanner, ProductGrid, etc.) widgets/ -- Reusable UI widgets templates/ -- Page layouts (home.json, product.json, collection.json) config/ -- Global settings (global-settings.json) assets/ -- CSS files and static images

JSDoc Type System

Sections use JSDoc annotations to define their settings schema. The Theme Editor reads these annotations to generate the vendor-facing settings UI automatically.

/** @section HeroBanner */ /** @max_blocks 5 */ interface Props { settings: { /** @label Heading @tab content */ heading: string; /** @label Background Image @type image @tab content */ background: string; /** @label Overlay Opacity @min 0 @max 100 @tab style */ overlay_opacity: number; /** @label Color Scheme @type color_scheme @tab style */ color_scheme: string; }; }

Supported JSDoc type annotations include: @label, @tab, @type (image, color, color_scheme, url, richtext, html, range, font, video), @min, @max, @max_blocks, @block, @name, @info, @placeholder.

Developer Earnings & Revenue Split

Developers earn 80% of each paid theme sale. Siyahfy takes 20% as platform commission.

Example: ₹1000 theme sale → Developer gets ₹800, Platform keeps ₹200

Minimum payout: ₹500

The Studio earnings dashboard (/earnings) shows:

  • Summary Cards — Total Revenue, Your Earnings (80%), Platform Fee (20%), Pending Balance, Total Paid Out
  • Monthly Trend Chart — Area chart, last 6 months
  • Revenue Split Chart — Donut chart (80/20)
  • Per-Theme Breakdown — Bar chart showing earnings by theme
  • Transaction History — Last 20 sales with full split details
  • Payout History — Past payouts with linked earnings

Bank Verification & Payouts

Before requesting payouts, developers must verify bank details at /profile/bank:

  1. Add Bank Details — Account number, IFSC, holder name (+ optional UPI, PAN, GST)
  2. Admin Verification — 1-2 business days
  3. Request Payout — Click “Request Payout” when verified
  4. Processing — Admin processes bank transfer (5-7 business days)
  5. Completed — Payment received

Verification states: nonependingverified (or rejected with reason)

Key API Endpoints

Studio Authentication

POST/api/studio/auth/register

Register a new developer account

POST/api/studio/auth/send-otp

Send OTP to developer's email for verification

POST/api/studio/auth/verify-otp

Verify OTP to complete email verification

POST/api/studio/auth/login

Login with email and password

POST/api/studio/auth/google-login

Login or register via Google OAuth

POST/api/studio/auth/meAuth Required

Get current developer's profile

POST/api/studio/auth/update-profileAuth Required

Update developer profile details

POST/api/studio/auth/forgot-password

Request password reset OTP

POST/api/studio/auth/reset-password

Reset password using OTP

Developer Apps & Themes

GET/api/developer/overviewAuth Required

Get developer dashboard overview (theme count, installs, revenue)

GET/api/developer/analyticsAuth Required

Get detailed developer analytics (installs over time, revenue trends)

GET/api/developer/my-appsAuth Required

List all apps/themes created by the developer

GET/api/developer/my-apps/:app_idAuth Required

Get details of a specific app/theme

POST/api/developer/appsAuth Required

Create a new app listing

POST/api/developer/apps/:app_id/pricing-plansAuth Required

Create pricing plans for an app

POST/api/developer/apps/:app_id/credit-packsAuth Required

Create credit packs for an app

PUT/api/developer/apps/:app_id/credit-packs/:pack_idAuth Required

Update a credit pack

DELETE/api/developer/apps/:app_id/credit-packs/:pack_idAuth Required

Delete a credit pack

POST/api/developer/plan-views/track

Track when a vendor views a pricing plan

Developer Earnings & Payouts

GET/api/marketplace/developer/earningsAuth Required

Full earnings dashboard: summary, recent transactions, monthly trends, payout history, per-theme breakdown

POST/api/marketplace/developer/request-payoutAuth Required

Request payout for pending earnings (min ₹500, requires verified bank)

GET/api/marketplace/developer/bank-detailsAuth Required

Get developer's bank account details and verification status

POST/api/marketplace/developer/bank-detailsAuth Required

Add or update bank details (account number, IFSC, holder name, UPI, PAN, GST)

Database Tables

TablePurpose
studio_developersDeveloper accounts — name, email, password hash, Google OAuth ID
marketplace_themesTheme listings with developer_id foreign key
marketplace_theme_versionsTheme code and version history
developer_appsApp listings for the developer program
developer_bank_detailsBank account info for developer payouts
developer_payoutsPayout requests and processing status
developer_earningsEarnings records per theme sale