> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pyqdeck.in/llms.txt
> Use this file to discover all available pages before exploring further.

# Studio (Admin Panel)

> Documentation for the PyqDeck management interface

## Overview

The **Studio** is the administrative heart of PyqDeck. It allows editors and admins to manage the academic hierarchy, process papers, and monitor system health.

* **URL**: `/studio`
* **Access Control**: Restricted to `editor` and `admin` roles via Next.js middleware and backend `authorize` middleware.

## Core Management Modules

### 1. Universities

* **Page**: `/studio/universities`
* **Actions**: List, Create, Edit, Delete (soft), and Search universities.
* **Bulk Import**: Support for importing university lists from JSON/CSV.

### 2. Branches

* **Page**: `/studio/branches`
* **Actions**: Manage academic branches/departments. Must be linked to a University.

### 3. Semesters

* **Page**: `/studio/semesters`
* **Actions**: Define the number of semesters for each branch.

### 4. Subjects & Offerings

* **Pages**: `/studio/subjects`, `/studio/offerings`
* **Logic**: Subjects are defined globally, while "Offerings" link them to specific university/branch/semester combinations with specific regulations (e.g., C-Scheme).

### 5. Syllabus Management

* **Page**: `/studio/syllabus`
* **Actions**: Build the syllabus structure (Modules and Topics) for each subject offering. This is critical for mapping questions to specific parts of the curriculum.

### 6. User Management

* **Page**: `/studio/users`
* **Actions**: View all synced users and manage their internal roles (`normal`, `editor`, `admin`).

## Operational Modules

### Analytics

* **Page**: `/studio/analytics`
* **Metrics**: Track paper views, question search popularity, and user growth.

### AI Configuration

* **Page**: `/studio/settings`
* **Actions**: Configure AI providers (Gemini, OpenAI) for automated question parsing and solution generation.

## Technical Implementation

* **Data Tables**: Built using shadcn/ui `Table` component with support for pagination and filtering.
* **Forms**: Managed with `react-hook-form` and validated via Zod schemas.
* **State**: Mix of server-side data fetching (for lists) and client-side state for modals and forms.
* **Layout**: Uses a specialized `MainLayoutWrapper` to hide the global header and show the Studio sidebar.
