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
editorandadminroles via Next.js middleware and backendauthorizemiddleware.
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
Tablecomponent with support for pagination and filtering. - Forms: Managed with
react-hook-formand 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
MainLayoutWrapperto hide the global header and show the Studio sidebar.

